标题:
[求助]步进程序停不了?请教
[打印本页]
作者:
wrlsohu
时间:
2012-5-21 20:58
标题:
[求助]步进程序停不了?请教
#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按下跳出循环应该停,但是按下仍然转??
}
}}
以上两个地方没看出问题,请教老师指点。
作者:
vmbjn888
时间:
2012-5-21 21:39
while(1) { if(K1 == 0) { SETP_MOTOR_FFW(Z); if(K3 ==0) break; //仿真K3按下跳出循环应该停,但是按下仍然转?? } } k3按下后还在while循环里,SETP_MOTOR_FFW(Z);还在执行,并没有停转指令。
作者:
wrlsohu
时间:
2012-5-22 07:18
请问if(K3 ==0) break; k3按下后已经跳出while循环了。能给个提示吗?在此感谢了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1