紅外技術(shù)之工業(yè)控制計(jì)算機(jī)紅外線遙控鍵盤的設(shè)計(jì)
遙控技術(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)的操作將變得更容易、更快捷、更方便、更安全。
對(duì)于工業(yè)控制微機(jī)系統(tǒng)來說輸入設(shè)備鍵盤幾乎是必不可少的。在按鍵數(shù)目較少時(shí),一般直接利用按鍵控制接口線的高低電平來表示,因此需要相應(yīng)的接口支持,由于單片工業(yè)控制微機(jī)系統(tǒng)接口線數(shù)目有限,為了減少占用接口線常常采用一鍵定義多功能,但這又增加了軟件的復(fù)雜性;在按鍵數(shù)目較多時(shí),則大多采用動(dòng)態(tài)掃描的方式構(gòu)成鍵盤矩陣,這種鍵盤雖然結(jié)構(gòu)原理簡(jiǎn)單,驅(qū)動(dòng)程序易于設(shè)計(jì),但是在具體實(shí)現(xiàn)時(shí)往往需要花很多的時(shí)間去設(shè)計(jì)印刷電路板、考慮面板布局,而且在硬件資源比較緊張時(shí),還要考慮擴(kuò)充I/O口,從而使得電路變得越來越復(fù)雜。
本文介紹一種利用紅外線發(fā)射裝置作為工業(yè)控制計(jì)算機(jī)輸入鍵盤的接口原理和實(shí)現(xià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)單,無需布線,只要將成品模塊的輸出直接接到單片工業(yè)控制微機(jī)系統(tǒng)的任一I/ O 接口線即可,同時(shí)驅(qū)動(dòng)程序也易于設(shè)計(jì)。由于鍵盤采用無線方式,因此所構(gòu)成的單片機(jī)可以方便地滿足一些需要遠(yuǎn)距離控制的場(chǎng)合,以及一些特殊場(chǎng)合,例如:單片工業(yè)控制微機(jī)系統(tǒng)在一個(gè)密封的容器內(nèi),通過玻璃小窗進(jìn)行參數(shù)輸入或控制;單片工業(yè)控制微機(jī)周圍環(huán)境不適宜用戶近距離操作等。
1. 紅外線遙控鍵盤的硬件組成
由集成芯片PT2248構(gòu)成的紅外線遙控鍵盤發(fā)射電路見圖1。00H~09H為數(shù)字鍵,0AH為復(fù)位鍵,0BH 為取消鍵。
紅外線遙控鍵盤發(fā)射電路采用脈時(shí)調(diào)制(PPM)方式,將遙控指令調(diào)制成脈沖序列,并驅(qū)動(dòng)紅外發(fā)射管以光脈沖的形式發(fā)送出去。遙控指令有12位碼組成,見表1。
表1 遙控指令格式
C1,C2,C3是用戶碼,在T1,T2,T3與 CODE之間分別接二極管則分別代表C1,C2,C3為高電平“1”,不接二極管則代表低電平“0”,圖2中C1C2C2=111。 D1,D2,D3,D4,D5,D6是發(fā)送的數(shù)據(jù)碼,鍵號(hào)與鍵碼的對(duì)應(yīng)關(guān)系見表2。
PT2248遙控指令的波形正脈沖的占空比為1/4時(shí)代表“0”,正脈沖的占空比為 3/4時(shí)代表“1”見圖2。
無論“0”還是“1”,發(fā)射時(shí)正脈沖被調(diào)制在38KHZ的載波上,載波的占空比為 1/3,這樣有利于減少功耗。每個(gè)發(fā)送周期按C1,C1,C2,H,S1,S2,D1,D2,D3,D4,D5,D6的次序串行發(fā)送,總長(zhǎng)度為48a,其中a為每位碼周期的1/4,其大小為:a=192/fosc秒=192/455KHE=0.422ms。按下00H~0BH中某個(gè)鍵時(shí),輸出腳TXOUT 發(fā)送兩個(gè)周期的12位碼,其間隔為80a。由GL3276A構(gòu)成的紅外線遙控鍵盤接收電路見圖3。
當(dāng)紅外線線遙控鍵盤接收電路工作時(shí),接收管PH302B接收到帶有載頻為38KHZ 的遙控指令的紅外線信號(hào)后,進(jìn)行放大,限幅和檢波,檢出遙控指令的脈沖包絡(luò),濾去38KHZ載頻,得到遙控指令的脈沖信號(hào),整形并反向后由OUT輸出,將 GL3276A的OUT經(jīng)74LS14施密特觸發(fā)器整形,最終得到遙控指令的理想的反向脈沖信號(hào)。得到的遙控指令的反向脈沖信號(hào)的波形正脈沖的占空比為 1/4代表“1”,正脈沖的占空比為3/4代表“0”,見圖4。
2. 紅外線遙控鍵盤的軟件設(shè)計(jì)
將GL3276A的OUT輸出信號(hào)經(jīng)74LS14兩級(jí)施密特反向器整形后與89C51的P3.2(/INTO)相連,由于每位碼都以4a為周期,每位的起始總是由高電平到低電平,因此解碼的過程可用每位碼的起始邊沿作為/INTO的中斷請(qǐng)求信號(hào),中斷響應(yīng)后關(guān)/INTO中斷,然后延時(shí)a/2,由P3.2對(duì)紅外線遙控接收電路的輸出信號(hào)進(jìn)行采樣,再延時(shí)a,分別在3a/2,5a/2,7a/2時(shí)刻進(jìn)行采樣,波形與采樣時(shí)刻的對(duì)應(yīng)關(guān)系見圖5。
由圖5可見接收到的“0”由‘低高高高’組成,“1”由‘低低低高’組成,當(dāng) 7a/2時(shí)刻采樣完成后開/INTO中斷,為下一位碼的采樣作準(zhǔn)備,直到/INTO中斷24次(兩個(gè)周期的串行12位碼)。中斷服務(wù)子程序開始預(yù)置樣碼 0FH,分別在a/2,3a/2,5a/2,7a/2時(shí)刻由P3.2對(duì)紅外遙控接收電路的輸出信號(hào)進(jìn)行采樣,如果是高電平保持樣碼不變,如果是低電平樣碼相應(yīng)位置0,最后將樣碼存入指定的RAM單元。
遙控鍵盤的可靠性是軟硬件設(shè)計(jì)中重點(diǎn)考慮的問題。在硬件上,將GL3276A的OUT經(jīng) 74LS14施密特整形,以提高抗干擾能力。在軟件上要正確的解碼,必須從每位碼的起始位開始接收,本設(shè)計(jì)中,PT2248發(fā)送的遙控指令的起始碼為用戶碼C1C2C3=111,因?yàn)?/span>P3.2接收到的“1”由‘低低低高’組成,因此接收到的碼應(yīng)為三個(gè)“0001”,若不是,本次接收無效。其次,為了防止接收誤碼,應(yīng)對(duì)前后兩次接收的兩個(gè)周期的12位串行碼進(jìn)行一致性比較,若相同則與鍵碼表中的鍵碼進(jìn)行比較,找出相應(yīng)的鍵號(hào),否則本次接收無效。解碼程序流程圖見圖6.
最后,我們已經(jīng)成功地利用該接口方式實(shí)現(xiàn)了單片機(jī)鍵盤的無線式操作。文中以PT2248集成芯片作為發(fā)射部分,對(duì)于其他類型發(fā)射芯片,此接口原理仍然適用,只需相應(yīng)修改中斷服務(wù)程序即可。如果單片機(jī)系統(tǒng)有多余的外中斷資源,可將接收到的信號(hào)輸入至中斷引腳,利用外中斷與定時(shí)器結(jié)合,則可減少接收處理時(shí)對(duì)CPU 時(shí)間的占用。利用此技術(shù),我們?cè)?ldquo;智能型牛奶質(zhì)量快速檢測(cè)儀研制”項(xiàng)目上得到了很好的應(yīng)用。
共有-條評(píng)論【我要評(píng)論】