基于51单片机的直流电机pwm闭环控制实验

上传人:wt****50 文档编号:35316342 上传时间:2018-03-14 格式:DOC 页数:5 大小:235KB
返回 下载 相关 举报
基于51单片机的直流电机pwm闭环控制实验_第1页
第1页 / 共5页
基于51单片机的直流电机pwm闭环控制实验_第2页
第2页 / 共5页
基于51单片机的直流电机pwm闭环控制实验_第3页
第3页 / 共5页
基于51单片机的直流电机pwm闭环控制实验_第4页
第4页 / 共5页
基于51单片机的直流电机pwm闭环控制实验_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于51单片机的直流电机pwm闭环控制实验》由会员分享,可在线阅读,更多相关《基于51单片机的直流电机pwm闭环控制实验(5页珍藏版)》请在金锄头文库上搜索。

1、基于基于 51 单片机的直流电机单片机的直流电机 PWM 闭环控制实验闭环控制实验 从光驱上拆了一个直流电机组件(这种服务器上用的光驱很难找),有现成的码盘和光耦,给它配了一个板子很方便就成了我的直流电机的实验模块,再配上小键盘和显示模块,我的单片机闭环控制直流电机的一个实验装置就这样 OK 了。先键入转速,按#键确认,开始启动电机,显示屏实时显示电机转速,可看到转速在所设数值上下摆动,最后稳定在 20 左右的摆幅。其 C 语言程序如下:#include #define DIGPORT P2#define WORDPORT P0#define KEYPORT P1#define uint un

2、signed int#define uchar unsigned char#define uong unsigned longsbit P_7=P37;bit OVER;uint k,dt;uong KEYNUM; uchar qu,NUM;void Delay(uint ms)while(-ms);void timer0(void) interrupt 1 using 1TL0=-(10248%256);TH0=-(10248%256);NUM+=1;if(NUM=10)TR1=0;TR0=0;OVER=1;uint CK(void)uint number=0;P_7=1;OVER=0;NU

3、M=0;EA=1;ET0=1;TH0=(10203/256);TH0=(10203%256);TH1=0;TL1=0;TMOD=0x51;TR0=1;TR1=1;Delay(dt);P_7=0;while (!OVER);OVER=0;number=TH1*256+TL1;return(number);void Display_LED(uong nu)uint ii=0;uong aa,bb;uint xx=-0x10,-0x10,-0x10,-0x10,-0x10,-0x10,-0x10,-0x10;dobb=nu/10;aa=nu-bb*10;xxii=aa;nu=bb;ii+;while

4、(nu0);DIGPORT=0xf0; WORDPORT=0x30+xx0;DIGPORT=0xf1; WORDPORT=0x30+xx1;DIGPORT=0xf2; WORDPORT=0x30+xx2;DIGPORT=0xf3; WORDPORT=0x30+xx3;DIGPORT=0x0f; WORDPORT=0x30+xx4;DIGPORT=0x1f; WORDPORT=0x30+xx5;DIGPORT=0x2f; WORDPORT=0x30+xx6;DIGPORT=0x3f; WORDPORT=0x30+xx7;void getkey()qu=0;k=0;KEYNUM=0;doswitc

5、h(KEYPORT)case 0xbd:KEYNUM=KEYNUM*10;break;case 0xf6:KEYNUM=KEYNUM*10+1;break;case 0xf5:KEYNUM=KEYNUM*10+2;break;case 0xf3:KEYNUM=KEYNUM*10+3;break;case 0xee:KEYNUM=KEYNUM*10+4;break;case 0xed:KEYNUM=KEYNUM*10+5;break;case 0xeb:KEYNUM=KEYNUM*10+6;break;case 0xde:KEYNUM=KEYNUM*10+7;break;case 0xdd:KE

6、YNUM=KEYNUM*10+8;break;case 0xdb:KEYNUM=KEYNUM*10+9;break;case 0xbe:KEYNUM=KEYNUM/10;break;case 0xbb:qu=1;Delay(6000);Delay(6000);Delay(6000);Delay(6000);Delay(6000);Delay(6000);Delay(6000);Delay(6000);if(KEYNUM100000000) break;Display_LED(KEYNUM);while(qu=0);void main(void)uong f;P_7=0;dt=1000;getk

7、ey();for(;)f=0;f=CK()*12;Display_LED(f);if(fKEYNUM)if(fKEYNUM)来自: http:/ 来自: 艺新工作室 第一分享: chzmount 时间: 2010-12-26 17:28 评论: 0 条 投票: 0 次 本贴分享: 1 累计分享: 7 共有 0 人发表观点直接输入标签词,.目前还没有互动观点,输入您的互动观点 chzmount 的 博客 相关分享: jedit 很好的开发编辑器PWM 实现 ADC 和 DAC深圳电信宽带城中村区域查询EM78P153S/EM78P156E 单片机 RC 振荡电路设计 评论(0) 表情同时分享给好友 提交

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号