云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的直流电机PWM调速控制系统的设计(DOC)

基于单片机的直流电机PWM调速控制系统的设计(DOC)

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 8:41:35

基于单片机AT89S52的直流电机PWM调速控制系统

2、反转时,电机反转,数码管最高位显示“F”,其它三位先所给定频率,如

下图:

3、输出波形如下:

4、加速分5档,波形依次如下:

5、减速分5档,波形如下:

第5页 共11页

基于单片机AT89S52的直流电机PWM调速控制系统

第五章:程序

见附件1

第六章:PCB图

见附件2

第七章:元件清单

见附件3

第八章:心得体会

附件1

/***************基于单片机AT89C51的直流电机PWM调速控制系统*************/ /*******************地点:广东松山职业技术学院************************/ /****************班级:2009级检测技术及应用****************************/ /*****************指导老师:张军涛***********************************/ /***************时间:2011年7月1日***********************************/ /************头文件*********/

#include #include #include

/************************** /

/********自定义变量********/

#define uint unsigned int //自定义变量 #define uchar unsigned char char gw,sw,bw,qw;

uchar j; //定时次数,每次20ms

第6页 共11页

基于单片机AT89S52的直流电机PWM调速控制系统

uchar f=5; //计数的次数

sbit P10=P1^0; //PWM输出波形1 sbit P11=P1^1; //PWM输出波形2 sbit P12=P1^2; //正反转 sbit P13=P1^3; //加速 sbit P14=P1^4; //减速 sbit P15=P1^5; //停止 sbit P16=P1^6; //启动 uchar k;

uchar t; //脉冲加减

/**************************/*

/*********控制位定义********************/ uchar code smg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71};//程序存储区定义字型码表

char data led[4]={0x08,0x04,0x02,0x01}; //位码 uint x; //数码管显示的数值 display(); //数码管显示 delays(); //延时函数 key();

displays();

/*****************************************/

/***************主函数********************/ main (void) { TMOD=0x51; //T0方式1 定时计数 T1方式1计数 TH0=0xb1; //装入初值 20MS TL0=0xe0; TH1=0x00; // 计数567 TL1=0x00; TR0=1; //启动 t0 TR1=1; //启动t1 gw=sw=bw=qw=0; //数码管初始化 P0=0xc0; P2=1; while(1) //无限循环 { display(); //数码管显示 key(); } }

/*****************************************/

第7页 共11页

基于单片机AT89S52的直流电机PWM调速控制系统

/***************数码管显示****************/ display() { uchar i; gw=x; //求速度个位值,送到个位显示缓冲区 sw=(x/10); //求速度十位值,送到十位显示缓冲区 bw=(x/100); //求速度百位值,送到百位显示缓冲区 qw=x/1000; //求速度千位值,送到千位显示缓冲区 for(i=0;i<4;) { P2=led[i]; if(i==0) //显示个位 { P0=smg[gw]; delays(); } else if(i==1) //显示十位 { P0=smg[sw]; delays(); } else if(i==2) //显示百位 { P0=smg[bw]; delays(); } else if(i==3) //显示千位 { if(k==0) //正转时显示\三\ { P0=0x49; delays(); } else { P0=0x71; //反转时显示\ } } i++; } }

/*******************************************************/

第8页 共11页

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

基于单片机AT89S52的直流电机PWM调速控制系统 2、反转时,电机反转,数码管最高位显示“F”,其它三位先所给定频率,如下图: 3、输出波形如下:4、加速分5档,波形依次如下: 5、减速分5档,波形如下: 第5页 共11页 基于单片机AT89S52的直流电机PWM调速控制系统 第五章:程序 见附件1 第六章:PCB图 见附件2 第七章:元件清单 见附件3 第八章:心得体会 附件1 /*********

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com