单片机驱动步进电机程序代码.doc

上传人:scccc 文档编号:12046333 上传时间:2021-12-01 格式:DOC 页数:11 大小:44KB
返回 下载 相关 举报
单片机驱动步进电机程序代码.doc_第1页
第1页 / 共11页
单片机驱动步进电机程序代码.doc_第2页
第2页 / 共11页
单片机驱动步进电机程序代码.doc_第3页
第3页 / 共11页
单片机驱动步进电机程序代码.doc_第4页
第4页 / 共11页
单片机驱动步进电机程序代码.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《单片机驱动步进电机程序代码.doc》由会员分享,可在线阅读,更多相关《单片机驱动步进电机程序代码.doc(11页珍藏版)》请在三一文库上搜索。

1、精品资料'*实现功能:正转程序使用芯片:AT89S52晶振:11.0592MHZ编译环境:Keil作者:【声明】此程序仅用于学习与参考,弓I用请注明版权和作者信息!*#i nclude<reg52.h> / 库文件#defi ne uchar un sig ned char/ 字符型宏定义#defi ne uint un sig ned int整型宏定义uchar tcnt;/定时器计数初值定义uint sec;/速度值定义uchar buf11;uchar bai,shi,ge;*制位定义 *sbit shi_ nen g=P1A0;/ 使能控制位sbit fan g_s

2、hi=P1Ai;/ 工作方式控制位sbit fan g_xia ng=PU2;旋转方向控制位sbit mai_cho ng=P"3; /脉冲控制位*延时函*void delay1ms(uchar z)uchar x,y;for(x=0;x<z;x+)for(y=0;y<110;y+);*定时中断服务函数*/void tO(void) in terrupt 1 usi ng 0 /定时中断服务函数tcnt+; / 每过 250ust tent 加一if(tcnt=1) /当tcnt满足条件时tcnt=0; /计满重新再计sec+;if(sec=6) /括号内数值越小,电机转

3、动速度越快sec=O; /计满重新再计 mai_ch on g=mai_ch ong; / 脉冲输出*定时器 0/1 始化 *voidT0_l nit()ET0 = 1;TMOD = 0x22;TH0=0x06; / 对 TH0 TL0 赋值TL0=0x06;TR0=1; /开始定时sec=0;mai_cho ng=1; / 脉冲控制位*口初始化 *void Uart_l nit() TMOD = 0x22;TH1 = 0xFD;TL1 = 0xFD;SCON = 0x50;PCON &= 0xef;TR1 = 1;*据接收函*void ReceiveBuf()int i;for(i=

4、0;i<11;i+)bufi = SBUF; while(RI = 0);RI=0;嗫*/void Co ntrol()if(bai=buf5 )&(shi=buf6)&(ge=buf7)shi_ nen g=0;;if(bai<buf5)shi_ nen g=1;fan g_xia ng=0;else if(bai>buf5)shi_ nen g=1;fan g_xia ng=1;if(bai=buf5) &shi<buf6)fan g_xia ng=O;else if(bai=buf5&shi>buf6)shi_ nen g=1

5、;fan g_xia ng=1;;if(bai=buf5 )&(shi=buf6&( ge<buf7)shi_ nen g=1;fan g_xia ng=O;else if(bai=buf5)&( shi=buf6 )&(ge>buf7)shi_ nen g=1;fan g_xia ng=1;if(bai=buf5)&( shi=buf6)&(ge=buf7)shi_ nen g=0;;delay1ms(3);bai=buf5;shi=buf6;ge=buf7;/*主函数 */mai n()EA=1;TO_lni t();Uart_I ni t();while(1)/shi_ nen g=1;/使能控制位fan g_shi=1;/ 工作方式控制ReceiveBuf();delaylms(l);Con trol(); delay1ms(10);/*厶士Fkr * /结束/Welcome ToDownload !欢迎您的下载,资料仅供参考!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1