欢迎来到天天文库
浏览记录
ID:30922386
大小:201.28 KB
页数:9页
时间:2019-01-04
《直流电机调速程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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;/
此文档下载收益归作者所有