1、#include /*P1.0=A ;P1.1=B ;P1.2=B ; P1.3=A*/ code unsigned char runz8=0x05,0x01,0x09,0x08,0x0a,0x02,0x06,0x04; /两相四线八拍工作方式code unsigned char runf8=0x04,0x06,0x02,0x0a,0x08,0x09,0x01,0x05; /两相四线八拍工作方式unsigned char keycan=0;/键值unsigned char s,i,j,k,z;int y=30;/定义转动速度,数值越大电机转速越慢反之则快sbit P2_0=P20;/正转按键s
2、bit P2_1=P21;/反转按键sbit P2_2=P22;/电机加速sbit P2_3=P23;/电机减速void delay(i)/延时函数 for(j=0;ji;j+) for(k=0;k250;k+); void zrun()/ 正转运行 for(z=0;z8;z+) P1=runzz; delay(y); void frun()/ 反转运行 for(z=0;z8;z+) P1=runfz; delay(y); main() while(1) if(P2_0=0) /如果电机正转按键按下 keycan=1; /键值等于1 if(P2_1=0) /如果电机反转按键按下 keycan=2; /键值等于2 switch (keycan) case 1: zrun(); /键值等于1 正转 break; case 2: frun(); /键值等于2 反转 break; if(P2_2=0) / 电机加速 y+=5; if(P2_3=0) / 电机减速 y-=5;