C8051F020在LED顯示控制系統(tǒng)中的應(yīng)用
按鍵的具體定義如下:
(1)“↑(上)”、“↓(下)”、“←(左)”、“→(右)”:移動(dòng)光標(biāo)或切換不同內(nèi)容的屏目、數(shù)據(jù)修改、完成口令輸入等;
(2)“Yes”:確認(rèn)所做的操作,包括確認(rèn)所選擇的菜單項(xiàng)或數(shù)據(jù)、確認(rèn)所輸入的口令、確認(rèn)被修改的數(shù)據(jù)等;
(3)“No”:可取消輸入的口令值或被修改的數(shù)據(jù);
(4)“復(fù)位”:軟復(fù)位系統(tǒng);
(5)“打印”:控制打印機(jī)打印輸出。
按鍵的工作方式分為編程控制方式和中斷控制方式兩種。本儀器采用中斷控制方式,流程圖如圖4所示。此方式可以提高CPU的效率,當(dāng)有鍵按下時(shí),便向CPU 申請(qǐng)中斷,CPU 響應(yīng)中斷后,在中斷服務(wù)程序中進(jìn)行鍵盤(pán)掃描、查鍵值與處理等工作。而編程控制方式是指在一個(gè)工作周期內(nèi),利用完成其他任務(wù)的空余時(shí)間,調(diào)用按鍵掃描子程序。經(jīng)程序查詢,若無(wú)鍵操作,則返回;若有鍵操作,則進(jìn)而判斷是哪個(gè)鍵,并執(zhí)行相應(yīng)的鍵處理程序。這樣對(duì)CPU的使用效率就受到了影響。因此選用中斷控制方式。
本儀器采用的按鍵的開(kāi)關(guān)為機(jī)械彈性開(kāi)關(guān)。從按鍵按下到接觸穩(wěn)定要經(jīng)過(guò)數(shù)毫秒的抖動(dòng)時(shí)間,松開(kāi)時(shí)也有這樣的問(wèn)題。抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為5~10 ms.這樣就會(huì)引起一次按鍵多次讀取,對(duì)于抖動(dòng)問(wèn)題可以采用軟件方法??梢酝ㄟ^(guò)延時(shí)去抖動(dòng)的方法避免,即檢測(cè)出按鍵閉合后執(zhí)行一個(gè)延時(shí)程序產(chǎn)生20 ms的延時(shí),讓前沿抖動(dòng)消失后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平則確認(rèn)為真正有鍵按下。當(dāng)檢測(cè)到按鍵釋放后,也要給20 ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序。
4 結(jié)語(yǔ)
利用YXD-12864A2圖形液晶顯示模塊設(shè)計(jì)電極質(zhì)分析儀的顯示界面,采用8位并型模式傳遞數(shù)據(jù),主要是因?yàn)殡m然占用了較多的I/O引腳,但與串行模式相比,編程簡(jiǎn)單的多;而且C8051F020有8個(gè)8位I/O端口、64個(gè)數(shù)字I/O引腳,非常豐富,所以也不用考慮引腳不夠的問(wèn)題。通過(guò)添加按鍵系統(tǒng),使顯示的內(nèi)容可以由用戶來(lái)操作,非常方便。
評(píng)論