This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

momentory blinking of LED in the start

I was writing code in c language for 8051 micro controller. In my application, a switch ( when pressed)connects P3^0 (which is initialized as an input port by writing a 1 to it in the start of the code) to ground. Then my code continuously checks for the switch status and whenever pressed it will make P2^0 high for 1 second time. To P2^0, an LED is connected. in the start of the code i have made P2^0 =0 to avoid the LED blinking before the switch is pressed. I have checked my code and found working fine except for a minor problem. Whenever power is made ON (or controller is reset), the P2^0 becomes high for a moment AND LED also blinks for a moment. This is something i don't want to happen in my application.I am not getting any idea to tackle this problem. kindly help me..

thanking you
satish kumar
mumbai, india.

Parents Reply Children
  • thank you vikram for responding.
    yes my intention is that only.my code is as follows.

    #include <reg51.h>
    sbit in_bit = P3^0;
    sbit out_bit = P2^0;
    void delay_1s();
    void main (void)
    { out_bit =0; in_bit = 1; TMOD = 0x01; while (1) { while (in_bit==1); out_bit = 1; delay_1s(); out_bit = 0; while (in_bit==0); }
    } void delay_1s ()
    { unsigned char count; for (count = 14; count > 0; --count) { TL0 = 0x00; TH0 = 0x00; TR0 = 1; while (TF0 ==0); TR0 = 0; TF0 = 0; } return;
    }

    thanks n regards

    satish kumar pillai.

  • Better to Check the switch condition by using if.
    Late you try this method

    if(our condition)
    {
     LED_ON
    delay function
    }
    else
    {
     LED_OFF
    delay function
    }
    


    ok.

    Regards
    Vikram