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

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

ID:10979441

大小:235.00 KB

页数:5页

时间:2018-07-09

基于51单片机的直流电机pwm闭环控制实验_第1页
基于51单片机的直流电机pwm闭环控制实验_第2页
基于51单片机的直流电机pwm闭环控制实验_第3页
基于51单片机的直流电机pwm闭环控制实验_第4页
基于51单片机的直流电机pwm闭环控制实验_第5页
资源描述:

《基于51单片机的直流电机pwm闭环控制实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、tunsignedint#defineucharunsignedchar#defineuongunsignedlongsbitP_7=P3^7;bitOVER;uintk,dt;uongKEYNUM;ucharqu,NUM;voidDelay(uintms){            while(--ms);}voidtimer0(void)interrupt1using1{           TL0=-(10248%256);           TH0=-(10248%256);           NUM+=1;           if(NUM

3、>=10){             TR1=0;             TR0=0;             OVER=1;           }}uintCK(void){           uintnumber=0;           P_7=1;           OVER=0;NUM=0;           EA=1;ET0=1;           TH0=(10203/256);           TH0=(10203%256);           TH1=0;           TL1=0;           TMO

4、D=0x51;           TR0=1;           TR1=1;           Delay(dt);           P_7=0;           while(!OVER);           OVER=0;           number=TH1*256+TL1;           return(number);}voidDisplay_LED(uongnu){           uintii=0;           uongaa,bb;           uintxx[]={-0x10,-0x10,-0x

5、10,-0x10,-0x10,-0x10,-0x10,-0x10};           do           {             bb=nu/10;             aa=nu-bb*10;             xx[ii]=aa;             nu=bb;ii++;           }while(nu>0);           DIGPORT=0xf0;WORDPORT=0x30+xx[0];           DIGPORT=0xf1;WORDPORT=0x30+xx[1];           DIG

6、PORT=0xf2;WORDPORT=0x30+xx[2];           DIGPORT=0xf3;WORDPORT=0x30+xx[3];           DIGPORT=0x0f;WORDPORT=0x30+xx[4];           DIGPORT=0x1f;WORDPORT=0x30+xx[5];           DIGPORT=0x2f;WORDPORT=0x30+xx[6];           DIGPORT=0x3f;WORDPORT=0x30+xx[7];}voidgetkey(){       qu=0;k=0

7、;       KEYNUM=0;       do       {           switch(KEYPORT)           {             case0xbd:               KEYNUM=KEYNUM*10;               break;             case0xf6:                KEYNUM=KEYNUM*10+1;                break;             case0xf5:                KEYNUM=KEYNUM*1

8、0+2;                break;             case0xf3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。