基于單片工業(yè)控制微機(jī)的無線式鍵盤接口設(shè)計
摘 要:本文介紹了一種利用紅外遙控器作為單片機(jī)輸入鍵盤的接口原理和方法。該接口方式既可以節(jié)省單片機(jī)的硬件資源,同時也方便了使用者對單片機(jī)的操作,尤其是適合某些需要遠(yuǎn)距離操作的場合。平
關(guān)鍵詞:單片工業(yè)控制微機(jī);紅外遙控;鍵盤接口
1. 引言
對于工業(yè)控制微機(jī)系統(tǒng)來說輸入設(shè)備鍵盤幾乎是必不可少的。在按鍵數(shù)目較少時,一般直接利用按鍵控制接口線的高低電平來表示,因此需要相應(yīng)的接口支持,由于單片工業(yè)控制微機(jī)系統(tǒng)接口線數(shù)目有限,為了減少占用接口線常常采用一鍵定義多功能,但這又增加了軟件的復(fù)雜性;在按鍵數(shù)目較多時,則大多采用動態(tài)掃描的方式構(gòu)成鍵盤矩陣,這種鍵盤雖然結(jié)構(gòu)原理簡單,驅(qū)動程序易于設(shè)計,但是在具體實現(xiàn)時往往需要花很多的時間去設(shè)計印刷電路板、考慮面板布局,而且在硬件資源比較緊張時,還要考慮擴(kuò)充I/ O 口,從而使得電路變得越來越復(fù)雜。
2. 系統(tǒng)簡介
本文介紹一種無線式鍵盤接口,該接口可以最大限度地減少對單片機(jī)系統(tǒng)的硬件資源要求,僅占用一根接口線,在系統(tǒng)的面板上只需一個小的接收窗。整個接口由發(fā)射和接收兩部分組成。對于單片工業(yè)控制微機(jī)系統(tǒng)所需的按鍵數(shù)目少于30 時,發(fā)射部分可以直接使用成品紅外遙控發(fā)射器,如果自行設(shè)計發(fā)射部分,則可以支持60個鍵左右,其中有兩鍵用于構(gòu)成組合按鍵。接收部分的接口電路也非常簡單,無需布線,只要將成品模塊的輸出直接接到單片工業(yè)控制微機(jī)系統(tǒng)的任一I/ O 接口線即可,同時驅(qū)動程序也易于設(shè)計。由于鍵盤采用無線方式,因此所構(gòu)成的單片機(jī)可以方便地滿足一些需要遠(yuǎn)距離控制的場合,以及一些特殊場合,例如:單片工業(yè)控制微機(jī)系統(tǒng)在一個密封的容器內(nèi),通過玻璃小窗進(jìn)行參數(shù)輸入或控制;單片工業(yè)控制微機(jī)周圍環(huán)境不適宜用戶近距離操作等。
2.1硬件設(shè)計與工作原理
整個鍵盤接口的原理框圖如圖一 所示,發(fā)射部分與接收部分之間采用紅外線作為傳播媒介。
圖一 無線鍵盤接口原理框圖
2.1.1 發(fā)射部分
我們選用由TCL2101AS型電視機(jī)紅外遙控發(fā)射器, 圖二 為其內(nèi)部的電路原理圖。微處理器TC9028 F--022 芯片為控制核心,24位鍵盤矩陣,三極管Q1501是驅(qū)動器,D1501(HIR305B)是紅外線發(fā)射二極管。
微處理器TC9028 F--022 芯片的功能比較簡單,一是鍵盤掃描,識別鍵位,二是鍵功能編碼,向輸出端口提供編碼數(shù)據(jù)。當(dāng)有鍵按下時,微處理器TC9028 F--022 掃描鍵盤,識別出是哪個按鍵后,進(jìn)行功能編碼,從19腳輸出,經(jīng)Q1501驅(qū)動,使D1501發(fā)出紅外光,向外發(fā)射傳輸數(shù)據(jù)。
圖二 紅外遙控發(fā)射器電路
2.1.2 紅外線遙控接收器與單片機(jī)的接口電路設(shè)計
TMFS―5380是紅外線遙控接收器,當(dāng)內(nèi)部的光電二極管接收到紅外光時,光電檢測電路將光電流轉(zhuǎn)換為電壓信號,電壓信號被放大后,被帶通濾波器選出已調(diào)信號,經(jīng)檢波,取出編碼脈沖,從1腳輸出。紅外線遙控接收器與單片機(jī)的接口電路,仍采用TMFS―5380,它與單片機(jī)的連接如圖三所示。
圖三 紅外線遙控接收器與單片機(jī)的接口電路
2.2 軟件設(shè)計
根據(jù)上述紅外線遙控接收器與單片機(jī)的接口電路,軟件設(shè)計有兩種編程方法,一種方法可以采用中斷觸發(fā)方式;另一種方法可以采用啟動定時器方式。
2.2.1 中斷觸發(fā)方式
遙控接收電路1腳輸出的是串行脈沖信號,可以讓此脈沖觸發(fā)單片機(jī)的外部中斷INT1,設(shè)置定時器T0工作于方式0,當(dāng)中斷到來時,給T0置初值0,然后啟動T0,當(dāng)下一次中斷到來時,讀出T0的值,根據(jù)值的大小就可以判斷脈沖的寬度,即可判斷出是“0”,還是“1”。程序方框圖如下所示。
2.2.2啟動定時器方式
把遙控接收電路1腳輸出的串行脈沖信號到向后,從INT1腳送入,當(dāng)信號由“0”變“1”時,T1開始計時/計數(shù),在INT1引腳為高電平期間,始終接通脈沖源,T1不停地計時/計數(shù),當(dāng)INT1信號由“1”變“0”時,定時器停止計時/計數(shù)。此時讀出T1的值,依據(jù)值的大小就可以判斷此高電平的時間,亦即可判斷出是“0”,還是“1”。主程序設(shè)計不再贅述,下面給出讀取脈沖寬度的參考程序。
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 結(jié)束語
本文介紹了一種利用紅外遙控器作為單片機(jī)輸入鍵盤的接口原理和方法,構(gòu)思巧妙,結(jié)構(gòu)合理,成本低廉,我們已經(jīng)成功地利用該接口方式實現(xiàn)了單片機(jī)鍵盤的無線式操作。文中以TC9028 F--022 芯片作為發(fā)射部分,對于其他類型發(fā)射芯片,此接口原理仍然適用,只需相應(yīng)修改中斷服務(wù)程序即可。如果單片機(jī)系統(tǒng)有多余的外中斷資源,可將接收到的信號輸入至中斷引腳,利用外中斷與定時器結(jié)合,則可減少接收處理時對CPU 時間的占用。
遙控技術(shù)經(jīng)歷了有線遙控、無線電波遙控,現(xiàn)今的紅外遙控,技術(shù)已相當(dāng)成熟,功能越來越強(qiáng),運(yùn)行越來越穩(wěn)定,應(yīng)用越來越廣泛。先進(jìn)的遙控技術(shù)配合單片機(jī)運(yùn)用到工業(yè)控制中去,那么,控制系統(tǒng)的操作將變得更容易、更快捷、更方便、更安全。
參考文獻(xiàn)
[1] 陳明螢 8051單片機(jī)課程設(shè)計 清華大學(xué)出版社 2004
[2] 求是科技 單片機(jī)典型模塊設(shè)計實例導(dǎo)航 人民郵電出版社 2004
[3] TCL王牌彩色電視機(jī)電路分析與檢修 人民郵電出版社2000
評論