|
#include <reg52.h> #define uint unsigned int #define uchar unsigned char uchar code FFW[]={ 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 }; sbit K1 = P3^0;//启动按键 sbit K3 = P3^2; //停按键 void DelayMS(uint ms)//延时 { uchar i; while(ms--) { for(i=0;i<120;i++); }} void SETP_MOTOR_FFW(uchar n) //正转函数 { uchar i,j; for(i=0;i<5*n;i++) { for(j=0;j<8;j++) { P1 = FFW[j]; //输出 DelayMS(25); //仿真延时增大或者减小,为何转速变慢??? } }} void main() { uchar Z = 200; while(1) { if(K1 == 0) { SETP_MOTOR_FFW(Z); if(K3 ==0) break; //仿真K3按下跳出循环应该停,但是按下仍然转?? } }} 以上两个地方没看出问题,请教老师指点。
|
|