|
|
本實(shí)驗(yàn)演示STC15F104E如何識(shí)別按鍵事件
按按鈕一次,LED燈就翻轉(zhuǎn)一次亮滅狀態(tài)。然后等待下一次按鈕事件。
材料:
STC15F104E一片
一個(gè)LED
一個(gè)220Ω電阻
一個(gè)按鍵開關(guān)
電路圖:
解析:220Ω電阻用于限流,由于STC輸入端默認(rèn)是上拉的,所以我們對(duì)開關(guān)不用加拉電阻,直接接地即可。
222107ybm6h4ylmk9r7kmb.gif (7.05 KB, 下載次數(shù): 100)
下載附件
2016-4-13 19:31 上傳
程序:
- /*
- STC15F104E按鍵實(shí)驗(yàn)
- Ansifa
- 2012-2-19
-
- 硬件連接方法:
- 一個(gè)LED串聯(lián)一個(gè)220Ω電阻,接到VCC和P3.3引腳。
- 一個(gè)按鈕接到P3.2與GND之間。
- */
-
- #include "reg51.h"
- sbit key = P3 ^ 2; //按鈕
- sbit LED = P3 ^ 3; //燈
-
- void DelayMS(n) //@5MHz 軟件延時(shí)n毫秒函數(shù)
- {
- unsigned char i, j;
- i = 5*n;
- j = 218;
- do
- {
- while (--j);
- } while (--i);
- }
-
-
- void main()
- { LED=1; //LED=0是亮,1是滅,初值滅燈
- while(1) //制造一個(gè)死循環(huán)
- {
- //先檢測(cè)高電平,等待30ms后檢測(cè)是否低電平,就能把下降沿檢測(cè)出來(lái),這個(gè)是下降沿觸發(fā)電路,有防抖功能。
- if(key == 1) //因?yàn)榘粹o接key端和GND,所以是下降沿觸發(fā)。
- {
- DelayMS(30);
- if(key == 0)
- {
- LED = !LED; //翻轉(zhuǎn)LED亮滅狀態(tài)
- }
- }
- }
- }
復(fù)制代碼
Keil uVersion2工程文件:
按鈕.rar
(1.55 KB, 下載次數(shù): 10)
2016-4-13 19:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
實(shí)物視頻:
由于一下找不到按鈕開關(guān),所以用一條電線接觸GND引腳暫時(shí)代替。
|
|