欢迎来到天天文库
浏览记录
ID:23544831
大小:74.19 KB
页数:5页
时间:2018-11-08
《键盘控制步进电机正反转调速》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include//51芯片管脚定义头文件#include//内部包含延时函数_nop_();#defineucharunsignedchar#defineuintunsignedintucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};sbitK1=P3^5;//正转sbitK2=P3^3;//
2、反转sbitK3=P3^5;sbitK4=P3^6;sbitK5=P3^7;//停止//sbitBEEP=P3^6;//蜂鸣器/********************************************************//*/*延时t毫秒/*11.0592MHz时钟,延时约1ms/*/********************************************************/voiddelay(uintt){uintk;while(t--){for(k=0;k<125;
3、k++){}}}/**********************************************************/voiddelayB(ucharx)//x*0.14MS{uchari;while(x--){for(i=0;i<13;i++){}}}/**********************************************************/voidbeep(){uchari;for(i=0;i<100;i++){delayB(4);//BEEP=!BEEP;//B
4、EEP取反}//BEEP=1;//关闭蜂鸣器}/********************************************************//*/*步进电机正转/*/********************************************************/voidmotor_ffw(){uchari;uintj;for(j=0;j<1;j++)//转1*n圈{if(K5==0){break;}//退出此循环程序for(i=0;i<8;i++)//一个周期转45度{P1
5、=FFW[i];//取数据delay(2);//调节转速}}}/********************************************************//*/*步进电机反转/*/********************************************************/voidmotor_rev(){uchari;uintj;for(j=0;j<1;j++)//转1×n圈{if(K5==0){break;}//退出此循环程序for(i=0;i<8;i++)//一个周
6、期转45度1{P1=REV[i];//取数据delay(2);//调节转速}}}voidmotor_ffw1(){uchari;uintj;for(j=0;j<1;j++)//转1*n圈{if(K5==0){break;}//退出此循环程序for(i=0;i<8;i++)//一个周期转45度{P1=FFW[i];//取数据delay(8);//调节转速}}}/********************************************************//*/*步进电机反转/*/********
7、************************************************/voidmotor_rev1(){uchari;uintj;for(j=0;j<1;j++)//转1×n圈{if(K5==0){break;}//退出此循环程序for(i=0;i<8;i++)//一个周期转45度{P1=REV[i];//取数据delay(8);//调节转速}}}/**********************************************************主程序********
8、**************************************************/main(){ucharr,N=1;//N步进电机运转圈数因为我们的步进电机是减速步进电机减速比是1/64所以这里N=64时步进电机外部的主轴转1圈while(1){if(K1==0){beep();while(1){for(r=0;r
此文档下载收益归作者所有