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