回覆列表
  • 1 # 使用者3916807372217

    bit flash;//閃爍標誌位

    sbit led=P0^0;

    sbit P01=P0^1;

    sbit P02=P0^2;

    void main()

    {

    P01=P02=0;

    flash=0;

    led=0;

    while(1)

    {

    scankey();

    ledflash();

    }

    }

    void scankey()//鍵盤掃描

    {

    P01=1;//行線給1

    if(P02)//如果P02也是1則說明接通

    {

    delay(10);//去抖動10MS

    if(P02)//再次確定按鍵按下

    {

    while(P02){flash=flash}//按住按鍵的動作

    flash=~flash;//按鍵按下後執行動作

    }

    }

    }

    void ledflash()

    {

    if(flash)

    {

    led=1;//點亮

    delay(100);//延時100MS

    led=0;//熄滅

    }

    else led=0;

    }

    void delay(unsigned int i)

    {自己根據微控制器頻率寫個1MS帶形參的演示程式}

    這個程式是現寫的。。應該能執行,有些細節沒有寫,自己修改下,只是個大框而已(比如函式宣告,定義埠什麼的)

  • 中秋節和大豐收的關聯?
  • 3伏電子稱能用手機充電器直接供電嗎?