我正在尝试执行基于8051微控制器的实验室任务,在该任务中,我要开始闪烁LED,首先应该如何按下按钮,当再次按下按钮时应该停止闪烁,但不是发生我想要的。 谢谢
我正在使用Keil IDE进行仿真我正在使用Proteus Simulation。 在“调试”模式下,它可以正常运行我想要的功能,但是在仿真过程中,它的输出不相同。
#include <reg52.h>
sbit bulb = P1^0;
sbit switchh = P1^1;
void delay(int);
void ports_setup();
void main () {
int FG = 1;
bulb = 0; //Making Bulb Off Initially
while(1) {
while (FG) {
bulb = 1;
delay (1000);
bulb = 0;
delay (1000);
if ( switchh == 0 ) {
FG = 0;
break;
}
}
while (!FG) {
if (switchh == 0 ) {
FG = 1;
break;
}
}
}
}
void ports_setup () {
bulb = 0; // Making P1.0 as output
switchh = 1; // Making P1.1 as Input
}
void delay(int time) {
int i, j;
for(i=0; i<time; i++) {
for(j=0; j<100; j++) {
}
}
}[enter image description here][1]
[1]: https://i.stack.imgur.com/RS5rx.png