導(dǎo)語(yǔ):
單片機(jī)在運(yùn)用到實(shí)際的產(chǎn)品中,不僅僅只使用IO輸出去控制,更多的時(shí)候,我們需要收到一些信號(hào),比如數(shù)字信號(hào),模擬量信號(hào)等。
按鍵作為一種人機(jī)交互的方式,被廣泛的應(yīng)用在各個(gè)工業(yè)控制領(lǐng)域。
通過(guò)單片機(jī)的輪詢(xún)來(lái)檢測(cè)按鍵的電平變化,實(shí)現(xiàn)相應(yīng)的功能。獨(dú)立按鍵通過(guò)獨(dú)占IO,簡(jiǎn)化程序的設(shè)計(jì),但與此對(duì)于的是需要占用IO,比較浪費(fèi)IO,所以可以通過(guò)分時(shí)片選復(fù)用的方式實(shí)現(xiàn)8個(gè)IO使用16個(gè)按鍵,本節(jié)介紹單個(gè)IO的輸入。
輕觸開(kāi)關(guān)
俗稱(chēng)按鍵,常開(kāi)型,按下后會(huì)自動(dòng)彈起,恢復(fù)到斷開(kāi)狀態(tài)。機(jī)械開(kāi)關(guān)都伴隨著抖動(dòng),由于金屬觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上就穩(wěn)定的接通,在斷開(kāi)時(shí)也不會(huì)一下子徹底斷開(kāi),而是在閉合和斷開(kāi)的瞬間伴隨了一連串的抖動(dòng)。
常見(jiàn)的解決方法有硬件電路解決,RS觸發(fā)器,電容等方法。但與之對(duì)應(yīng)的是成本的上升與電路的復(fù)雜性上升。
平時(shí)更常見(jiàn)的有軟件上的算法,如延時(shí)等待按鍵抖動(dòng)結(jié)束,但會(huì)導(dǎo)致程序運(yùn)行的實(shí)時(shí)性降低。
51單片機(jī)上電后,除P0端口外,其余默認(rèn)為高電平,單片機(jī)內(nèi)部自帶上拉電阻把電平拉高。在傳統(tǒng)8051中,并不能設(shè)置單片機(jī)IO的輸入輸出模式。通過(guò)編寫(xiě)按鍵程序,識(shí)別電平從高到低的過(guò)程,從而實(shí)現(xiàn)交互。
在程序編寫(xiě)中,需要實(shí)現(xiàn)檢測(cè)IO電平是否為低,同時(shí)需要實(shí)現(xiàn)
- 自鎖,按鍵按下一次只運(yùn)行一次任務(wù),當(dāng)按鍵松開(kāi)后,才能按下下一次實(shí)現(xiàn)功能,不然一直執(zhí)行功能。不要去實(shí)現(xiàn)長(zhǎng)按功能。
- 消抖,按下后不穩(wěn)定的電平變化會(huì)影響程序,通過(guò)延時(shí)去屏蔽掉這段時(shí)間。
-
if(Key0 == 0)
{
delay(20);
if(Key0 == 0)
{
//功能代碼;
while(key0 == 0);
}
}
按鍵的抖動(dòng)時(shí)間跟按下力度,本身屬性有關(guān),抖動(dòng)時(shí)間不定,通常取經(jīng)驗(yàn)值20ms。
獨(dú)立按鍵較為簡(jiǎn)單,獨(dú)立按鍵和矩陣按鍵本質(zhì)上都是通過(guò)單片機(jī)的輪詢(xún)來(lái)檢測(cè)IO電平。
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6050文章
44687瀏覽量
641184 -
51單片機(jī)
+關(guān)注
關(guān)注
275文章
5706瀏覽量
124968 -
獨(dú)立按鍵
+關(guān)注
關(guān)注
1文章
45瀏覽量
11671
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
51單片機(jī)獨(dú)立按鍵檢測(cè)的學(xué)習(xí)筆記
51單片機(jī)_獨(dú)立按鍵延時(shí)消抖器消抖
請(qǐng)問(wèn)怎么實(shí)現(xiàn)51單片機(jī)獨(dú)立按鍵和矩陣按鍵?
51單片機(jī)的獨(dú)立按鍵和按鍵消抖及矩陣按鍵的電路與程序免費(fèi)下載

使用51單片機(jī)獨(dú)立按鍵的程序免費(fèi)下載

51單片機(jī)的獨(dú)立按鍵程序免費(fèi)下載

【51單片機(jī)】獨(dú)立按鍵

基于51單片機(jī)獨(dú)立按鍵實(shí)驗(yàn)

51單片機(jī)——獨(dú)立按鍵

51單片機(jī)獨(dú)立按鍵

51單片機(jī)——獨(dú)立按鍵

51單片機(jī)獨(dú)立按鍵數(shù)碼管(模塊化)

基于89C51單片機(jī)的獨(dú)立按鍵依次輸入數(shù)據(jù)源程序
基于51單片機(jī)的獨(dú)立按鍵實(shí)現(xiàn)原理

評(píng)論