这个程序在keil里调试时运行正常,为什么下载到单片机后就不行了?

#include<reg51.h>

sbit PUL=P3^0;
sbit DIR=P3^1;
sbit ENA=P3^2;

unsigned m;

void delay(){
unsigned int k=256;
while(k--);
}

int main()
{
unsigned i;
ENA=1;
while(1){
PUL=1;
for(i=0;i++;i<432){
delay();
}
PUL=0;
for(i=0;i++;i<432){
delay();
}
}
}
想用来驱动步进电机的,但是P3^0口的指示灯一直亮着而没有在闪烁,但Keil的调试中一切正常

第1个回答  2018-03-03
那个unsigned 变量型是啥?char?还是int?long?没写可以编译成功?追问

确实编译成功了啊,而且全部改成int后也是同样的问题

追答

用示波器量一下是不是有脉冲输出吧……或许延时太少

追问

设置的延时是256×432/110592000=1ms,应该没问题啊

追答

有用示波器量了吗?你这是推论吧……

追问

没有示波器,但是在PROFESSIONAL里仿真时也正常

追答

仿真是按照软件设定的来跑的

本回答被提问者和网友采纳