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