欢迎来到天天文库
浏览记录
ID:62695620
大小:15.25 KB
页数:9页
时间:2021-05-16
《单片机驱动步进电机程序代码.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、,******************************************************实现功能:正转程序使用芯片:AT89S52晶振:11.0592MHZ编译环境:Keil作者:【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!**/******************************************************#include//库文件#defineucharunsignedchar〃字符型宏定义#defineuintunsignedin
2、t〃整型宏定义uchartcnt;〃定时器计数初值定义uintsec;〃速度值定义ucharbuf[11];/********************ucharbai,shi,ge;控制位定义*************************/sbitshi_neng=P1A0;//使能控制位sbitfang_shi=P1Ai;//工作方式控制位精品资料sbitfang_xiang=P1A2;//旋转方向控制位/********************sbitmai_chong=P1A3;//脉冲控制位延时函数***
3、************************/voiddelay1ms(ucharz)ucharx,y;for(x=0;x4、越小,电机转动速度越快精品资料sec=0;〃计满重新再计mai_chong=~mai_chong;//脉冲输出}}/***********************}定时器0/1初始化****************************/voidT0_Init(){ET0=1;TMOD=0x22;TH0=0x06;〃对TH0TL0赋值TL0=0x06;TR0=1;//开始定时sec=0;mai_chong=1;//脉冲控制位/***********************}串口初始化****************5、************/精品资料voidUart_Init(){TMOD=0x22;TH1=0xFD;TL1=0xFD;SCON=0x50;PCON&=0xef;TR1=1;/***********************}数据接U^函数****************************/voidReceiveBuf(){inti;for(i=0;i<11;i++){buf[i]=SBUF;while(RI==0);RI=0;}}精品资料/***********************角度控制函数******6、**********************/voidControl。{if((bai==buf[5])&(shi==buf[6])&(ge==buf[7])){shi_neng=0;};if(baibuf[5]){shi_neng=1;fang_xiang=1;};if((bai==buf[5])&shi7、buf[6])){shi_neng=1;fang_xiang=1;};if((bai==buf[5])&(shi==buf[6]&(gebuf[7])){shi_neng=1;fang_xiang=1;};if((bai==buf[5])&(shi==buf[6])&(ge==buf[7])){精品资料shi_neng=0;};delay1ms(3);bai=buf[58、];shi=buf[6];ge=buf[7];精品资料精品资料/************************主函数****************************/精品资料精品资料main()EA=1;T0_Init();Uart_Init();while(1)精品资料精品资料//shi_neng=1;//使能控制位fang_shi
4、越小,电机转动速度越快精品资料sec=0;〃计满重新再计mai_chong=~mai_chong;//脉冲输出}}/***********************}定时器0/1初始化****************************/voidT0_Init(){ET0=1;TMOD=0x22;TH0=0x06;〃对TH0TL0赋值TL0=0x06;TR0=1;//开始定时sec=0;mai_chong=1;//脉冲控制位/***********************}串口初始化****************
5、************/精品资料voidUart_Init(){TMOD=0x22;TH1=0xFD;TL1=0xFD;SCON=0x50;PCON&=0xef;TR1=1;/***********************}数据接U^函数****************************/voidReceiveBuf(){inti;for(i=0;i<11;i++){buf[i]=SBUF;while(RI==0);RI=0;}}精品资料/***********************角度控制函数******
6、**********************/voidControl。{if((bai==buf[5])&(shi==buf[6])&(ge==buf[7])){shi_neng=0;};if(baibuf[5]){shi_neng=1;fang_xiang=1;};if((bai==buf[5])&shi
7、buf[6])){shi_neng=1;fang_xiang=1;};if((bai==buf[5])&(shi==buf[6]&(gebuf[7])){shi_neng=1;fang_xiang=1;};if((bai==buf[5])&(shi==buf[6])&(ge==buf[7])){精品资料shi_neng=0;};delay1ms(3);bai=buf[5
8、];shi=buf[6];ge=buf[7];精品资料精品资料/************************主函数****************************/精品资料精品资料main()EA=1;T0_Init();Uart_Init();while(1)精品资料精品资料//shi_neng=1;//使能控制位fang_shi
此文档下载收益归作者所有