资源描述:
《片机控制的步进电机c语言程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、51单片机控制的步进电机C语言程序用的是L298驱动的和ULN2003一样,你把它换成2003就行拉#includeunsignedcharcodetable[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9,0x00,0xf1,0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0x00};unsignedchartemp,temp_old;unsignedcharkey;unsignedchari,j,k,m,s;voiddelay(i
2、nti){for(m=i;m>0;m--)for(j=250;j>0;j--)for(k=10;k>0;k--);}voidsaomiao(){P3=0xff;P3_4=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P3;temp=temp&0x0f;switch(temp){case0x0e:key=1;break;case
3、0x0d:key=2;break;case0x0b:key=3;break;case0x07:key=4;break;}temp=P3;temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}}}P3=0xff;P3_5=0;temp=P3;temp=temp&0x0f;if(temp!=0x0f){for(i=50;i>0;i--)for(j=200;j>0;j--);temp=P3;temp=temp&0x0f;if(temp!=0x0f){temp=P
4、3;temp=temp&0x0f;switch(temp){case0x0d:key=5;break;case0x0b:key=6;break;case0x07:key=7;break;}temp=P3;temp=temp&0x0f;while(temp!=0x0f){temp=P3;temp=temp&0x0f;}}}}voidmain(void){while(1){saomiao();if(key==1){P1=0;P2=0;saomiao();}if(key==2){temp_old=key;for(s=0;
5、s<8;s++){P2=table[s];P1_4=0;delay(13);saomiao();if(key!=temp_old){P1_4=1;break;}}}if(key==3){temp_old=key;for(s=0;s<8;s++){P2=table[s];P1_5=0;delay(5);saomiao();if(key!=temp_old){P1_5=1;break;}}}if(key==4){temp_old=key;for(s=0;s<8;s++){P2=table[s];P1_6=0;delay
6、(20);saomiao();if(key!=temp_old){P1_6=1;break;}}}if(key==5){temp_old=key;for(s=9;s<17;s++){P2=table[s];P1_7=0;delay(13);saomiao();if(key!=temp_old){P1_7=1;break;}}}if(key==6){temp_old=key;for(s=9;s<17;s++){P2=table[s];P1_5=0;delay(5);saomiao();if(key!=temp_old
7、){P1_5=1;break;}}}if(key==7){temp_old=key;for(s=9;s<17;s++){P2=table[s];P1_6=0;delay(20);saomiao();if(key!=temp_old){P1_6=1;break;}}}}}C语言程序源代码#include//51寄存器定义#include"intrins.h"#definecontrolP1//P1_0:A相,P1_1:B相,P1_2:C相,P1_3:D相#definediscodeP0//显示代码
8、控制端口#defineucharunsignedchar//定义无符号型变量#defineuintunsignedintsbiten_dm=P3^0;//显示代码锁存控制sbiten_wk=P3^1;//位控锁存控制ucharcodecorotation[4]={0x03,0x06,0x0c,0x09};//电机正转ucharcoderollback[4]=