|
IMG_20180602_220452.jpg (6.21 MB, 下載次數(shù): 18)
下載附件
2018-6-2 22:13 上傳
(1)按鍵抖動(dòng)現(xiàn)象:按鍵按下都會(huì)發(fā)出一聲響,雖然有的按鍵聲音很輕微,但這都是金屬導(dǎo)體碰撞產(chǎn)生的震動(dòng),這種現(xiàn)象稱為鍵盤抖動(dòng)如果不對(duì)鍵盤的抖動(dòng)進(jìn)行處理,按鍵會(huì)對(duì)系統(tǒng)電路或程序產(chǎn)生意外的干擾。
(2)消抖:利用延時(shí)程序防止鍵盤抖動(dòng),實(shí)現(xiàn)鍵盤輸入按鍵按下產(chǎn)生的抖動(dòng)現(xiàn)象持續(xù)的時(shí)間不會(huì)很久,因此在按鍵按下后,可延時(shí)一段時(shí)間跳過抖動(dòng),再對(duì)按鍵的狀態(tài)檢測,從而利用延時(shí)的方法也可以實(shí)現(xiàn)鍵盤輸入。
圖片1.png (5.06 KB, 下載次數(shù): 23)
下載附件
2018-6-2 22:11 上傳
單片機(jī)源碼:
- #include<reg51.h>
- sbit key1=P1^4; //key1接P1.4
- sbit LED0=P0^0; //LED0接P0.0
- void delay(unsigned int x) //延時(shí)函數(shù)
- {
- while(x--);
- }
- void key(void)
- {
- if(key1==0) //如果按鍵按下
- {
- delay(300); //消抖
- while(key1==0); //如果按鍵真的按下,等待按鍵抬起
- LED0=!LED0; //LED狀態(tài)改變
- }
- }
- void main()
- {
- LED0=1; //初始狀態(tài)LED亮
- while(1)
- key();
- }
復(fù)制代碼
|
評(píng)分
-
查看全部評(píng)分
|