#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
#include"delay.h" //延时
#include"ms.h" //延时
sbit D1=P1^0;
uint aa;
void main()
{
D1=0;
delay(100);
D1=1;
ms(100);
}
按照道理来说,程序会停在MS语句上(注意没有while)。但是下载到板子以后观察才知道程序他没有停,D1继续在闪。注意这不是亮点。
我本以为是我记错了木有while他也是会循环的,于是我变在MS后面又加了这句
aa++;
if(aa>=10)
{
D1=0;
while(1);
}
这时我便想这下你总该停了把,于是我便往板子上一下,才知道,尼玛他在那闪,他在那闪,他就是不停。我顿时凌乱。。。。。
求解,求科学普及,此事严重的颠覆了我的认知。是我被书误导,还是我理解错误。还是这个软件的编译器太疯狂???
求解。求科学普及。。。。。。。 |