直流电机调速程序

直流电机调速程序

ID:30922386

大小:201.28 KB

页数:9页

时间:2019-01-04

直流电机调速程序_第1页
直流电机调速程序_第2页
直流电机调速程序_第3页
直流电机调速程序_第4页
直流电机调速程序_第5页
资源描述:

《直流电机调速程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、//8254//8254//8254//电动机方向控制端II//电动机1正转//电动机1反转//电动机1反转//电动机2正转//电动机2反转//电动机2反转//8254//延时函数//定吋器T0初始#inelude#include#defineucharunsignedchar#defineuintunsignedint^defineCountOXBYTE[Oxlfff]计数器0^defineCount1XBYTE[0x3fff]计数器1ttdefineCon_wordXBYTE[0x7fff]控制字#dcfincCon_MP3t

2、tdefinePos_Ml0x02^defineRe_Ml0x01#defineStoMl0x03^definePos_M20x08#dcfincRc_M20x04ttdefineSto_M20x0cuinttimel=10000,time2=10000;计数器0、计数器1初值ucharMl_flag=0,M2_flag=0;〃电机运行标志位/************************函声明***********************/voiddelay(uintn);voidinitTO(void);化—ucharM_turn(uchai'n);7/读正反转

3、设置函数ucharkeyscan(void);〃键盘扫描函数voidmotorstar(ucharnum);//电机启动函数voidmotor_stop(ucharnum);//£机制动函数voidmotor_inc(ucharnum);//也机加速函数voidmotor_dec(ucharnum);//窃机减速函数voidkeymanage(ucharnum);〃键值处理函数main()ucharkeynum;init_T0();//按键监视程序//键盘处理程序while(1)keynum=key_scan();keymanage(keynum);voiddelay

4、(uintn)uchari,j;for(i=0;i0;j—);}voidinit_T0(void){~TMOD二0x01;TH0=0x4c;〃工作方式1//定时50ms//重载定时器TO初值〃写8254计数器0初值//写8254计数器1初值TLO二0x00;EA=1;TRO=1;}/********************定吋器TO屮断服务程序****************/voidtimerO(void)interrupt1{TRO二0;TH0=0x4c;TLO二0x00;Conword=0x30;Count0=(uchar)(

5、timel/256);Count0=(uchar)(timel%256);Con_word=0x70;Count0=(uchar)(time2/256);Count0=(uchar)(time2%256);TRO二1;ucharMturn(ucharn)uchartemp,turn;temp二(P3&0x30)»4;if(n==l)tcmp&=0x01;switch(temp){case0x00:turn=Re_Ml;break;case0x01:turn=Pos_Ml;break;}}else{temp二(temp&0x02)>>1;switch(temp){cas

6、e0x00:turn=Re_M2;break;case0x01:turn=Pos_M2;break;return(turn);voidmotorstar(ucharnum)〃读电机控制状态//电动机1未启动//读电机1设置//设定启动速度//若电动机2未启动//读电机2设置uchartempi,temp2;tcmpl二Con_M;if((num==l)&(Ml_flag!=1)){"Ml_flag=l;temp2=M_turn(1);Con_M二(tcmpl&Oxfc)

7、tcmp2;//送电机1压制timel=10000;}elseif((num==2)&(M2_fl

8、ag!=l)){M2_flag=l;temp2=M_turn(2);Con_M二(tcmpl&Oxfc)

9、tcmp2;//送电机1压制time2=10000;//设定启动速度voidmotorstop(ucharnum)〃读电机控制状态//电动机1启动//读电机1设置//若电动机2启动//读电机2设置voidmotorinc(ucharnum)uchartempl,temp2;tcmpl=Con_M»if((num==1)&(Ml_flag==1)){"Ml_flag=0;temp2=Sto_Ml;Con_M二(tcmpl&Oxfc)

10、tcmp2;/

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

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

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