Светодиод управления мигает с помощью кнопки, когда кнопка начала мигать, и должна перестать мигать при нажатии снова - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь реализовать лабораторное задание на основе микроконтроллера 8051, в котором я хочу начать мигать светодиодом, что я должен сначала нажать на кнопку, и должен прекратить мигать при повторном нажатии кнопки, но это не такпроисходит то, что я хочу. Спасибо

Я использую 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
...