




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西安科技大學高新學院 畢業(yè)論文紅外遙控器的基本原理· 紅外線的特點人的眼睛能看到的可見光,若按波長排列,依次(從長到短)為紅、橙、黃、綠、青、藍、紫,紅光的波長范圍為 0.62m0.7m,比紅光波長還長的光叫紅外線。紅外線遙控器就是利用波長 0.76m1.5m之間的近紅外線來傳送控制信號的。紅外線的特點是不干擾其他電器設備工作,也不會影響周邊環(huán)境。電路調試簡單,若對發(fā)射信號進行編碼,可實現多路紅外遙控功能。紅外線發(fā)射和接收人們見到的紅外遙控系統(tǒng)分為發(fā)射和接收兩部分。發(fā)射部分的發(fā)射元件為紅外發(fā)光二極管,它發(fā)出的是紅外線而不是可見光。常用的紅外發(fā)光二極管發(fā)出的紅外線波長為 940nm 左
2、右,外形與普通5mm 發(fā)光二極管相同,只是顏色不同。一般有透明、黑色和深藍等三種。判斷紅外發(fā)光二極管的好壞與判斷普通二極管一樣的方法。單只紅外發(fā)光二極管的發(fā)射功率約 100mW。紅外發(fā)光二極管的發(fā)光效率需用專用儀器測定,而業(yè)余條件下,只能憑經驗用拉距法進行粗略判定。接收電路的紅外接收管是一種光敏二極管,使用時要給紅外接收二極管加反向偏壓,它才能正常工作而獲得高的靈敏度。紅外接收二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率較小,紅外接收二極管收到的信號較弱,所以接收端就要增加高增益放大電路。然而現在不論是業(yè)余制作或正式的產品,大都采用成品的一體化接收頭。紅外線一體化接收頭是集紅外接收
3、、放大、濾波和比較器輸出等的模塊,性能穩(wěn)定、可靠。所以,有了一體化接收頭,人們不再制作接收放大電路,這樣紅外接收電路不僅簡單而且可靠性大大提高。紅外遙控器的協(xié)議· 鑒于家用電器的品種多樣化和用戶的使用特點,生產廠家對紅外遙控器進行了嚴格的規(guī)范編碼,這些編碼各不相同,從而形成不同的編碼方式,統(tǒng)一稱為紅外遙控器編碼傳輸協(xié)議。了解這些編碼協(xié)議的原理,不僅對學習和應用紅外遙控器是必備的知識,同時也對學習射頻(一般大于300MHz)無線遙控器的工作原理有很大的幫助。到目前為止, 筆者從外刊收集到的紅外遙控協(xié)議已多達十種, 如: RC5、 SIRCS、 SONy、 RECS80、Denon、NE
4、C、Motorola、Japanese、SAMSWNG 和 Daewoo 等。我國家用電器的紅外遙控器的生產廠家,其編碼方式多數是按上述的各種協(xié)議進行編碼的,而用得較多的有 NEC協(xié)議。紅外遙控器的結構特征· 紅外遙控發(fā)射器由鍵盤矩陣、遙控專用集成電路、激勵器和紅外發(fā)光二極管組 成。遙控專用集成電路(采用 AT89S52 單片機)是發(fā)射系統(tǒng)的核心部分,其內部由振 蕩電路、定時電路、掃描信號發(fā)生器、鍵輸入編碼器、指令譯碼器、用戶碼轉換器、 數碼調制電路及緩沖放大器等組成。它能產生鍵位掃描脈沖信號,并能譯出按鍵的 鍵碼,再經遙控指令編碼器得到某鍵位的遙控指令(遙控編碼脈沖),由 38KH
5、Z 的載 波進行脈沖幅度調制,載有遙控指令的調制信號激勵紅外二極管發(fā)出紅外遙控信號。在紅外接收器中,光電轉換器件(一般是光電二極管或光電三極管,我們這里 用的是 PIN 光電二極管)將接收到的紅外光指令信號轉換成相應的電信號 。此時的信號非常微弱而且干擾特別大,為了實現對信號準確的檢測和轉換, 除了高性能的紅外光電轉換器件,還應合理地選擇并設計性能良好的電路形式。 最常用的光電轉換器件是光電二極管,當光電二極管 PN 結的光敏面受到光照射 后,PN 結的半導體材料吸收光能,并將光能轉換為電能。當光電二極管上加有反向 電壓時,二極管中的反向電流將隨入射光照強度的變化而變化,光的輻照強度越大, 其
6、反向電流越大。也就是說,光電二級管的反向電流隨入射的光脈沖作同頻率的變 化。紅外遙控器的應用· 紅外遙控器由于受遙控距離、角度等影響,使用效果不是很好, 如采用調頻或調幅發(fā)射接收編碼,則可提高遙控距離,并且沒有角度影響。紅外遙 控發(fā)射和接收模塊可以用在室內紅外遙控中,它不影響周邊環(huán)境、不干擾其它電器 設備。由于其無法穿透墻壁,所以不同房間的家用電器可使用通用遙控器而不會產 生相互干擾;電路調試簡單,只要按給定電路連接無誤,一般不需任何調試即可投入 工作;編解碼容易,可進行多路遙控?,F在紅外遙控在家用電器、室內近距離遙控中 得到了廣泛的應用。另外模塊還可以用在其他紅外遙控系統(tǒng)中,應用前
7、景十分廣闊。 51單片機設計的紅外線遙控器電路圖及工作原理 你家里是否有一個電視機遙控器或者空調機遙控器呢?你是否也想讓它遙控其他的電器甚至讓它遙控您的電腦呢?那好,跟我一起做這個“紅外遙控解碼器”。 該小制作所需要的元件很少:單片機TA89C2051一只,RS232接口電平與TTL電平轉換心片MAX232CPE 一只,紅外接收管一只,晶振11.0592MHz,電解電容10uF4只,10uF一只,電阻1K1個,300歐姆左右1個,瓷片電容30P2個。發(fā)光二極管8個。價錢不足20元。電路圖及原理: 主控制單元是單片機AT89C2051,中斷口INT0跟紅外接受管U1相連,接收紅外信號的脈沖,8個
8、發(fā)光二極管作為顯示解碼輸出(也可以用來擴展接其他控制電路),U3是跟電腦串行口RS232相連時的電平轉換心片,9、10腳分別與單片機的1、2腳相連,(1腳為串行接收,2腳為串行發(fā)送),MAX232CPE的7、8腳分別接電腦串行口的2(接收)腳、3(發(fā)送腳)。晶振采用11.0592MHz,這樣才能使得通訊的波特率達到9600b/s,電腦一般默認值是9600b/s、8位數據位、1位停止位、無校驗位。 電路就這么簡單了,現在分析具體的編程過程吧。 如圖所示,panasonic遙控器的波形是這樣的(經過反復測試的結果)。 開始位是以3.6ms低電平然后是3.6ms高電平,然后數據表示形式是0.9ms低
9、電平0.9ms高電平周期為1.8ms表示“0”, 0.9ms低電平 2.4ms高電平周期為3.3ms表示“1”,編寫程序時,以大于3.4ms小于3.8ms高電平為起始位,以大于2.2ms小于2.7ms高電平表示“1”,大于0.84ms小于1.11ms高電平表示“0”。因此,我們主要用單片機測量高電平的長短來確定是“1”還是“0”即可。定時器0的工作方式設置為方式1:mov tmod,#09h,這樣設置定時器0即是把GATE置1,16位計數器,最大計數值為2的16次方個機器周期,此方式由外中斷INT0控制,即INT0為高時才允許計數器計數。比如: jnb p3.2,$jb p3.2,$clr t
10、r0這3條指令就可以測量一個高電平,接下來讀取計數值TH0,TL0就可以分辨是起始位還是“1”或“0”。在確定碼表之前,您可以使用P0口的8個發(fā)光二極管來顯示編碼,16位編碼分兩次顯示:mov p0,keydataacall delay_1s ;/1ms延時子程序mov p0,keydata+1ljmp main根據P0相繼的兩次顯示的編碼,記錄每個按鍵的編碼,形成編碼表,即遙控器編碼的解碼完畢。碼表確定之后,以后接收到遙控器的編碼之后,就與碼表比較,找到匹配的碼項,并把該碼項對應的順序號輸出到P0口,同時也把順序號向串行口輸出到電腦,電腦接收該數據后由串口軟件決定如何處理。 程序不長,下面是
11、完整的程序和注釋:(先看流程圖) keydata equ 30h ;/該地址和31H地址用來存放遙控器按鍵編碼。org 00hmain: mov keydata,#0 ;/ 清零 mov tmod ,#09h ;/設置定時0方式1,GATE=1 mov r7,#0 ;/計數器,用來計數是否滿8位 mov r6,#0 ;/計數器,用來計數是否滿2字節(jié)(解16位編碼) jb p3.2,$ ;/是否為低電平again: ;/如果為低,繼續(xù)往下面執(zhí)行 mov tl0,#0 ;/清零TL0 mov th0,#0 ;/清零TH0 setb tr0 ;/開啟定時器0 jnb p3.2,$ ;/等待高電平到來
12、 jb p3.2,$ ;/高電平到來,此時開始計數 clr tr0 ;/高電平結束,停止計數 mov a,th0 ;/讀取th0 值,TL0忽略不計 clr c ;/ subb a,#12 ;/ jc again ;/th0<12則轉,即小于3.4ms,你可以算一下這個時間 mov a,#14 ;/ clr c ;/ subb a,th0 ;/和14比較,如果TH0>14則大于3.8ms jc again ;/大于3.8ms,從新再檢測nextbit: ;/起始位找到了,然后下一位 mov tl0,#0 ;/ mov th0,#0 ;/ setb tr0 ;/啟動定時器 jnb p
13、3.2,$ ;/等待高電平 jb p3.2,$ ;/高電平到來,此時開始計數 clr tr0 ;/高電平結束,停止計數 mov a,th0 ;/讀取計數值,TL0忽略不計 clr c ;/ subb a,#8 ;/th0和8比較 jc next ;/若 <2.2ms則轉,再判斷是否大于0.84ms mov a,#10 ;/再跟10比較 clr c ;/ subb a,th0 ;/ jc again ;/若 >2.7ms,則放棄,從新檢測 mov a,keydata ;/ 符合大于2.2ms 小于2.7ms,即為“1” setb c ;/C = 1 rrc a ;/把1移位進A mo
14、v keydata,a ;/保存 inc r7 ;/計數器加1 cjne r7,#8,nextbit ;/是否滿8位 inc r6 ;/計數加1 cjne r6,#2,last8 ;/是否滿兩字節(jié) sjmp seach ;/不滿兩字節(jié),再新采集last8: ;/滿1字節(jié),再接下來第二字節(jié) mov keydata+1,a ;/把第一字節(jié)編碼數據保存到31h里 mov r7,#0 ;/計數器R7清零 sjmp nextbit ;/繼續(xù)采集數據next: ;/小于2.2ms時轉到這里 mov a,th0 ;/讀取計數值TH0 swap a ;/高4位與低4位對換 mov r1,a ;/保存到R1 a
15、nl tl0,#0f0h ;/取TL0高4位,低4位忽略不計 mov a,tl0 ;/ clr c ;/ rrc a ;/ rrc a ;/ rrc a ;/ rrc a ;/ add a,r1 ;/ mov r1,a ;/ subb a,#30 ;/以上幾行是把TH0的低4位和TL0的高4位合并為1字節(jié)作為計數值 jc nextbit ; /判斷是否 <0.84ms,是則放棄,繼續(xù)采集 mov a,r1 ;/否 clr c ;/ cjne a,#64,continue ;/跟64比較continue: ;/ jnc nextbit ; /a>64表示采樣值 >1.11ms
16、放棄 mov a,keydata ;/否則 ,符合位“0” clr c ;/C = 0 rrc a ;/把零右移進A mov keydata,a ;/保存 inc r7 ;/計數器加1 cjne r7,#8,nextbit ;/是否滿8位 inc r6 ;/計數器加1 cjne r6,#2,last_8 ;/是第一字節(jié)已經滿 sjmp seach ;/last_8: ;/如果為第二字節(jié) mov keydata+1,a ;/則保存第一字節(jié)到31h mov r7,#0 ;/清零R7 sjmp nextbit ;/seach: ;/匹配按鍵編碼 mov r0,#-2 ;/按鍵編碼字節(jié)個數計數器 mo
17、v r1,#-1 ;/按鍵順序計數器seach1: ;/ inc r0 ;/seach2: ;/ inc r0 ;/ inc r1 ;/ cjne r1,#29,compare ;/是否R1=29 sjmp exit0 ;/compare: ;/開始匹配 mov a,r0 ;/ mov dptr,#keycode ;/地址指針指向碼表首址 movc a,a+dptr ;/取碼 cjne a,keydata,seach1 ;/比較 inc r0 ;/R0+1,再比較下一字節(jié)(每個按鍵編碼為2字節(jié)) mov a,r0 ;/ ;mov dptr,#keycode ;/ movc a,a+dptr ;
18、/比較 cjne a,keydata+1,seach2 ;/是否匹配,不匹配則繼續(xù)跟下一字節(jié)比較 mov p1,r1 ;/如果匹配,把按鍵順序號輸出到p1send: ;/ mov tmod,#20h ; /設置timer 1,mode 2 mov tl1,#0fdh ;/設置定時器初值 mov th1,#0fdh ;/ mov scon,#01010000b;/以上設置,即設置串口波特率系數為:9600,8,1,0 setb tr1 ;/啟動定時器1loop_s: ;/ mov sbuf,r1 ;/把R1(按鍵順序號)輸出到串口 jnb ti,$ ;/等待是否發(fā)送完畢 clr ti ;/發(fā)送完
19、畢,清零TIexit0: ;/ljmp main ;/循環(huán)keycode: ;/每兩字節(jié)代表一個按鍵的編碼db 11111000b,00000000b, 11111100b,00000000b, 11111001b,11000000bdb 11111100b,11000000b, 11111010b,00000000b, 11111010b,00100000bdb 11111010b,01000000b, 11111010b,01100000b, 11111010b,10000000bdb 11111010b,10100000b, 11111010b,11000000b, 11111010b,
20、11100000bdb 11111011b,00000000b, 11111011b,00100000b, 11111011b,01000000bdb 11111011b,01100000b, 11111111b,01100000b, 11111111b,10100000bdb 10001100b,10001110b, 10001101b,11101110b, 10001100b,10101110bdb 10001101b,11001110b, 11111000b,11100000b, 11111100b,10000000bdb 11111100b,01000000b, 11111001b,1
21、0100000b, 11111100b,10100000bdb 11111100b,01100000b end-各種遙控器編碼不同,如果你采用的是其他遙控器,修改幾個參數即可(當然按鍵的編碼表肯定不同了),即計數器的值不同,不過有的遙控器有機器碼(機器碼每個按鍵都是一樣的),此時可以跳過機器碼的采集。最后有一點想提一下的是,剛開始不知道遙控器的編碼是比較麻煩的,筆者在“雙龍電子“網站下載了個聲卡示波器,用他可以一目了然觀看遙控器的波形,測量其脈沖寬度,有了它確實方便很多。附 錄A單通道紅外遙控發(fā)射電路紅外遙控電路原理圖閱讀中外文獻資料摘要1 李軍. 檢測技術及其儀表. 中國輕工業(yè)出版社2 賀紅娟 等. 匯編語言程序設計教程. 清華大學出版社3 孫亮 楊鵬. 自動控制技術. 北京工業(yè)大學出版社4 劉守義 鐘蘇. 數字電子技術. 西安電子科技大學出版社5 周雪. 模擬電子技術. 西安電子科技大學出版社6 楊宏麗 王靜霞. 單片機基礎教程. 人民郵電出版社7 林伸茂. 8051單片機徹底研究經驗篇.人民郵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 彈簧研發(fā)助理崗位面試問題及答案
- 餐飲儲備干部崗位面試問題及答案
- 江蘇省宿遷市宿遷中學2025屆化學高一下期末學業(yè)質量監(jiān)測模擬試題含解析
- 大連育明中學2025年化學高一下期末統(tǒng)考試題含解析
- 河南省南陽市第三高級中學校2025年高二下化學期末監(jiān)測試題含解析
- 河北省衡水市深州賈城西中學2025屆高一化學第二學期期末復習檢測試題含解析
- 國企采購成本管理辦法
- 國農以工代賑管理辦法
- 河南永州河道管理辦法
- 河堤流動攤販管理辦法
- 紅十字救護員培訓
- 肩頸腰椎護理
- 2025-2030中國手工皂行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 眼科醫(yī)院感染制度與規(guī)程
- 透析病人營養(yǎng)不良的護理
- 充電樁項目實施過程中的質量保證措施
- T-CPUMT 025-2024 工業(yè)互聯網平臺 服務通.用要求
- 2025年度地質勘探監(jiān)理服務合同范本
- 2025年上半年北京市西城區(qū)教委事業(yè)單位公開招聘考試筆試易考易錯模擬試題(共500題)試卷后附參考答案
- RoHS知識培訓課件
- 2024-2025學年北京西城區(qū)高一(上)期末語文試卷(含答案)
評論
0/150
提交評論