劉健+裴雨聽+汪澤睿

摘要:本文通過設計出一個遙控控制電路,并運用了51系列單片機以及紅外發射相關技術,最終實現在發射端按鍵控制對應接收端led燈的點亮。本設計先利用c語言編寫出紅外發射端的發射程序,包括載波信號的產生,數據碼的編碼。再利用c語言編寫紅外接收端的接收程序,包括信號的接收,信號的解碼,以及對應led燈的點亮。
關鍵詞:單片機;紅外發射;紅外接收;led燈
中圖分類號:TP872 文獻標識碼:A 文章編號:1007-9416(2017)11-0008-01
20世紀60年代末,世界上的一部分國家開始研究將遙控技術應用到大眾日常生活當中去。在遙控方式上大致經歷了從有線信號傳輸,發展為作為無線信號的超聲波傳輸、從振動子到紅外線、最后利用微型處理機控制紅外外號傳輸遙控這樣幾個階段。無論采用什么樣子的方式,準確無誤的傳輸,最后達到滿意的控制效果是十分重要的。隨著集成電路的發展和普及,各大生產廠家生產了大量紅外遙控專用集成電路,使得紅外遙控得以在家用電器、室內近距離遙控中得到十分廣泛的應用,涉及人們生活的方方面面。
本文利用單片機通過紅外控制的方式點亮led發光二極管,led發光二極管通過紅外被點亮后延時2秒后自動熄滅。目前市面上有很多的遙控控制裝置,但是市面上鮮有通過遙控控制裝置通過觸發后延時讓其自動熄滅的設備。通過動手設計出一個通過紅外發射接收裝置點亮led發光二極管的延時熄滅裝置。此裝置能應用到工業中,在工廠的流水線中,由于噪聲大,且工人與工人之間的距離太遠,當后方的工人發現問題時,可以通過觸發身邊的紅外發射裝置點亮前面工人面前的led燈,提醒前面的工人進行處理。而且一段時間后led燈會自動熄滅,避免長亮。
1 單片機原理介紹
單片機又能叫做單片微型控制器,是一種體積小,功耗低的器件。它的組成部分也不是很復雜,主要有一個中央處理模塊,也就是我們平常所熟知的CPU,還有一個隨機存儲器,也就是我們平常見到的計算機里面的RAM部分,同時還包括一個與隨機存儲器相對應的只讀存儲器,也就是相當于計算機里面的ROM部分。當然,單片機里面還包括了中斷系統,當外部中斷到來時或者內部中斷到來時,用于中斷單片機的處理裝置。同時,單片機里面還包括了定時/計數器,是用于計數功能,以及定時功能,在許多情況下具有非常重要的作用。
2 遙控控制設計
2.1 遙控控制原理
利用紅外線進行信號的發送和接收,也就是說載波信號即為紅外光束。一般來說,紅外遙控裝置是由一個發射裝置和一個接收裝置組成的,發射和接收裝置應用一套編碼原理,在信號的傳輸過程中傳輸的只是紅外光束信號的強弱變化。在發射端,根據發射原理,將信號轉換成不同強弱的紅外光束,然后通過發光二極管將不同強弱的紅外光束發射出去;而在接收端,同樣也是根據同一協議里面的解碼原理,對不同強弱的紅外光束進行相應的解碼,從而得到傳輸的信號[1]。
2.2 遙控收發端整體電路設計
設計是由一個發射裝置和一個接收裝置組成。在發射端是由一個51系列單片機,一個紅外發射管和4個物理按鍵組成。在接收端是由一個51系列單片機,一個紅外接收管,四個led發光二極管組成。發射端主要承擔信號發射的作用,而接收端主要承擔的是信號接收和點亮led發光二極管的作用。
3 軟件的設計
3.1 發射端、接收端軟件設計
遙控發射器專用的芯片有很多,根據編碼格式可以分成兩大類,本設計是以日本NEC編碼協議對發射電路進行編碼。編碼“0”波形圖,如圖1所示。編碼“1”波形圖,如圖2所示。
紅外接收器的編碼較為簡單,只需依據之前發射編碼數據幀格式,進行相應的解碼即可得到發射的源代碼。得到的數據存放入數組,再由I0口輸入即可。
3.2 程序算法設計剖析
3.2.1 紅外發射算法
依據NEC協議應該首先發送9ms的AGC(自動增益控制)的高脈沖,接著發送4.5ms的起始低電平。啟動定時器0,發送高電平:TR0=1;然后通過定時器控制,使高電平持續時間達到9ms;接著,關閉定時器0,拉低電平:TR0=0;同樣通過定時器控制,使低電平持續4.5ms;之后開始發送數據。在發送數據的過程中,采取由地位開始逐位發送的方式。而對“0”和“1”的處理,采取的是NEC協議里的通過對高電平持續時間的控制。
3.2.2 紅外接收部分算法
首先進行紅外接收頭的初始化設置,至IR_IN為高電平,開總中斷EA,開外部中斷EX0,設置觸發方式為跳變沿觸發IT0=1。然后初始化輸出口led燈。接著等待外部中斷的到來啟動紅外接收頭。在接受數據的處理中,采用由低位開始逐位取出存放于數組的方式,通過高電平的持續時間判斷是碼“0”或者碼“1”。
3.3 Keil軟件對紅外發射和接收程序的調試
在keil上首先編譯發射源程序,然后在keil上生成發射源程序的hex類型文件,并命名為Wireless.hex。接著在keil上接著編譯接收源程序,然后在keil上生成接收源程序的hex類型文件,并命名為jieshou.hex。
4 利用proteus軟件的仿真
將單片機U1讀入之前生成的Wireless.hex文件,U1讀入Wireless.hex文件后可以執行發射編碼功能。將單片機U2讀入之前生成的jieshou.hex文件,U2讀入jieshou.hex文件后可以執行接收信號譯碼功能。至此,proteus軟件已經調試成功,我們下面來測試仿真情況。
首先是開始仿真時,沒有任何按鍵按下,所有led燈處于熄滅狀態,紅外發射裝置沒有信號的發送和接收;然后按下按鍵“1”,出現led燈1亮;大約2秒后led燈1自動熄滅;接著我們按下按鍵“4”,出現led燈4亮;大約2秒后led燈自動熄滅。此后,對按鍵“2”,“3”分別進行了測試,對應的led燈分別點亮并在大約2秒后自動熄滅。endprint
5 結語
本文立足于工業應用,分析了單片機的工作原理和紅外發射管的工作原理,對單片機和紅外發射管的聯合應用做了很詳盡的分析和設計,利用仿真軟件,優化了本設計的許多參數,得到了較為滿意的模擬實驗效果。通過實物的焊接,實現了利用紅外線對led燈的控制,從而得到了以下結論:
本研究所建立的紅外控制模型比較合理,設計模型在仿真軟件下的工作狀態與實際狀態基本一致;紅外接收端的led燈需要串聯一個1000Ω以下的電阻,如果選擇電阻太大多使led燈無法點亮;紅外發射程序中,由于是點對點近距離傳輸且發生錯誤概率低,可以選擇不發送地址碼,對實驗結果沒有影響。
參考文獻
[1]周航慈.單片機應用程序設計技術[M].北京:北京航空航天大學出版社,2002.
Abstract:In this paper, through the design of a remote control circuit, and the use of 51 series microcontroller and infrared emission related technologies, and ultimately achieve the control button at the transmitter corresponding to the receiving end of the LED lights. This design uses the C language to write the infrared transmitter, including carrier signal generation, data code coding. Then, the receiving program of infrared receiver is written by C language, including signal reception, signal decoding, and lighting of corresponding LED lamp.
Key Words:single chip microcomputer;infrared emission;infrared receiving;LED lampendprint