欢迎来到天天文库
浏览记录
ID:22848300
大小:78.01 KB
页数:7页
时间:2018-11-01
《步进电机驱动电路+c语言驱动程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/**********************************************//*********兰州交通大学电子电工实验中心*********//*******************2009-8-2********************//*********************************************/#include"reg51.h"#include"intrins.h"#include"math.h"#include"absacc.h"#definePORTAXBYTE[0x8500]#definePORTBXBYT
2、E[0x8502]#definePORTCXBYTE[0x8504]#definePORTC0XBYTE[0x8506]#definenop_nop_()#defineRight_RUN1#defineLeft_RUN0unsignedlongRunSpeed=76;unsignedcharRUNState=1;sbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;sbitP17=P1^7;bitflag=0;unsignedcharxx[]="speed(n/min):";unsignedcharSD[]="76";charstate[2][14]={"
3、direction:cw","direction:ccw"};unsignedcharFLG,INMA=0;unsignedchart,s=0x01;unsignedinta;main(){voidOPJIAN();unsignedcharJIAN();unsignedcharJIANZHI();voidspeed();voidSHOW_LCD();voidshow_state();voidwrite1();voidwrit2(unsignedchari);voiddelay();voidtime();voidbusy();unsignedchari;i=0x90;POR
4、TC0=i;i=0x01;TMOD=i;t=0x10;a=0x0f;TH0=0x10;TL0=0x0f;FLG=INMA;SHOW_LCD();show_state();EA=1;ET0=1;TR0=1;while(1){i=JIAN();if(i!=0){time();time();}i=JIAN();if(i!=0){INMA=JIANZHI();OPJIAN();time();}if(FLG!=INMA
5、
6、flag==1){FLG=INMA;SHOW_LCD();show_state();flag=0;}}}voidSHOW_LCD()/*lcd设置程序*/{P1=
7、0x38;write1();delay();P1=0x38;write1();delay();P1=0x38;write1();delay();P1=0x01;write1();delay();P1=0x0f;write1();delay();P1=0x06;write1();delay();P1=0x0c;write1();}voidshow_state()/*状态显示程序*/{unsignedchari=0;P1=0x80;write1();while(xx[i]!=' '){writ2(xx[i]);i++;delay();}i=0;while(SD[i]!='
8、0'){writ2(SD[i]);delay();i++;}P1=0xc0;write1();i=0;if(RUNState==Right_RUN)while(state[0][i]!=' '){writ2(state[0][i]);i++;}elseif(RUNState==Left_RUN)while(state[1][i]!=' '){writ2(state[1][i]);i++;}}voidwrite1()/*lcd写控制字*/{RS=0;RW=0;E=0;busy();E=1;}voidwrit2(unsignedchari)/*lcd写数据*/{P1=i;
9、RS=1;RW=0;E=0;busy();E=1;}voiddelay()/*延时程序*/{unsignedchari;for(i=0;i<100;i++){i=i;}}voidtime(){unsignedchari,j;for(i=0;i<100;i++){for(j=0;j<30;j++){j=j;}}}voidbusy()//判断LCD是否忙{do{P1=0xff;RS=0;RW=1;E=0;nop;E=1;}while(P17==1);}unsignedcharJIAN()/*判断是否有键按下*/{unsignedc
此文档下载收益归作者所有