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

上传人:大张伟 文档编号:10677017 上传时间:2021-05-30 格式:DOCX 页数:10 大小:15.25KB
返回 下载 相关 举报
单片机驱动步进电机程序代码.docx_第1页
第1页 / 共10页
单片机驱动步进电机程序代码.docx_第2页
第2页 / 共10页
单片机驱动步进电机程序代码.docx_第3页
第3页 / 共10页
单片机驱动步进电机程序代码.docx_第4页
第4页 / 共10页
单片机驱动步进电机程序代码.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

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

1、,*实现功能:正转程序使用芯片:AT89S52晶振:11.0592MHZ编译环境:Keil作者:【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!*/*#include / 库文件#define uchar unsigned char字符型宏定义#define uint unsigned int 整型宏定义uchar tcnt;定时器计数初值定义uint sec;速度值定义uchar buf11;/*uchar bai,shi,ge;控制位定义 */sbit shi_neng=P1A0;/使能控制位sbit fang_shi=P1Ai; /工作方式控制位精品资料sbit fang_xi

2、ang=P1A2;/旋转方向控制位/*sbit mai_chong=P1A3;/脉冲控制位延时函数 */void delay1ms(uchar z)uchar x,y;for(x=0;xz;x+)for(y=0;y110;y+);/* 定时中断服务函数 */void t0(void) interrupt 1 using 0 /定时中断服务函数tcnt+; 每过 250ust tcnt 力口一if(tcnt=1)/当tcnt满足条件时tcnt=0; /计满重新再计 sec+;if(sec=6) /括号内数值越小,电机转动速度越快sec=0; 计满重新再计mai_chong=mai_chong;

3、/脉冲输出/*定时器 0/1 初始化 */ void T0_Init()ET0 = 1;TMOD = 0x22;TH0=0x06; 对 TH0 TL0 赋值TL0=0x06;TR0=1; /开始定时sec=0;mai_chong=1; / 脉冲控制位/*串口 初始化 */void Uart_Init() TMOD = 0x22;TH1 = 0xFD;TL1 = 0xFD;SCON = 0x50;PCON &= 0xef;TR1 = 1;/*数据接U函数 */void ReceiveBuf()int i;for(i=0;i11;i+)bufi = SBUF;while(RI = 0);RI=0;

4、/*角度控制函数 */void Control。if(bai=buf5)&(shi=buf6)&(ge=buf7)shi_neng=0;;if(baibuf5)shi_neng=1;fang_xiang=1;;if(bai=buf5)&shibuf6)shi_neng=1;fang_xiang=1;;if(bai=buf5)&(shi=buf6&(gebuf7)shi_neng=1;fang_xiang=1;;if(bai=buf5)&(shi=buf6)&(ge=buf7)精品资料shi_neng=0;;delay1ms(3);bai=buf5;shi=buf6;ge=buf7;/*主函数 */main()EA=1;T0_Init();Uart_Init();while(1)/shi_neng=1;/使能控制位fang_shi=1;/ 工作方式控制ReceiveBuf();delaylms;Control。;delay1ms(10);/* 结束 */Welcome ToDownload !欢迎您的下载,资料仅供参考!

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

当前位置:首页 > 科普知识


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