壹個簡單的開關控制壹盞燈的c程序如下:
#include<reg52.h>
sbit S1=P1^4; //將S1位定義為P1^4,檢測獨立按鍵
sbit led0=P1^0; //將led0定義為P1.0口的LED
/***********************************************************************************************************************************************
延時函數
***********************************************************************************************************************************************/
void delay(void)
{
unsigned int i;
for(i=5000;i>0;i--)
}
/***********************************************************************************************************************************************
主函數
***********************************************************************************************************************************************/
void main(void)
{
while(1)
{
if(S1==0) //判斷是否有鍵按下
{
delay(); //有鍵按下,延時去抖,真正應用時要少用這種延時,占用時間,用定時器延時或壹個寄存器循環檢測10多次按鍵
if(F0==0) //用F0標誌位判斷鍵按下是否已經處理,因剛學C語言沒多久,
//不知道怎麽定義RAM能位尋址的寄存器,先用F0,按鍵多的話,壹個F0不夠用
{
F0=1; //F0置1,表示這次按鍵按下已處理
led0=~led0; //將LED亮滅狀態取反
}
}
else //S1=1說明按鍵釋放
{
F0=0; //F0清零,清按鍵已處理標誌
}
}
}