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