欢迎来到天天文库
浏览记录
ID:29724907
大小:78.00 KB
页数:7页
时间:2018-12-22
《步进电机【驱动电路+c语言驱动程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、/**********************************************//*********兰州交通大学电子电工实验中心*********//*******************2009-8-2********************//*********************************************/#include"reg51.h"#include"intrins.h"#include"math.h"#include"absacc.h"#define
2、PORTAXBYTE[0x8500]#definePORTBXBYTE[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;unsign
3、edcharxx[]="speed(n/min):";unsignedcharSD[]="76";charstate[2][14]={"direction:cw","direction:ccw"};unsignedcharFLG,INMA=0;unsignedchart,s=0x01;unsignedinta;main(){voidOPJIAN();unsignedcharJIAN();unsignedcharJIANZHI();voidspeed();voidSHOW_LCD();voidshow_st
4、ate();voidwrite1();voidwrit2(unsignedchari);voiddelay();voidtime();voidbusy();unsignedchari;i=0x90;PORTC0=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();
5、if(i!=0){INMA=JIANZHI();OPJIAN();time();}if(FLG!=INMA
6、
7、flag==1){FLG=INMA;SHOW_LCD();show_state();flag=0;}}}voidSHOW_LCD()/*lcd设置程序*/{P1=0x38;write1();delay();P1=0x38;write1();delay();P1=0x38;write1();delay();P1=0x01;write1();delay();P1=0x0f;write1();delay
8、();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]!=' '){writ2(SD[i]);delay();i++;}P1=0xc0;write1();i=0;if(RUNState==Right_RUN)while(state
9、[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;RS=1;RW=0;E=0;busy();E=1;}voiddelay()/*延时程序*/{unsig
10、nedchari;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
此文档下载收益归作者所有