?? 獨立按鍵.c
字號:
/********************************************************************
* 文件名 : 獨立按鍵.c
* 描述 : 該程序?qū)崿F(xiàn)獨立按鍵去控制 LED燈 的亮滅,并講敘了對按鍵的處理方法。
獨立按鍵相應(yīng)的IO口平時為高電平,一旦按鍵按下,IO口便被拉為低電平。
本程序相應(yīng)的視頻為”按鍵測試.exe”。
* 創(chuàng)建人 : 東流,2009年4月8日
* 版本號 : 2.0
* 技術(shù)支持論壇:www.zidh.com/bbs(請進(jìn)入“贊助商板塊”中的“東流電子工作室”)
* 感謝“中國自動化資訊網(wǎng)”對本工作室的大力支持。
***********************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit KEY1 = P3^2;
sbit KEY2 = P3^3;
sbit KEY3 = P3^4;
sbit LED1 = P0^2;
sbit LED2 = P0^1;
sbit LED3 = P0^0;
/********************************************************************
* 名稱 : Delay()
* 功能 : 延時,延時時間為 10ms * del
* 輸入 : del
* 輸出 : 無
***********************************************************************/
void Delay(uint del)
{
uint i,j;
for(i=0; i<del; i++)
for(j=0; j<1827; j++)
;
}
/********************************************************************
* 名稱 : Delay()
* 功能 : 實現(xiàn)按鍵功能,當(dāng)按鍵按下時,相應(yīng)的LED亮滅交替
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void KEY()
{
if(KEY1==0 || KEY2==0 || KEY3==0)
{
Delay(2); //20毫秒軟件防抖
if(KEY1==0 || KEY2==0 || KEY3==0)
{
if(KEY1 == 0)
{
LED1 = ~ LED1;
}
else if(KEY2 == 0)
{
LED2 = ~ LED2;
}
else
{
LED3 = ~ LED3;
}
}
Delay(50); //延時0.5秒再進(jìn)行下次按鍵的檢測
}
}
/********************************************************************
* 名稱 : Main()
* 功能 : 實現(xiàn)按鍵控制LED的亮滅
* 輸入 : 無
* 輸出 : 無
***********************************************************************/
void Main(void)
{
P2 = 0x00;
P3 = 0xff;
while(1)
{
KEY();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -