




已閱讀5頁,還剩39頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
學習型紅外線遙控器項目設計方案1.1本設計的研究背景和研究目的隨著社會的發展各種家用電器已經進入了千家萬戶,各式各樣、琳瑯滿目的家用電器,空調、電視、音響系統等傳統意義上的家電早已成為普通百姓生活不可或缺的一部分,甚至連投影機、數字機頂盒,電子監控(防盜)系統等新興電器也正迅速步入現代家庭,我們家里的遙控器越來越多,不同型號的遙控器控制不同的家電。遙控器,想來大家并不陌生,遙控作為眾多現代家電的一種基本控制方式,幾乎所有的家電產品都配備了遙控器,甚至現在連電風扇,臺燈這樣的設備都配備了遙控器。可是,隨著家里的電器越來越多,電器產品的遙控器也越來越多,這就產生比較多的麻煩,日常生活中,很多人都會遇到隨手拿錯放在茶幾上各種遙控器的麻煩,不僅使用起來不方便而且茶幾上擺放一堆遙控器也很不好看。設計出一種具有學習功能的并能代替各種數目繁多的遙控器的學習型紅外遙控器成為一種需要。1.2國內外研究現狀目前國內學習型遙控器大部分采用復制遙控器紅外波形的思想,也有部分采用下載存儲遙控編碼的學習思想。但是由于采用專用遙控發射芯片,集成度高但成本也高。現有自主學習型紅外遙控器,其核心MCU 主要有以下幾種:MCS-51 系列、Microchip PIC16 系列、Winbond W741 系列、Holtek HT48 系列以及ARM(Advanced RISC Machines)系列。目前國內外比較成熟的產品主要有: 1、上海慧居智能電子的HJ-JYWC,它的主要特點為:觸屏按鍵組合輸入;具有紅外學習功能;具有載波頻率識別功能,能準確識別各種復雜的紅外代碼2,如圖1.2.1所示。圖 1.4 上海慧居智能電子HJ-JYWC2、BREMAX 公司的NRC-304 網絡多功能遙控器,它的主要特點為:聯機自學習、脫機自學習兩種模式;具有USB 口,通過INTERNET 登陸BREMAX 公司網站,搜尋并下載相應型號家電的遙控器編碼,兼容各種品牌和型號3,如圖1.5 所示:圖 1.5 NRC-304 網絡多功能遙控器。圖 1.2.2 NRC-304 網絡多功能遙控器3、Sunwave 公司的SRC1600,它的主要特點為:具有巨集設定功能,單一按鍵巨集設定可記憶多達60 個指令;具備紅外學習功能,具有USB 接口,可預設遙控編碼和升級系統4,如圖1.6 所示。圖 1.2.3 SRC16004、羅技Harmony 1100,它的主要特點為:黑色鋁合金外殼,3.5 英寸的觸屏;用戶可以根據具體情況添加或者刪除屏幕上的功能鍵;設備能通過USB 連機,獲取羅技在線數據庫配置文件,如圖1.7 所示。圖 1.2.4羅技1100以上產品對于對于電視、音響等使用專用的遙控芯片的家電遙控器(內置NEC、飛利浦、東芝、或夏普等芯片),學習比較容易,但類似空調的紅外設備(同一按鍵編碼與該按鍵按下次數和系統狀態相關),學習效果欠佳,為此本文設計采用電腦輔助解碼提高紅外學習的準確度。1.3本設計的研究方法和研究內容1.3.1本設計的研究方法本設計是基于AT89C52 單片機的采用復制遙控器紅外波形思想的紅外遙控器的設計, 其思想是通過測量經過紅外接收芯片解調后輸出的編碼脈沖寬度, 然后存入單片機內部指定地址。當要發生紅外信號時, 從存儲區還原出相應的紅外遙控編碼, 并調制到38 kHz 的載波信號上, 最后直接驅動紅外發光二極管發射紅外信號, 實現一個遙控器控制多種紅外家電設備。1.3.2本設計的研究內容本文設計的學習型紅外遙控器要求可以學習不同遙控器的某個鍵的功能,并在功能上替代現有遙控器,涉及到紅外接收解碼、紅外調制發射、MCU 控制等技術,需要完成的研究內容主要包括:1、 紅外線遙控器工作原理2、 紅外接收解調器接收接收解碼原理3、 單片機紅外解碼的軟硬件實現4、 紅外調制發射原理5、 單片機紅外遙控編碼的軟硬件實現2總體設計原理分析2.1 紅外線遙控器工作原理2.1.1紅外線介紹紅外線是一種電磁波,具有與無線電波及可見光一樣的本質。人的眼睛能看到的可見光按波長從長到短排列,依次為紅、橙、黃、綠、青、藍、紫。其中紅光的波長范圍為0.620.76m;紫光的波長范圍為0.380.46m。比紫光波長還短的光叫紫外線,比紅光波長還長的光叫紅外線。紅外線的波長在0.76100m之間,位于無線電波與可見光之間。紅外線遙控就是利用波長為0.761.5m之間的近紅外線來傳送控制信號的。由于紅外線遙控裝置具有體積小、功耗低、功能強、成本低等特點,因而,繼彩電、錄像機之后,在錄音機、音響設備、空調機以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業設備中,在高壓、輻射、有毒氣體、粉塵等環境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。此外紅外線通信還具有保密性強,信息容量大,結構簡單,既可以是室內使用,也可以在野外使用,由于它具有良好的方向性,適用于國防邊界哨所與哨所在之間的保密通信, 但在野外使用時易受氣候的影響。2.1.2紅外線遙控原理介紹紅外線遙控器是以紅外線發光LED,發射波長940nm的紅外線不可見光,來傳送信號。整個遙控器系統分為發射端及接收端兩部分,發射端經過紅外線發射LED送出紅外線控制信號,這些信號經過紅外線接收模塊接收端接收進來,并對其控制信號做譯碼而做相對的動作輸出完成遙控的功能。紅外通信由來已久,但是進入90年代,隨著科學技術的不斷進步和地球空間技術的發展,使人們對紅外線技術的研究越來越深入,應用范圍更廣泛,尤其是在紅外遙感技術和紅外通信技術領域里,數字鎖相技術和傳感器技術的巨大進步,大大加速了這個進程,目前無線產品在商業銷售中的使用已相當普遍,但大多存在著很大的局限性,電路繁雜,計算難度大且多為模擬電路,抗干擾能力差,準確度底,電路的維護調試很不方便。越來越多的遠距離控制和數據通信系統引入了不可見的紅外線作為傳輸媒介進行通信,組成了無線紅外遙控通信系統,此方法以其成本底、精度高、保密性強、技術性能穩定的特點而受到廣大用戶和專業人士的歡迎。常用的紅外遙控系統一般分發射和接收兩個部分。發射部分的主要元件為紅外發光二極管,它實際上是一只特殊的發光二極管,由于其內部材料不同于普通發光二極管,因而在其兩端施加一定電壓時它發出的是紅外線而不是可見光。目前大量使用的紅外發光二極管發出的紅外線波長為940nm左右,外形與普通5發光二極管相同,只是顏色不同,紅外發光二極管一般有黑色、深藍、透明三種顏色。 接收部分的紅外接收管是一種光敏二極管,只對紅外光線有敏感作用,在實際應用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應用時是反向運用,這樣才能獲得較高的靈敏度。紅外接收二極管一般有圓形和方形兩種,由于紅外發光二極管的發射功率一般都較小(100mW左右),所以紅外接收二極管接收到的信號比較微弱,因此就要增加高增益放大電路。圖2.1 紅外線發射器的工作方塊圖紅外線發射器的工作流程如圖2.1所示,當按下某一按鍵后,遙控器上的控制芯片便進行編碼產生一組句柄,結合載波電路的載波信號(為38kHz)而成為合成信號,經過放大器提升功率而推動紅外線發射二極管,將紅外線信號發射出去,所要發射的句柄必須加上載波才能使信號傳送的距離加長,一般遙控器的有效距離為10m。圖2.2 紅外線接收的工作方塊圖紅外線接收的工作方塊圖如圖2.2所示,其主要控制組件為紅外線接收模塊,其內部含有高頻的濾波電路,專門用來濾除紅外線合成信號的載波信號(38kHz)而送出發射器的控制信號。當紅外線合成信號進入紅外線接收模塊,在其輸出端便可以得到原先的數字控制編碼,只要經過單片機譯碼程序進行譯碼,便可以得知按下那一按鍵,而作出相應的控制處理,完成紅外線遙控的動作。 由于每家廠商設計出來的遙控器一定不一樣,即使是使用相同的控制芯片,也會做特殊的編碼設計,以避免遙控器間互相的干擾其中的編碼數據包含廠商固定編碼及按鍵編碼,廠商固定編碼為避免與其他家廠商重復,而按鍵編碼則是遙控器上的各個按鍵編碼。例如按下遙控器的1鍵,則會發送出以下的4字節出去: 40 BF 01H ED其中“40 BF”為廠商固定編碼,“01H ED”則為1鍵按鍵編碼,廠商編碼只要是東芝牌電視遙控器就是固定的,各個按鍵編碼則依按鍵不同而不一樣。各個位編碼方式是以波寬信號來調變,低電平0.8ms加上高電平0.4ms則編碼為“0”,低電平0.8ms加上高電平1.6ms則編碼為“1”。當按下遙控器上的某一按鍵則會產生特定的一組編碼,結合40kHz載波信號發射出去,加上載波信號可以增加發射距離。2.2 學習型紅外線遙控器譯碼原理遙控電路使用AT89C52單片機作控制,通過紅外線接收模塊(紅外接收頭)接收信號,因為接收模塊有自動濾除載波功能,所以紅外線接收模塊輸出的信號就是遙控器所產生的編碼,通過電路傳到單片機內,單片機識別出遙控器的按鍵,作相應的動作。紅外線接收模塊是一種光敏二極管及濾波器組成,光敏二極管只對紅外光線有敏感作用,在實際應用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應用時是反向運用,這樣才能獲得較高的靈敏度。紅外接收二極管一般有圓形和方形兩種,由于紅外發光二極管的發射功率一般都較小(100mW左右),所以紅外接收二極管接收到的信號比較微弱,因此就要增加高增益放大電路。因此在紅外線發射端紅外線信號加載在一個40kHz載波上發射出去,這樣即增加了信號強度,也增強了信號的傳輸距離,使用起來更加方便。3本設計總體設計方案3.1 方案論證與比較3.1.1方案一:基于AT89C52單片機學習型紅外遙控器的設計學習型遙控器的功能主要分為學習和發送兩個部分。在學習的過程中,學習型遙控器接收電路接收到用戶想學習的遙控器所發送過來的紅外遙控信號。接收電路接收到紅外遙控信號以后,經過放大并解調出紅外遙控碼電平信號送至單片機進行處理。經過單片機處理以后存儲單片機的存儲單元里。當要發射紅外信號時,根據按鍵盤電路獲取的按鍵指令信號,從與指令信號相對應的單片機存儲區中還原出相應的紅外遙控編碼,調制到40 KHz的 載波信號,并經紅外發射電路發射出去,控制相關電器。方案一原理框圖如圖3.1所示。圖3.1方案一原理框圖3.1.2方案二:基于mega128單片機的多鍵學習型遙控器的設計該方案是一種基于mega128 單片機的具有學習型的紅外遙控器的設計,其思想是通過測量經過紅外接收芯片解調后輸出的編碼脈沖寬度數據,然后存入數據存儲模塊中。當要發生紅外信號時,從存儲區還原出相應的紅外遙控編碼,并調制到38 kHz 的載波信號上,最后直接驅動紅外發光二極管發射紅外信號,實現一個遙控器控制多種紅外家電設備。方案二原理框圖如圖3.2所示。圖3.1方案二原理框圖3.1.3方案三:多功能學習型紅外遙控系統的設計由二個部分構成,一個是放在受操控電器同一個地方的接收端,一個是遠離受控電器的無線電遙控器。該方案有兩種功能模式,及學習模式和轉發模式。在學習模式時接收端同時具備紅外遙控信號的接收和無線電發送功能。可以學習不同紅外遙控的編碼并保存起來,同時與無線電遙控器的某個按鍵建立相關聯系,并在無線遙控器上按下該鍵時模擬裝置就會發出剛才所學習的編碼。學習模式原理框圖如圖3.3所示: 圖3.3學習模式原理框圖在轉發模式時,遙控器把自己接收到的紅外信號經無線電信號實時地轉發給接收端,接收端把接收到的無線電信號還原成與遙控端接收到的信號一樣的紅外信號,從而控制其對應的電器。轉發模式原理框圖如圖3.4所示。圖3.3轉發模式原理框圖3.2 本設計方案選擇方案一采用AT89C52作為微控制中心和紅外遙控編碼數據存儲器,少數按鍵作為控制指令輸入終端,紅外接收解調器作為紅外線接收處理模塊 。整個方案簡單,硬件電路易于制作,成本低。方案二采用mega128單片機作為微控制中心,另單獨設置存儲器,采用行列式鍵盤作為控制指令輸入終端。整個方案比方案一復雜,成本較高,對于本次畢業設計來說方案一比方案二更好方案三采用遙控器和學習處理的模擬端分開設計制作的方式,需要用到多個單片機和存儲芯片,硬件電路制作繁復,需要的元器件多,成本比方案一高得多。另外方案三的控制方式復雜,需要用到較大規模的掃描鍵盤。綜合比較方案一比方案二和方案三更好,因此本次設計采用方案一。3.3 本設計總體設計方案本次設計的總體方案采用方案一。原理圖主要由以下五個部分組成紅:外接收解調器、紅外線反射電路、AT89C52單片機、狀態指示燈和操作鍵4硬件電路設計與計算4.1紅外線遙控信號接收處理電路的設計與計算4.1.1 電路選擇考慮到考慮到硬件電路制作的難易程度以及成本,本次設計的紅外線遙控信號接收處理電路采用市場上普遍使用的紅外線接收解碼器即紅外接收頭。4.1.2 元器件選型及參數計算接收器選用一體化紅外接收器HC0038,該接收器是黑色環氧聚光透鏡,能夠濾除可見光的干擾,集紅外接收、放大、解調、譯碼于一體,內含紅外線PIN接收管、選頻放大器和解調器。不需任何外接元件,就能完成從紅外遙控信號(40kHz的載波信號)中分離出基帶信號,輸出與TTL電平兼容的所有工作。在與單片機連接時,將接收來的紅外遙控信號反相,其正向信號接外部中斷0,反相信號接外部中斷1。通過記錄2個中斷間的間隔時間來測量紅外遙控信號的高低電平的脈寬值。紅外線遙控信號接收處理電路原理圖如圖4.1所示。圖4.1紅外線遙控信號接收處理電路原理圖4.2 狀態指示燈電路的設計與計算4.2.1 電路選擇本次設計學習型紅外遙控器有兩個功能,即學習功能和遙控功能。其中表示處于學習狀態的指示燈采用綠色發光二級管,表示處于遙控狀態的指示燈采用紅色發光二級管。狀態指示燈電路原理圖如圖4.2所示。圖4.2狀態指示燈電路原理圖4.2.2 元器件選型及參數計算Q1、Q2可用9013系列,R1、R3用阻值為560的普通電阻,R2、R4用阻值為560的普通電阻。9013三極管參數:集電極-發射極電壓 25V 集電極-基電壓 45V 射極-基極電壓 5V 集電極電流0.5A 耗散功率 0.625W 結溫150 特怔頻率 最小 150MHZ4.3紅外線發射電路4.3.1 電路選擇目前紅外遙控器的設計大部分都采用外部電路產生載波信號,比如用振蕩器NEC555產生載波信號,可這種方法電路結構復雜,硬件成本也高 。本文主要由單片機內部的軟件來產生40kHz載波信號,并把遙控碼調制到載波上,最后通過P35口輸出已經調制好的紅外遙控信號。具體的流程如下:首先讀取按鍵信號,若發射鍵鍵按下,從單片機數據存儲單元中取出遙控碼存儲數據作為的初始值,啟動Tl,并用Tl產生40kHz的載波信號。在高電平且沒溢出時,從P35口不斷地輸出載波信號,從P3.5口輸出的就是已調制到載波上的紅外脈沖信號,經三極管9013放大以驅動紅外發射管輻射出紅外脈沖信號。紅外線發射電路原理圖如圖4.3.1所示。圖4.3紅外線發射電路原理圖4.3.2原器件選型及參數計算紅外發射電路用到的元器件有:紅外發射管一個、9013型三極管一個、10電阻一個、4.7k電阻一個4.4單片機控制電路4.4.1電路選擇在本設計中,單片機控制電路采用單片機的最小系統電路的設計方式。單片機控制電路原理圖如圖4.4所示。圖4.4單片機控制電路原理圖4.4.2 元器件選型及參數計算單片機的最小系統由上電復位電路、AT89C52單片機和時鐘電路組成,具體的元器件選型和參數計算將在各子電路中進行。4.4.3復位電路的設計與計算1 電路選擇與其他計算機一樣,MCS-51單片機系統常常有上電復位和操作復位兩種方法。操作復位指用戶按下“復位”按鈕使計算機進入復位狀態。上電復位電路是種簡單的復位電路,只要在RST復位引腳接一個電容到VCC,接一個電阻到地就可以了。本設計復位電路采用簡單的RC上電復位電路。復位電路原理圖如圖4.5所示。圖4.5復位電路原理圖2 元器件選型及參數計算RC上電復位電路由一只接地10K的電阻、一只10F電解電容和。上電復位是指在給系統上電時,復位電路通過電容加到RST復位引腳一個短暫的高電平信號,這個復位信號隨著VCC對電容的充電過程而回落,所以RST引腳復位的高電平維持時間取決于電容的充電時間。為了保證系統安全可靠的復位,RST引腳的高電平信號必須維持足夠長的時間。MCS-51單片機的復位是由外部的復位電路來實現的。當MCS-51單片機的復位引腳RST出現2個機器周期以上的高電平時,單片機就執行復位操作。如果RST持續為高電平,單片機就處于循環復位狀態。4.4.4 微控制器的設計與計算1元器件選擇單片機是一種集成電路芯片,采用超大規模技術把具有數據處理能力(如算術運算、邏輯運算、數據傳送、中斷處理)的微處理器(CPU),隨機存取數據存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路(I/O口),可能還包括定時計數器,串行通信口(SCI),顯示驅動電路(LCD或LED驅動電路),脈寬調制電路(PWM),模擬多路轉換器及A/D轉換器等電路集成到一塊單塊芯片上,構成一個最小并且完善的計算機系統。這些電路能在軟件的控制下準確、迅速、高效地完成程序設計者事先規定的任務。單片機性能不斷提高,其應用系統也在不斷發展。而目前流行使用的AT89C52單片機是INTEL MCS-51系列的8位單片機。它具有40引腳,片內帶8KB閃速存儲器EEPROM,一般作程序存儲器;片內帶256KBRAM;提供32條I/O引腳,大部分引腳都可作數字和脈沖輸入和輸出;3個16位定時計數器,對外計脈沖數可使用單片機的P3.4(T0)或P3.5(T1);6個中斷源,其中直接提供外部中斷處理可使用P3.2(INT0)或P3.1(INT1);2個可編程標準串口,其引腳為P3.0(RXD)和P3.1(TXD);時鐘頻率可達424MHz;具有睡眠狀態,指令系統與8031指令系統完全兼容。除上述技術性能外,還有價格低廉,保密性強,功耗低,應用靈活、方便等優點。故選擇AT89S52單片機為本設計的核心是較佳的選擇。這種單片機具有足夠的空余硬件資源,可以實現其他的擴充功能。在本次設計總方案中,微處理器采用AT89C52單片機2相關端口功能及資料本設計總電路原理圖見附錄,單片機使用AT89C52,其引腳分布圖如圖4.6所示。圖4.6 AT89C52引腳分布圖 AT89C52單片機各引腳功能分布如下: P1.2口接遙控器發射按鍵; P1.6口用作狀態指示,綠燈亮代表學習狀態,綠燈滅代表碼已讀入; P1,7口用作指示遙控鍵的操作,閃爍代表遙控碼正在發射之中; 第9腳為單片機的復位腳,采用RC上電復位電路; 第12腳為單片機中斷輸入口,用于工作方式的轉換控制,當INT0腳為 第14腳用于紅外線接收解碼器的輸出信號輸入 第15腳作為遙控碼紅外調制信號的輸出口,輸出40KHZ的方波脈沖; 第18、19腳接12M晶振。由于采用最小化應用系統,因此控制線PSEN(片外取指控制)、ALE(地址鎖存控制)不用,EA(片外存儲器選擇)接高電平,使用片內程序存儲器。4.4.5時鐘電路的設計與計算1元器件選擇時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統的穩定性。單片機的定時功能是用片內的時鐘電路和定時電路來完成的,而片內的時鐘產生有兩種方式:內部時鐘方式和外部時鐘方式。本設計用的是內部時鐘方式。時鐘電路原理圖如4.7所示。圖4.7時鐘電路原理圖2 元器件選型及參數計算本系統采用內部時鐘方式,片內高增益反相放大器通過XTAL1,XTAL2外接作為反饋元件的晶體(呈感性)與電容組成的并聯諧振回路過程的一個自激振蕩向內部時鐘提供振蕩時鐘。電容的值通常取30pF左右。單片機以晶體振蕩器的振蕩周期為最小的時序單位,片內的各種微操作都以此周期為時序基準。振蕩頻率二分頻后形成狀態周期,一個狀態周期包含2個振蕩周期,振蕩頻率二分頻后形成機器周期,一個機器周期包含有6個狀態周期或者12個振蕩周期,1到4個機器周期確定一條指令的執行時間,這個時間便是指令周期。在MCS-51單片機的所有指令中,有些完成的比較快,只需一個機器周期就行,有些完成的比較慢,則需兩個機器周期或者四個機器周期才能完成。具體的周期計算是這樣的。本設計外接晶振頻率為12MHZ,振蕩周期為1/12MHZ=0.0833us,狀態周期為0.0167us,機器周期為1us,指令周期為1到4us。當單片機工作于計數模式時,它的初值為(計數個數)求補,當工作于定時模式時,它的初值為(定時時間/機器周期)求補,根據不同的工作模式對初值進行裝入。4.5操作鍵電路4.5.1電路選擇發射控制電路連接單片機P1.0腳,采用低電平有效的方式進行。當按下按鍵時P1.0腳低電平有效,系統進入紅外遙控器發射狀態。學習控制電路連接單片機的中斷輸入口,即P3.2腳,當學習鍵閉合時P3.2腳低電平有效,系統產生中斷,并進入進入學習狀態。操作鍵電路原理圖如圖4.8所示圖4.8操作鍵電路原理圖4.5.2原器件選型及參數計算發射控制電路由一個按鍵接地組成。學習控制電路由一個10k的電阻、一只1uF的電容和一只開關(可以是按鍵)組成。4.6硬件總電路圖由以上各電路分析、計算、組合,然后可以得出一個完整的具有設計課題所要求功能的學習型紅外線遙控器總電路原理圖。本設計的總電路原理圖見附錄,硬件電路PCB板圖見附錄5軟件設計及編程5.1 軟件設計思想及功能框圖5.1.1軟件設計思想單片機的軟件程序設計有其自身的特點。在單片機系統中,硬件與軟件緊密結合,由于硬件電路的設計不具有通用性,所以必須根據具體的硬件電路來設計對應的軟件,硬件設計的優劣直接影響到軟件設計的難易,軟件設計的優劣又直接影響到硬件的發揮。在很多時候,軟件可以替代硬件的功能,當然,需要付出額外占用CPU時間的代價。本設計軟件程序的設計是根據硬件電路圖的連接和各個元器件的功能進行設計。在編寫軟件時,先按硬件電路圖設計出軟件功能框圖,再按軟件功能框圖細分為各個功能程序模塊,并根具各功能模塊以及相應的硬件電路圖設計出主要的功能程序流程圖,最后結合整體框圖以及設計出主程序流程圖。程序的編寫的依據是事前設計的流程圖,因此本設計的軟件設計過程是:軟件功能框圖的設計程序流程圖的設計原程序的編寫5.1.2軟件功能框圖本設計的軟件功能執行過程很簡單。當電路接通電源后,復位電路處于高電平狀態,單片機開始執行初始化程序,如果有按鍵閉合,單片機收到按鍵指令電信號后,通過主程序的按鍵查詢函數判斷按鍵指令類型,如果是學習指令,那么單片機開始執行遙控碼讀入處理程序,完成系統的學習功能,如果是發射指令,那么單片機開始執行遙控碼發射處理程序。當紅外信號發射結束后,學習型遙控系統完成一個工作周期,再次計入初始化狀態。系統軟件功能框圖如圖5.1所示圖5.1系統軟件功能框圖5.2 軟件設計流程框圖根據系統軟件功能框圖可以畫出主程序流程圖、遙控碼讀入處理程序流程圖和遙控碼發射處理程序流程圖主程序流程圖如圖5.2所示;圖5.2主程序流程圖遙控碼讀入處理程序流程圖如圖5.3所示:圖5.3遙控碼讀入處理程序流程圖遙控碼發射處理程序流程圖如圖5.4所示 圖5.4 遙控碼發射處理程序流程圖5.3 主程序設計及功能實現5.3.1程序功能說明主程序在完成上電初始化后進行端口按鍵查詢,當確認有按鍵按下時將編碼發出去。主程序流程圖如圖5.2所示。5.3.2程序源代碼main()clearmen(); /初始化 while(1) keywork(); /按鍵掃描 初始化程序clearmen():主要任務是清除存放脈寬數據單元,關閉學習指示燈及發射指示燈,關閉遙控輸出口,將定時器T1設為8位自動重裝模式,設置中斷等。初始化程序見附錄中初始化函數。按鍵掃描keywork():電路上電后,程序運行到主程序后開始不停的循環執行按鍵掃描,待有按鍵按下時跳入中斷函數并開始執行相應軟件;若按下了學習按鍵,那么單片機開始接收從紅外接收器解碼電路產生的二進制代碼信息,并存儲到數據存取單元中;若按下的是發射鍵,單片機將會通過紅外線發射二極管發射已學習到單片機內的遙控碼,在發射遙控碼之前需要將遙控碼基帶信號加載到40kHz的載波上,才能夠將已學習的遙控信號發射出去。按鍵掃描程序見附錄中鍵功能函數。5.4遙控碼讀入處理程序設計及功能實現5.4.1程序功能說明遙控碼的學習處理程序主要是將原遙控器發出的脈沖碼寬依次存入內存單元,存放規則為偶數地址(0、2、4、6等)存放高電平脈寬數據,奇數地址(1、3、5等)存放低電平脈寬數據。定義文件中劃了206個單元用于存放脈寬數據,符合常用遙控器的最大碼長要求。遙控碼讀入程序流程圖如圖5.3所示。本程序在編程設計中非常重要,通過大量的、不同中來的遙控碼波形實驗測試分析,遙控碼的幀間歇位寬度均在10ms以上,起始碼寬度在100us20ms之間,編碼位在100us-3.5ms之間。為確保所有遙控器學習的成功,可采用以下程序實現方法。讀起始位方法:由于起始位的碼寬范圍較大,因此計數單元采用單獨的2字節,計數周期約為15us,這樣按65536*15us算,最大可存起始位脈寬為983ms。當輸入為高電平時,停止起始位計數,進入高電平計數。讀遙控碼的方法:采用1字節計數單元對嗎(高電平或低電平)進行寬度計數,電平跳變時結束計數,并將數據存入規定的地址。在高電平碼計數時,當計數值大于255時(寬度大于3.825ms),則判定為結束幀間隔位,在相應存儲單元寫入數據0xOO作為結束標志。5.4.2程序源代碼void intt0(void) interrupt 0 ET1=0;TR1=0;EX0=0;EA=0;head=0;studylamp=1;lamp=0;while(studykey=0); /等待鍵釋放while(remotein=1); /等待遙控碼輸入head=0; /讀入起始位while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();head+;n=0;remdata=0x0000; while(1) while(remotein=1)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata+; if(remdatam) /高電平5毫秒退出 remotedatan=0x00;EX0=1;EA=1;goto end; remotedatan=remdata;n+; /存高電平脈寬數據 remdata=0x0000; /脈寬計數器清零 while(remotein=0)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();remdata+; /低電平計數 remotedatan=remdata;n+;remdata=0x00;/存低電平脈寬數據 end: lamp=1;studylamp=0;5.5遙控碼發射處理程序設計及功能實現5.4.1程序功能說明發射程序是把已經學習到的紅外編碼發射出去控制紅外設備。首先要找到存放在單片機數據存儲單元的紅外遙控編碼。紅外發射程序的思想是通過定時器T1的配合來調制出40 kHz 的紅外載波信號,載波信號從P3.5腳送出。利用已經學習到的低電平寬度來確定定時器T1的定時長度。當發送低電平時, 啟動定時器T1; 發送高電平時, 停止定時器T1。如此就能發送一個與接收到的紅外編碼反相并且高電平是經過40 kHz 載波調制過的紅外遙控信號, 這個信號就是普通遙控器發送出去用來控制紅外設備的信號。如圖5.4所示。遙控碼發射處理程序圖如圖3所示。5.3.2程序源代碼void time_intt1(void) interrupt 3 remoteout=remoteout;6系統調試及分析6.1 軟件調試及結果分析6.1.1 KEIL C51環境KEIL是德國開發的一個51單片機開發軟件平臺,最開始只是一個支持C語言和匯編語言的編譯器軟件。后來隨著開發人員的不斷努力以及版本的不斷升級,使它已經成為了一個重要的單片機開發平臺,不過KEIL的界面并不是非常復雜,操作也不是非常困難,很多工程師的開發的優秀程序都是在KEIL的平臺上編寫出來的。單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil軟件是目前最流行開發MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。Keil C51軟件是眾多單片機應用開發的優秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編,PLM語言和C語言的程序設計,界面友好。KEIL C51啟動界面如圖6.1所示:圖6.1 KEIL C51啟動界面6.1.2 proteus簡介Proteus軟件是來自英國Labcenter Electronics公司的EDA工具軟件,Proteus軟件有十多年的歷史,在全球廣泛使用,除了其具有和其它EDA工具一樣的原理布圖、PCB自動或人工布線及電路仿真的功能外,其革命性的功能是,他的電路仿真是互動的,針對微處理器的應用,還可以直接在基于原理圖的虛擬原型上編程,并實現軟件源碼級的實時調試,如有顯示及輸出,還能看到運行后輸入輸出的效果,配合系統配置的虛擬儀器如示波器、邏輯分析儀等,您不需要別的,Proteus為您建立了完備的電子設計開發環境!尤其重要的是Proteus Lite可以完全免費,也可以花微不足道的費用注冊達到更好的效果;功能最強的Proteus專業版也非常便宜,人人用得起,對高校還有更多優惠。 Proteus組合了高級原理布圖、混合模式SPICE仿真,PCB設計以及自動布線來實現一個完整的電子設計系統。此系統受益于15年來的持續開發,被電子世界在其對PCB設計系統的比較文章中評為最好產品“The Route to PCB CAD”。Proteus 產品系列也包含了我們革命性的VSM技術,用戶可以對基于微控制器的設計連同所有的周圍電子器件一起仿真。用戶甚至可以實時采用諸如LED/LCD、鍵盤、RS232終端等動態外設模型來對設計進行交互仿真。其功能模塊:個易用而又功能強大的ISIS原理布圖工具;PROSPICE混合模型SPICE仿真; ARES PCB設計。PROSPICE 仿真器的一個擴展PROTEUS VSM:便于包括所有相關的器件的基于微處理器設計的協同仿真。支持許多通用的微控制器, 如PIC、AVR 以及8051。交互的裝置模型包括:LED和LCD顯示,RS232終端,通用鍵盤,強大的調試工具,包括寄存器和存儲器,斷點和單步模式IAR CSPY 和KeiluVision2等開發工具的源層調試。應用特殊模型的DIJIJ界面一提供有關元件庫的全部文件。Proteus與其它單片機仿真軟件不同的是。它不僅能仿真單片機CPU的工作情況。也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用問脫節的矛盾和現象。Proteus啟動界面如圖6.2所示:圖6.2Proteus啟動界面6.1.3 軟件調試本設計軟件部分是由C語言進行編寫的,完成后的代碼將通過keil-c進行調試與檢查。首先將單片機的晶振時鐘進行設置,調到12MHz,保證它與需求的始終頻率相吻合。設置如圖6.3所示。圖6.3 keil-C 中單片機時鐘設定經過多次的調試與修改,程序在keil中的編譯和創建HEX文件調試如圖6.4和圖6.5所示。圖6.4 keil-C編譯調試部分圖6.5 keil-c創建hex調試部分軟件部分的調試結果證明程序是沒有問題的,能生成正確的11.hex的文件,緊接著就是把軟件加到單片機中,在Proteus軟件的輔助下對硬件電路進行仿真。6.1.4 系統功能仿真a) 打開Proteus軟件,進入原理圖繪制模塊。在keywords中輸入需要的元件,如“AT89S52”。b) 在Proteus軟件中,畫出完整的電路圖仿真。電路仿真圖如圖6.6所示c)在圖6.6中,我們可以看到一體化紅外接收頭被一個時鐘波形發生器替換了,而在T1輸出口接了一個示波器。由于在Proteus當中沒有一體化紅外接收頭的模型,所以在這里就采用另一種方法進行仿真,由于HS0038在接收紅外編碼過后,OUT腳輸出的是一段高電平與低電平相互交替的方波,所以我們用波形發生器模擬HS0038所輸出的信號,其時鐘信號輸出設置如圖6.7。圖6.6電路仿真圖圖6.7時鐘信號輸出設置圖d)設置完模擬時鐘發生器后,就是發射端的仿真,在T1口接一個示波器,當按下發射鍵的時候,應該也會輸出一個相應的方波波形,其結果如圖6.8所示。6.8發送端的波形圖以上敘述內容是學習型紅外線遙控器學習和發射的整個仿真過程,其包括KEIL C51的調試和編譯,proteus的各種元器件的調用,原理圖設計,測試儀器儀表的使用。6.2硬件電路調試及結果分析6.2.1 紅外接收電路的測試結果及其分析本設計的硬件電路調試是分步進行的,首先調試的是接收電路,先對HS0038一體化紅外接收頭進行檢測。接通電源,紅外接收頭輸出端接示波器,用電視遙控器做信號源。用示波器分別測出紅外接收頭輸出端波形。HS0038的OUT腳輸出的波形如圖6.9所示。圖6.9 HS0038的OUT腳輸出的波形圖在驗證了HS0038輸出正常后,現在對示波器所接收到的信號進行解釋,本次調試用的是常見的家電遙控器,測試過遙控各個按鍵的波形,由于遙控器發射的信號長度比較長,而示波器不能完整的顯示整段波形,所以出現了同一按鍵不同時刻在示波器顯示的波形不同。在示波器上顯示的波形如圖6.10和圖6.11所示圖6.10示波器接收到的遙控信號1圖6.11 示波器接收到的遙控信號2通過對上面兩個圖的比較,可以發現紅外發射的波形是由不規則的高低電平組成的,波形長度較長,所以示波器才無法完整顯示其整段波形。接下來是紅外接收部分的調試:首先按下學習鍵,根據程序的設定,這時單片機就會對T0口輸入的信號進行循環掃描,主要是對紅外遙控碼的起始位進行識別,此時學習指示燈(紅燈)亮,其效果如圖6.12所示。圖6.12 學習鍵按下單片機進入學習狀態證實單片機進入學習狀態后,用遙控器的發射頭對準HS0038紅外線接收頭,按下任意鍵,等待單片機學習編碼信號,如圖6.13所示。圖6.13 遙控器對HS0038發射信號此時單片機開始對T0口的輸入信號進行讀碼,首先尋找起始位,然后是讀起始位,最后是讀遙控編碼位;讀碼結束之后把遙控編碼信號儲存在單片機中,這時紅燈就會熄滅,代表遙控碼已經儲存完畢,進入發射等待狀態,此時發射指示燈(黃燈)亮,效果如圖5.12所示。圖5.12 學習完畢并進入發射等待狀態到此接收部分的調試已經完成,接下來是發射部分的調試。6.2.2紅外發射電路的測試結果及其分析紅外發射部分的調試過程和紅外接收部分的過程大同小異,主要就是檢測發射鍵按下后在單片機輸出端的信號,在理論上來說,輸出端的信號應該也是一段高低電平交替的波形,這是因為紅外的信號是有邏輯0和邏輯1的間隔來實現的,邏輯0是由0.56ms的38KHz載波和0.56ms的無載波間隔組成;邏輯1是由0.56ms的38KHz載波和1.68ms的無載波間隔組成,;結束位是0.56ms的38KHz載波。所以這部分的調試主要就是把輸出端口接到示波器上,檢測在按下發射鍵的同時,示波器上顯示的波形是否為高低電平交替的方波。在簡單的解釋了發射部分的調試原理后,就進入紅外遙控發射的調試與驗證,首先將T1口接到示波器,然后按下發射鍵,單片機就對已存的遙控信號進行發射,在示波器上顯示的波形如圖5.13所示。圖5.13 發射鍵按下后T1口輸出的波形從圖中我們可以看出,示波器接收到的只是遙控信號的一部分,可能是邏輯0,也可能是邏輯1,總體波形和預期的波形相吻合,證明發射端能正常進行紅外遙控編碼的發射。發射信號時,遙控的發射指示燈(白燈)亮,如圖5.14所示。圖5.14 發射信號時指示燈亮發射完之后指示燈熄滅。到這里,紅外遙控的接收和發射部分調試就結束了,事實證明本設計方案是可行的,學習型紅外遙控器能實現對遙控編碼信號的接收、儲存和發送。7結論及展望7.1 結論本次畢業論文以學習和遙控為核心主要介紹了紅外遙控原理及發展方向、學習型紅外遙控器的設計思想、設計方案、硬件電路設計、系統軟件的設計。本次設計的學習功能思想是復制解碼思想。根據復制解碼思想本文研究了學習型紅外線遙控器接收解碼方式,重點是對紅外線遙控信號的分析,接收并進行譯碼,再進行調制還原發射從而達到控制電器的目的。本設計通過理論以及實際設計測試結果驗證了學習型紅外線遙控器的可行性、實用性和便捷性,達到了設計題目的要求。在具體的設計過程中,硬件電路的模塊化設計既方便了各單元電路的性能調試,也使軟件程序的設計思想更加清晰,功能程序設計更加簡單快捷。不過在具體的設計過程中也出現了一些問題,首先,本次設計是采用keil與STC_ISP_V479軟件來完成的。因此對于這兩種軟件的使用也提出了一定的要求。其次,在硬件電路功能測試過程中,由于實際的單片機開發板與本設計的單片機型號不匹配,導致軟件程序燒寫困難。還有一些小問題,比如:元器件的缺焊、虛焊,軟件程序的編譯等。當然這并不影響本次設計的設計結果。實踐出真知。本設計通過此次具體的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務初級考試試題及答案
- 藥物專利權解析試題及答案
- 網絡規劃設計師備考過程中的效率提升及試題及答案
- 計算機二級考試個體差異試題及答案
- 藥品說明書解讀試題及答案
- 藥劑類考試考生經驗試題及答案
- 藥品上市后監督管理試題及答案
- 解密文化產業管理證書考試試題及答案
- 高級職稱答辯試題及答案
- 計算機二級知識鏈接盤點試題及答案
- 導線的連接精品課件
- 論提高行政效率的途徑 開題報告
- 059.商業計劃書和可行性報告精制食油廠年產萬噸精制山茶油項目可行性研究報告
- 米度盾構導向系統
- [說明]心血管內科(心內科)_見習教案_6_動脈粥樣硬化和冠狀動脈粥樣硬化性心臟病
- Q∕GDW 11257.3-2020 熔斷器技術規范 第3部分:跌落式熔斷器
- 汽車焊接夾具設計外文文獻翻譯
- 濃縮機的選擇與計算
- 滬教版六年級下冊單詞表
- 紅星美凱龍租賃合同
- 最新投標書密封條
評論
0/150
提交評論