步进电机控制器电路及程序_第1页
步进电机控制器电路及程序_第2页
步进电机控制器电路及程序_第3页
步进电机控制器电路及程序_第4页
步进电机控制器电路及程序_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、林林单片机 步进电机控制器本毕设控制器采用stc89c52rc单片机,步进电机驱动采用uln2003,利用液晶1602显示设置参数和运行状态。通过设置实现对步进电机,转动度数、转动方向的控制。程序:#include #define uchar unsigned char#define uint unsigned intvoid init();void writec(uint com);void writed(uint dat);void delay(uint shu);void xieshuzu(uchar a,uchar add);void kaiji();void option_turn(

2、uchar n);void rightturn(uchar q);/uchar keyscan();sbit en_a=p10;sbit en_b=p11;sbit en_c=p12;sbit en_d=p13;sbit e=p34;sbit rs=p35;sfr duan=0x80; uchar code table = 0713024031 ;uchar code table2= bysj ;uchar code table3=pos: +360.00; uchar code table4=v: r/s;/*delay1ms*/void delay(uint shu)uint i,j; f

3、or(i=shu;i0;i-) for(j=110;j0;j-);/*反转*/void option_turn(uchar n)uchar i;for(i=0;in;i+)en_a=1;en_b=1;en_c=1;en_d=0;delay(150); /d相en_a=1;en_b=1;en_c=0;en_d=0;delay(150); /dc相 */en_a=1;en_b=1;en_c=0;en_d=1;delay(150); / c 相 */en_a=1;en_b=0;en_c=0;en_d=1;delay(150); /bc相 */en_a=1;en_b=0;en_c=1;en_d=1;d

4、elay(150);/b相en_a=0;en_b=0;en_c=1;en_d=1;delay(150); /ba相*/en_a=0;en_b=1;en_c=1;en_d=1;delay(150); /a相en_a=0;en_b=1;en_c=1;en_d=0;delay(150); /da相*/ /*正转*/void rightturn(uchar q)uchar j;for(j=0;jq;j+)en_a=0;en_b=1;en_c=1;en_d=1;delay(150); /a相en_a=0;en_b=0;en_c=1;en_d=1;delay(150); /ab相 */en_a=1;en_

5、b=0;en_c=1;en_d=1;delay(150); / 、b 相 */en_a=1;en_b=0;en_c=0;en_d=1;delay(150); /bc相 */en_a=1;en_b=1;en_c=0;en_d=1;delay(150);/c相en_a=1;en_b=1;en_c=0;en_d=0;delay(150); /cd相*/en_a=1;en_b=1;en_c=1;en_d=0;delay(150); /d相en_a=0;en_b=1;en_c=1;en_d=0;delay(150); /da相*/*/void kaiji()xieshuzu(table,0x80);xi

6、eshuzu(table2,0xc0); /*/void xieshuzu(uchar a,uchar add)uchar cis; writec(add); for(cis=0;acis!=0;cis+) writed(acis); delay(2); /*/void xies(uchar a,uchar add) writec(add); writed(0x30+a); /*/void writec(uint com) e=0; rs=0; duan=com; delay(2); e=1; delay(2); e=0;/*/void writed(uint dat) e=0; rs=1;

7、duan=dat; delay(2); e=1; delay(2); e=0; /*/void init() writec(0x01); writec(0x38); writec(0x0c);/*/void keyscan(void)/*uchar keyscan() uchar k,skey; key=0xfe; skey=key; if(skey!=0xfe) delay(10); skey=key; if(skey!=0xfe) switch(skey) case(0xee):k=7;kc+;break; case(0xde):k=8;kc+;break; case(0xbe):k=9;

8、kc+;break; case(0x7e):k=0x0a;kc+;break; default:break; while(skey!=0xfe) skey=key; return k; key=0xfd; skey=key; if(skey!=0xfd) delay(10); skey=key; if(skey!=0xfd) switch(skey)case(0xed):k=4;kc+;break; case(0xdd):k=5;kc+;break; case(0xbd):k=6;kc+;break; case(0x7d):k=0x0b;kc+;break; default:break;whi

9、le(skey!=0xfd)skey=key;return k; key=0xfb; skey=key; if(skey!=0xfb) delay(10); skey=key; if(skey!=0xfb) switch(skey)case(0xeb):k=1;kc+;break; case(0xdb):k=2;kc+;break; case(0xbb):k=3;kc+;break; case(0x7b):k=0x0c;kc+;break; default:break;while(skey!=0xfb)skey=key;return k; key=0xf7; skey=key; if(skey!=0xf7) delay(10); skey=key; if(skey!=0xf7) switch(skey) case(0xe7):k=0x0d;kc+;break; case(0xd7):k=0; kc+;break; case(0xb7):k=0x0e;kc+;break; case(0x77):k=0x0f;kc+;break; default:break; while(skey!=0xf7) skey=key; return k; */*/*/void main(void)init

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论