|
單片機(jī)源程序如下:
- #include "reg51.h" //頭文件
- #define u8 unsigned char //宏定義
- #define u16 unsiged int
- u8 key_data=0; //定義全局標(biāo)量
- /*
- 按鍵掃描函數(shù):
- 輸入:
- 輸出:按鍵值
- */
- void key_san(void)
- {
- static bit key_bit = 0; //按鍵標(biāo)志
- static u8 key_num = 0; //時(shí)間標(biāo)志
- static u8 key_temp;
- if((P2 != 0xFF) && (!key_bit)){ //判斷按鍵是否按下?
- key_num +=1; //時(shí)間累加(每次自動(dòng)累加1ms)
- if(key_num == 10){ //當(dāng)累加到10ms
- key_temp = P2; //讀取當(dāng)前獨(dú)立按鍵接口的值
- key_bit =1; //將標(biāo)志位置1
- }
- }
- if((P2 == 0xFF) && (key_bit)){ //判斷按鍵是否放開(kāi)?
- key_num -= 1; //時(shí)間累加(每次自動(dòng)減1ms)
- if(key_num == 0){ //當(dāng)累減到0ms
- key_data = key_temp; //將值甩到全局標(biāo)量
- key_bit = 0; //將標(biāo)志位復(fù)位0
- }
- }
- }
復(fù)制代碼
|
評(píng)分
-
查看全部評(píng)分
|