步进电机驱动程序实例.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
步进电机驱动程序实例

#include AT89X51.h static unsigned int count; //计数计数 计数计数 static int step_index; //步进索引数,步进索引数,值为值为 0--7 步进索引数步进索引数,,值为值为 -- static bit turn; //步进电机转动方向步进电机转动方向 步进电机转动方向步进电机转动方向 static bit stop_flag; //步进电机停止标志步进电机停止标志 步进电机停止标志步进电机停止标志 static int speedlevel; //步进电机转速参数,步进电机转速参数,数值越大速度越慢数值越大速度越慢,,最小值为最小值为 1,速度最快,速度最快 步进电机转速参数步进电机转速参数,,数值越大速度越慢数值越大速度越慢,,最小值为最小值为 ,,速度最快速度最快 static int spcount; //步进电机转速参数计数步进电机转速参数计数 步进电机转速参数计数步进电机转速参数计数 void delay(unsigned int endcount); //延时函数,延时函数,延时为延时为 endcount*0.5 毫秒毫秒 延时函数延时函数,,延时为延时为 毫秒毫秒 void gorun(); //步进电机控制步进函数步进电机控制步进函数 步进电机控制步进函数步进电机控制步进函数 void main(void) { count = 0; step_index = 0; spcount = 0; stop_flag = 0; P2_4 = 0; P2_5= 0; P2_6 = 0; P2_7 = 0; EA = 1; //允许允许 CPU 中断中断 允许允许 中断中断 TMOD = 0x11; //设定时器设定时器 0 和和 1 为为 16 位模式位模式 1 设定时器设定时器 和和 为为 位模式位模式 ET0 = 1; //定时器定时器 0 中断允许中断允许 定时器定时器 中断允许中断允许 TH0 = 0xFE; TL0 = 0x0C; //设定时每隔设定时每隔 0.5ms 中断一次中断一次 设定时每隔设定时每隔 中断一次中断一次 TR0 = 1; //开始计数开始计数 开始计数开始计数 turn = 0; speedlevel = 2; //先以低速启动先以低速启动 先以低速启动先以低速启动 delay(10000); speedlevel = 1; //再回到正常速度。再回到正常速度。(根据步进电机特点根据步进电机特点) 再回到正常速度再回到正常速度。。 根据步进电机特点根据步进电机特点 do{ speedlevel = 2; //主程序测试循环:主程序测试循环:先低速启动先低速启动-常速常速-停止停止 主程序测试循环主程序测试循环::先低速启动先低速启动 常速常速 停止停止 delay(10000); speedlevel = 1; delay(10000); stop_flag=1; delay(10000); stop_flag=0; }while(1); } //定时器

文档评论(0)

mhk8089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档