基于MC9S12XS128的單片機開(kāi)發(fā)板的設計
1.5 矩陣鍵盤(pán)按鍵識別
在MC9S12XS128單片機的I/O口設計4×4行列式鍵盤(pán),采用程序掃描識別鍵號,當有按鍵按下時(shí),其鍵號顯示在共陰極LED數碼管上。其電路如圖7所示。在鍵盤(pán)的按鍵識別中通常采用“行掃描法”(逐行或列)掃描查詢(xún)法。判斷鍵盤(pán)中有無(wú)鍵按下時(shí),將列線(xiàn)PT0~PT3置為輸出,將其中一條線(xiàn)置低電平其余3條線(xiàn)輸出高電平,然后檢測行線(xiàn)的狀態(tài)。只要有一行的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵為被拉低的低電平行線(xiàn)與4根列線(xiàn)中低電平線(xiàn)相交叉的對應按鍵。若判斷所有行線(xiàn)均為高電平,則鍵盤(pán)中無(wú)鍵按下(具體可用查表的方法)。
但是此種方法單片機需要通過(guò)不停的掃描查詢(xún),方可準確的檢測到按鍵值??紤]到PP口有中斷功能所以可將這4個(gè)口設置成中斷的模式來(lái)獲得按鍵值,本設計中是將拉高的4位通過(guò)一個(gè)與門(mén)接到單片機的帶中斷的引腳上,這樣當任意鍵按下時(shí)就會(huì )產(chǎn)生低電平發(fā)生中斷,這時(shí)單片機再進(jìn)行按鍵判斷,從而無(wú)需一直查詢(xún),減少了MCU的負荷量。
數碼管顯示電路采用共陰極使用兩個(gè)鎖存器74HC573分別接到PORTA口和PORTB口來(lái)實(shí)現。也可應用液晶顯示接口:1602和12864接口顯示。
2 系統軟件設計
系統軟件采用C語(yǔ)言編寫(xiě),由于存在鍵盤(pán)陣列、數碼管顯示和液晶顯示,它可以完成較多的常規實(shí)驗項目。如LED流水燈實(shí)驗、基于PWM控制的蜂鳴器實(shí)驗、數碼管驅動(dòng)、鍵盤(pán)驅動(dòng)、1602液晶驅動(dòng)、ATD轉換等多個(gè)實(shí)驗;還可以進(jìn)行目前工業(yè)控制所常用的通信試驗,如串口,IIC,CAN,LIN,485總線(xiàn)實(shí)驗,基本具備單片機開(kāi)發(fā)工業(yè)控制系統的能力。下面以電子鐘為例來(lái)介紹其軟件設計思想。
在電子鐘設計中對于時(shí)間的產(chǎn)生,選擇PIT0,即對周期中斷定時(shí)器0做初始化,使其每隔1 ms產(chǎn)生1次中斷,定義4個(gè)變量分別為:毫秒,秒,分,時(shí),然后在中斷服務(wù)程序中根據這4個(gè)變量在實(shí)際中的關(guān)系更新這4個(gè)變量。在主程序中判斷鍵盤(pán)按鍵值和進(jìn)行時(shí)間顯示,這里定義3個(gè)鍵值:1,2,3。軟件程序流程圖如圖8所示。本文引用地址:http://dyxdggzs.com/article/172560.htm
3 結語(yǔ)
本套單片機開(kāi)發(fā)板為即將參加“飛思卡爾”競賽的學(xué)生提供了一個(gè)靈活高效的學(xué)習平臺,同時(shí)可為大學(xué)本科學(xué)生學(xué)習嵌入式開(kāi)發(fā)系統以及為汽車(chē)電子行業(yè)工程師提供良好的開(kāi)發(fā)平臺,具有較高的實(shí)用性和推廣價(jià)值。
評論