网站大量收购闲置独家精品文档,联系QQ:2885784924

8952通过L297控制步进电机程序.doc

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

//?控制线接到MCU的P1口?独立键盘的接口接到MCU的P2口。? //?KEY0-?右运动一步;?KEY1-?左运动一步;? //?KEY2-?右运动200步;?KEY3-?左运动200步? //?KEY4-?右运动1000步;? #include?reg52.h? #include?intrins.h? #define?uint?unsigned?int? #define?uchar?unsigned?char? sbit?en=P1^0;??????????????????//?定义P1.0口? sbit?rst=P1^1;?????????????????//?定义P1.1口? sbit?ccw=P1^2;?????????????????//?定义P1.2口? sbit?hf=P1^3;??????????????????//?定义P1.3口? sbit?clk=P1^4;?????????????????//?定义P1.4口? sbit?k1=P1^5;??????????????????//?定义P1.5口? sbit?k2=P1^6;??????????????????//?定义P1.6口? void?ShortDelay(void)? {?uchar?x,y;? ??for(x=0;x5;x++)? ?????for(y=0;y125;y++)? ??????_nop_();? ??return;? }? void?outclk(uint?a)? {??uint?i,j;? ?while(a--)? ????{?en=1;??????????????????//?定义P1.0口? ??????rst=1;?????????????????//?定义P1.1口?? ??????//if((k1k2)!=0)?????????//?K1,K2限位置判断? ???????//?{? clk=1;? ?????????for(i=150;i0;i--) ???//200? ?????????for(j=150;j0;j--); ???//200? ?????????clk=0;??? ???????//?}? ?????//?else?{rst=1;en=0;}??? ????}???? }? uchar??key(void)? {uchar?key_num;? ???if(?(?P2??0x3f)?!=?0x3f?)????????//判断按键? ???{? ???????ShortDelay();????????????????//消除抖动? ???????if(?(?P2??0x3f?)?!=?0x3f?)? ???{? ??????????? ??????????switch?(?P2??0x3f?)?????????????//将按键码转换成键值? ??????????{??? ?????????????case??0x3e:?return??key_num=01;??? ?????????????case??0x3d:?return??key_num=02;? ?????????????case??0x3b:?return??key_num=03;?? ?????????????case??0x37:?return??key_num=04;? ?????????????case??0x2f:?return??key_num=05;? ?????????????case??0x1f:?return??key_num=06;? ?????????????default?:???return??key_num=00;? ??????????}? ???}? ??? ???}? ???return?key_num;? }? void?main(void)? {?uchar?b;? while(1)? ?{? ??? ???b=?key();? ???switch(b)?? ??????{????????????????//4步走1CM设定走5Cm?半应该是200的为了调整误差所以少4步?(10CM为多8步)? ????????case?00:rst=1;break;//0? ????????case?01:ccw=1;?outclk(1);break;//1????右运动1步? ????????case?02:ccw=0;?outclk(1);break;//2????左运动1步? ????????case?03:ccw=1;?outclk(200);break;//3 ??右运动1CM?? ????????case?04:ccw=0;?outclk(200);break;//4???左

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档