1. 引言 對于工業控制微機系統來說輸入設備鍵盤幾乎是必不可少的。在按鍵數目較少時,一般直接利用按鍵控制接口線的高低電平來表示,因此需要相應的接口支持,由于單片工業控制微機系統接口線數目有限,為了減少占用接口線常常采用一鍵定義多功能,但這又增加了軟件的復雜性;在按鍵數目較多時,則大多采用動態掃描的方式構成鍵盤矩陣,這種鍵盤雖然結構原理簡單,驅動程序易于設計,但是在具體實現時往往需要花很多的時間去設計印刷電路板、考慮面板布局,而且在硬件資源比較緊張時,還要考慮擴充I/ O 口,從而使得電路變得越來越復雜。 2. 系統簡介 本文介紹一種無線式鍵盤接口,該接口可以最大限度地減少對單片機系統的硬件資源要求,僅占用一根接口線,在系統的面板上只需一個小的接收窗。整個接口由發射和接收兩部分組成。對于單片工業控制微機系統所需的按鍵數目少于30 時,發射部分可以直接使用成品紅外遙控發射器,如果自行設計發射部分,則可以支持60個鍵左右,其中有兩鍵用于構成組合按鍵。接收部分的接口電路也非常簡單,無需布線,只要將成品模塊的輸出直接接到單片工業控制微機系統的任一I/ O 接口線即可,同時驅動程序也易于設計。由于鍵盤采用無線方式,因此所構成的單片機可以方便地滿足一些需要遠距離控制的場合,以及一些特殊場合,例如:單片工業控制微機系統在一個密封的容器內,通過玻璃小窗進行參數輸入或控制;單片工業控制微機周圍環境不適宜用戶近距離操作等。 2.1硬件設計與工作原理 整個鍵盤接口的原理框圖如圖一 所示,發射部分與接收部分之間采用紅外線作為傳播媒介。 圖一 無線鍵盤接口原理框圖 2.1.1發射部分 我們選用由TCL2101AS型電視機紅外遙控發射器, 圖二 為其內部的電路原理圖。微處理器TC9028 F--022 芯片為控制核心,24位鍵盤矩陣,三極管Q1501是驅動器,D1501(HIR305B)是紅外線發射二極管。 微處理器TC9028 F--022 芯片的功能比較簡單,一是鍵盤掃描,識別鍵位,二是鍵功能編碼,向輸出端口提供編碼數據。當有鍵按下時,微處理器TC9028 F--022 掃描鍵盤,識別出是哪個按鍵后,進行功能編碼,從19腳輸出,經Q1501驅動,使D1501發出紅外光,向外發射傳輸數據。 圖二 紅外遙控發射器電路 2.1.2 紅外線遙控接收器與單片機的接口電路設計 TMFS—5380是紅外線遙控接收器,當內部的光電二極管接收到紅外光時,光電檢測電路將光電流轉換為電壓信號,電壓信號被放大后,被帶通濾波器選出已調信號,經檢波,取出編碼脈沖,從1腳輸出。紅外線遙控接收器與單片機的接口電路,仍采用TMFS—5380,它與單片機的連接如圖三所示。 圖三紅外線遙控接收器與單片機的接口電路 2.2 軟件設計 根據上述紅外線遙控接收器與單片機的接口電路,軟件設計有兩種編程方法,一種方法可以采用中斷觸發方式;另一種方法可以采用啟動定時器方式。 2.2.1 中斷觸發方式 遙控接收電路1腳輸出的是串行脈沖信號,可以讓此脈沖觸發單片機的外部中斷INT1,設置定時器T0工作于方式0,當中斷到來時,給T0置初值0,然后啟動T0,當下一次中斷到來時,讀出T0的值,根據值的大小就可以判斷脈沖的寬度,即可判斷出是“0”,還是“1”。程序方框圖如下所示。 2.2.2啟動定時器方式 把遙控接收電路1腳輸出的串行脈沖信號到向后,從INT1腳送入,當信號由“0”變“1”時,T1開始計時/計數,在INT1引腳為高電平期間,始終接通脈沖源,T1不停地計時/計數,當INT1信號由“1”變“0”時,定時器停止計時/計數。此時讀出T1的值,依據值的大小就可以判斷此高電平的時間,亦即可判斷出是“0”,還是“1”。主程序設計不再贅述,下面給出讀取脈沖寬度的參考程序。 LOOP:JB P3.3,LOOP MOV TL0,#00H MOV TH0,#00H SETB TR0 LOOP1: JNB P3.3,LOOP1 JB P3.3,$ CLR TR0 MOV 60H,TL0 MOV 61H,TH0 3 結束語 本文介紹了一種利用紅外遙控器作為單片機輸入鍵盤的接口原理和方法,構思巧妙,結構合理,成本低廉,我們已經成功地利用該接口方式實現了單片機鍵盤的無線式操作。文中以TC9028 F--022 芯片作為發射部分,對于其他類型發射芯片,此接口原理仍然適用,只需相應修改中斷服務程序即可。如果單片機系統有多余的外中斷資源,可將接收到的信號輸入至中斷引腳,利用外中斷與定時器結合,則可減少接收處理時對CPU 時間的占用。 遙控技術經歷了有線遙控、無線電波遙控,現今的紅外遙控,技術已相當成熟,功能越來越強,運行越來越穩定,應用越來越廣泛。先進的遙控技術配合單片機運用到工業控制中去,那么,控制系統的操作將變得更容易、更快捷、更方便、更安全。 |