利用單片機改造鍵盤接口
1 引 言
本文引用地址:http://www.104case.com/article/172176.htm80年代由國外引進的這種數控車床,原控制面板是由一臺終端機,一個終端機專用鍵盤和一個用于控制車床的觸模鍵盤組成。經過多年的使用,控制面板和專用鍵盤均出現了故障,該車床已停止使用。而該控制系統使用的終端機及其專用鍵盤又很特殊,國內市場無此類型的產品可直接替換,如果要恢復系統的正常工作,必須研制替代產品。為此在對其控制系統電路的工作原理進行充分分析后,決定對其控制面板上的轉換接口板進行全面改造,下面就新轉換接口板中的硬件和軟件進行介紹。
2 原控制面板的基本工作原理
在正常情況下,通過觸模鍵盤輸入到終端機的數據通過RS—232口發送到車床的控制主機,再由控制主機控制車床進行工件的加工。由于觸模鍵盤是一種特殊的鍵盤,要求該鍵盤發送到終端機的數據為一組特殊代碼,以區別于終端機專用鍵盤所產生的代碼。觸模鍵盤只對車床的控制起作用,不能對終端機進行有關的參數設置,因此必須用專用鍵盤對終端機進行操作。專用鍵盤可以對終端機的操作方式、參數及復雜計算進行設定。設備工作時兩個鍵盤可以同時操作,它們采用了如圖 1所示的連接方法。
3 新轉換接口板的設計原理
首先選擇了一種性能優良、工作穩定可靠的國產終端機(BG— 200中西文圖形顯示終端機)代替原來型號特殊的終端機。新終端機的鍵盤采用的是一種普通的PC/XT鍵盤,由于該終端機的鍵盤接口與原終端機接口完全不一樣,故原轉換接口板已無法使用,需要重新研制新的轉換接口板。在研制新接口的時候考慮到其使用場合的特殊性,需要接口板工作穩定可靠,同時具有二次開發的可能性(如果需要還可更換其它類型的終端機,鍵盤接口也可能需要改變)。另外,設計時為使硬件線路盡量簡單,在鍵盤串行數據的處理上采用了軟件方式(這種方法也為二次開發提供了可能性)。其硬件電路工作原理如圖2所示。
從圖2中可以看出,新板與原板完成的功能是相同的,均要完成兩個鍵盤代碼的接收,并將接收到的代碼向終端機發送。PC/XT鍵盤連接的鍵盤接口的設計有別于傳統設計方法,設計時沒有采用以硬件方式實現鍵盤數據的接收和發送,而是采用軟硬件結合的方法實現鍵碼的接收與發送,從而可以使鍵盤接口電路簡化很多。觸模鍵盤采作了行/列掃描方式讀取鍵碼,并通過查表獲得對應的兩字節代碼。在轉接板的處理器選擇時,根據所使用的具體場合,要求處理器既具有較強的位處理功能,以實現數據的串/并、并/串轉換,同時在構造觸模鍵盤電路時線路應盡可能的簡化,而且還要求其工作穩定可靠。綜合以上各種因素,決定選擇 AT89C52單片機作為處理器。該處理器由于其自身具有512字節的RAM,8K的EPROM,4個I/O口,可處理2個外部中斷源信號,具有能夠滿足設計所要求的各種功能,可以使硬件設計線路大大簡化,因此AT89C52單片機應用在該場合是一種比較理想的器件。下面就各部分電路及相關軟件進行介紹。
3.1 觸模鍵盤的掃描原理
如圖3所示。采用74LS159和74LS150芯片結合單片機的P2口和P33引腳,完成對觸模鍵盤的掃描和鍵碼的讀取工作,再通過軟件進行代碼變換,形成雙碼。單片機的P33引腳用于檢查鍵盤的狀態(當該線狀態為低電平時表示無鍵被按下,為高電平時表示有鍵被按下)。具體的掃描原理是由軟件通過單片機P2口的低4位輸出一個十六進制代碼,通過74LS159十六選一譯碼電路產生一為低電平的行掃描信號。然后再通過P2口上的高4位輸出一個十六進制的列掃描碼,通過74LS150十六選一電路讀出對應列線的狀態。當74LS150的Q信號有效時說明行列交點上的鍵被按下,在AT89C52芯片中形成被按下鍵的鍵碼,并由此通過查表形成特殊的雙碼后送入接收緩存,由發送程序將接收緩存中的代碼發送給終端機。對應的軟件程序流程如圖4所示。
3.2 與PC/XT鍵盤連接的轉換接口完成的工作
PC/XT鍵盤代碼的接收是通過觸發AT89C52單片機的外部中斷,由中斷處理程序完成一次對鍵盤輸入代碼的接收。PC/XT鍵盤的數據接收采用了軟件與硬件相結合的處理方法,其原理如圖5所示。
當PC/XT鍵盤的某個鍵被按下時,鍵盤的時鐘線產生鍵盤時鐘信號CLK,在CLK的第一個下降沿時使 AT89C52的外部中斷源INTO有效觸發外部中斷,AT89C52響應中斷后,進入中斷處理程序,轉換接口板開始接收鍵盤數據。PC/XT鍵盤數據由 9位二進制數組成,在每個CLK下降沿時讀取DATA線上的數值,并對讀到的數值依次進行左移操作。當連續讀取了9位數據后,第9位移入進位位(最先得到的是起始位),若為“1”則說明本次接收合法,將所接收的一個字節數據送入接收緩存單元;若為“0”信號,則說明本次數據接收非法,放棄本次操作。產生外部中斷時執行的中斷處理程序流程如圖6所示。
3.3 與終端機相連的接口完成的工作
兩個鍵盤向終端機發送的數據都是通過與終端機相連的接口實現的,該接口的工作流程實際上就是采用了PC/XT鍵盤數據輸出的方式,由軟件對待發送數據進行并→串轉換,在時鐘信號的同步下,將數據向終端機輸出,其軟件流程如圖7所示。
3.4 主控程序流程 參見圖8。
4 結束語
該接口板的重新設計,在充分利用了單片機資源的情況下,依靠軟硬件結合的方法實現了鍵盤接口的設計,以及觸模鍵盤的設計,使線路的集成度有了很大提高,減化了轉換接口板的硬件線路,提高了線路的工作穩定性。同時為鍵盤接口的升級提供了基本的硬件環境。該設計已被應用到實際中,其操作方法同原來完全相同,控制效果也完全相同,達到了設計要求,運行結果良好,獲得了較好的社會效益和經濟效益。該技術也可應用于對類似數控車床控制面板的改造或使用雙鍵盤的控制面板設計,具有一定的推廣應用價值。
參考文獻
1 何立民.單片機應用系統設計.北京:航空航天大學出版社,1998
2 陳建鐸.8098單片機原理及應用技術.北京:電子工業出版社,1995
3 張寶林.數控技術.北京:機械工業出版社,1997
DIY機械鍵盤相關社區:機械鍵盤DIY
單片機相關文章:單片機教程
單片機相關文章:單片機視頻教程
單片機相關文章:單片機工作原理
評論