




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 . PAGE1 / NUMPAGES20 . 單片機系統開發與應用工程實習報告選題名稱:基于STC89C52的學習型紅外遙控器的設計系(院):專 業:班 級:姓 名:學 號:指導教師:學年學期: 2009 2010 學年 第 2 學期2014年12月08日摘要:學習型紅外線遙控器,通過自學習而擁有對多臺電器的遙控功能。該遙控器有兩種狀態:學習狀態和控制狀態。處于學習狀態時,使用者每按一個控制鍵紅外接收電路就開始接收外來紅外信號,并將其轉換為電信號,然后經過檢波、整形、放大,再由單片機定時對其采樣,將每個采樣點的二進制數據以8位為一個單位,分別存放到指定的存儲單元中去,供以后對該設備控制使用;
2、處于控制狀態時,使用者每按一個控制鍵單片機從指定的存儲單元中讀取二進制數據,串行輸出(位和位之間的時間間隔等于采樣的時間間隔)給信號保持電路,同時由調制電路進行信號調制,將調制信號經放大后,由紅外線發射二極管進行發射,從而實現對該鍵對應設備功能的控制。關鍵詞:學習型;紅外線遙控器;學習狀態;控制狀態;STC89C52目 錄 TOC o 1-2 h z u HYPERLINK l _Toc2629377321 課題綜述 PAGEREF _Toc262937732 h 1HYPERLINK l _Toc2629377331.1 課題來源與意義 PAGEREF _Toc262937733 h 1HY
3、PERLINK l _Toc2629377341.2 預期目標 PAGEREF _Toc262937734 h 1HYPERLINK l _Toc2629377351.3 面對的問題 PAGEREF _Toc262937735 h 1HYPERLINK l _Toc2629377361.4 需解決的關鍵技術 PAGEREF _Toc262937736 h 1HYPERLINK l _Toc2629377372 系統分析 PAGEREF _Toc262937737 h 1HYPERLINK l _Toc2629377382.1 涉與的基礎知識 PAGEREF _Toc262937738 h 1H
4、YPERLINK l _Toc2629377392.2 解決問題的基本思路 PAGEREF _Toc262937739 h 2HYPERLINK l _Toc2629377402.3 總體方案 PAGEREF _Toc262937740 h 3HYPERLINK l _Toc2629377412.3 功能模塊框圖 PAGEREF _Toc262937741 h 3HYPERLINK l _Toc2629377423 系統設計 PAGEREF _Toc262937742 h 4HYPERLINK l _Toc2629377433.1電路原理圖 PAGEREF _Toc262937743 h 4H
5、YPERLINK l _Toc2629377443.2實現方法 PAGEREF _Toc262937744 h 5HYPERLINK l _Toc2629377453.3 詳細流程圖 PAGEREF _Toc262937745 h 5HYPERLINK l _Toc2629377464 代碼編寫 PAGEREF _Toc262937746 h 6HYPERLINK l _Toc2629377474.1 STC89C52單片機與各模塊電路的連接端口分配 PAGEREF _Toc262937747 h 6HYPERLINK l _Toc2629377484.2 復位電路的設計 PAGEREF _T
6、oc262937748 h 6HYPERLINK l _Toc2629377494.3 按鍵電路設計的實現 PAGEREF _Toc262937749 h 7HYPERLINK l _Toc2629377504.4 中斷程序的實現 PAGEREF _Toc262937750 h 8HYPERLINK l _Toc2629377514.5 主函數的實現 PAGEREF _Toc262937751 h 10HYPERLINK l _Toc2629377525 程序調試 PAGEREF _Toc262937752 h 10HYPERLINK l _Toc2629377536 運行與測試 PAGERE
7、F _Toc262937753 h 11HYPERLINK l _Toc262937754總 結 PAGEREF _Toc262937754 h 12HYPERLINK l _Toc262937755參考文獻 PAGEREF _Toc262937755 h 131 課題綜述1.1 課題來源與意義目前,人們的物質文化生活水平日益提高,各種各樣的家用電器走進了千家萬戶,其中,大多數的家用電器都有各自不同的遙控器,人們常常為了控制某臺電器到處尋找其對應的遙控器,這樣就給人們的生活帶來了很多步便。為了解決這個問題,笨項目提出了一個多功能遙控器的設計方案:該遙控器可以通過自學習而擁有對多臺電器的遙控功能
8、,既省時又省力,從而使人們免除同時面對眾多遙控器的苦惱。1.2 預期目標設計一種基于STC89C52單片機控制的紅外線遙控器,具有以下功能:1、適用于編碼式紅外線遙控型家用電器2、可遙控多臺家用電器3、具有一個學習/控制復用鍵4、可通過一個設備選擇鍵和各個功能控制鍵實現對多臺設備的常用功能的學習和控制5、成本低,抗干擾能力強1.3 面對的問題1、對于STC89C52單片機的了解與應用2、對于抗干擾能力的解決1.4 需解決的關鍵技術本項目是通過掃描按鍵的狀態、單片機外中斷0和定時/計數器程序來判斷遙控器處于什么狀態,實現什么功能,因此,對于功能鍵的設計和中斷程序的設計是難點。同時,對于紅外發射和
9、紅外接收的工作原理和設計對于我們來說也是陌生的,都要從頭開始,對其進行了解、掌握與使用,所以也是一個難題。2 系統分析2.1 涉與的基礎知識通過對本項目的了解,為了實現該項目的各個功能,必須要掌握以下知識點:1、電源原理與設計2、單片機復位電路工作原理與設計3、單片機晶振電路工作原理與設計4、按鍵電路的設計5、驅動74LS07的特性與使用6、一體化紅外遙控接收器的特性與使用7、STC89C52單片機引腳8、單片機C語言程序設計2.2 解決問題的基本思路2.2.1 STC89C52單片機的基本知識功能特性:STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統可編程Flas
10、h 存儲器。使用Atmel 公司高密度非 易失性存儲器技術制造,與工業80C51 產品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統可編程,亦適于 常規編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統 可編程Flash,使得STC89C52為眾多嵌入式控制應用系統提 供高靈活、超有效的解決方案。 STC89C52具有以下標準功能: 8k字節Flash,256字節RAM, 32 位I/O 口線,看門狗定時器,2 個數據指針,三個16 位 定時器/計數器,一個6向量2級中斷結構,全雙工串行口, 片晶振與時鐘電路。另外,STC89C52 可降至0Hz 靜態邏 輯操作,支持2種軟件可選擇
11、節電模式。空閑模式下,CPU 停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作。掉電保護方式下,RAM容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。8 位微控制器 8K 字節在系統可編程 Flash STC89C52。主要性能:與MCS-51單片機產品兼容、8K字節在系統可編程Flash存儲器、1000次擦寫周期、全靜態操作:0Hz33Hz、三級加密程序存儲器、32個可編程I/O口線、三個16位定時器/計數器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數據指針、掉電標識符。 HYPERLINK :/photo.
12、blog.sina .cn/showpic.html l blogid=49013b4801009rfc&url= :/static14.photo.sina .cn/orignal/49013b4845103b035ea5d t _blank 圖2-1STC89C52引腳圖2.2.2 對于抗干擾能力的解決該項目中采用一體化紅外遙控接收器HX1838,該接收器的部包括紅外光敏二極管、諧振電路、放大電路、解碼器、濾波器等,其工作電壓為+5V,輸出引腳直接輸出不帶副載波的負極性RC-5V信號,具有電路簡單、靈敏度高、抗干擾性好等優點。2.3 總體方案學習型紅外線遙控器,通過自學習而擁有對多臺電器的
13、遙控功能。該遙控器有兩種狀態:學習狀態和控制狀態。處于學習狀態時,使用者每按一個控制鍵紅外接收電路就開始接收外來紅外信號,并將其轉換為電信號,然后經過檢波、整形、放大,再由單片機定時對其采樣,將每個采樣點的二進制數據以8位為一個單位,分別存放到指定的存儲單元中去,供以后對該設備控制使用;處于控制狀態時,使用者每按一個控制鍵單片機從指定的存儲單元中讀取二進制數據,串行輸出(位和位之間的時間間隔等于采樣的時間間隔)給信號保持電路,同時由調制電路進行信號調制,將調制信號經放大后,由紅外線發射二極管進行發射,從而實現對該鍵對應設備功能的控制。2.3 功能模塊框圖遙控器由紅外接收與紅外發射電路、復位電路
14、、控制器STC89C52、按鍵與狀態指示電路組成,其組成框圖如圖2-1所示。STC89C52控制器紅外接收電路狀態指示電路復位電路電源電路紅外發射電路圖2-2基于STC89C52學習型紅外線遙控器系統框圖3 系統設計3.1電路原理圖控制芯片選擇STC89C52單片機,控制系統按最小化工作模式設計,P1.0接紅外線發射,P1.6和P1.7接兩個發光二極管用來指示遙控器的工作狀態,P3.4和P3.5用來接收和發射紅外線。紅外接收采用一體化紅外遙控接收器(HX1838)。其原理圖如圖3-1所示。圖3-1 基于STC89C52學習型紅外遙控器原理圖3.2實現方法當紅外遙控器的某個按鍵按下時,發射出的一
15、組串行二進制編碼脈沖,該脈沖由引導碼、系統碼、功能碼和反碼組成,通過設置這些編碼以與碼長便可區分不同的紅外遙控器。紅外接收器負責紅外信號的接收和放大并解調出TTL電平信號送至微處理器進行處理,微處理器通過比較和識別接收來的紅外遙控編碼便可執行相應的遙控功能,本系統的設計思想是不考慮紅外編碼方式,僅利用單片機STC89C52對多個紅外遙控編碼的脈沖寬度進行測量,并原封不動地把發射信號中高、低電平的時間寬度記憶至存儲區的指定地址。當要發射紅外信號時,從存儲區中還原出相應的紅外遙控編碼,并調制到38kHz的載波信號上,最后,通過74LS07驅動發光二極管發射紅外信號,達到學習和發射的目的,從而實現一
16、個遙控器控制多種遙控設備的功能。3.3 詳細流程圖在程序中主程序完成初始化、按鍵掃描和調用信號發射程序的功能,學習功能通過中斷0來完成。程序的具體流程圖如圖3-2所示。Y結束?中斷開始開學習指示燈等待鍵釋放讀遙控碼存學習標志,關指示燈結束NY開始初始化掃描按鍵?信號發射N(a)主程序流程圖 (b)中斷程序流程圖圖3-2 基于STC89C52學習型紅外線遙控器程序流程圖4 代碼編寫4.1 STC89C52單片機與各模塊電路的連接端口分配P1.6和P1.7分別接學習燈指示燈和發射指示燈sbit studylamp=P27;/學習指示燈sbit lamp=P26;/發射指示燈sbit studyke
17、y=P32;/學習鍵(中斷口)sbit remotein=P11;/遙控信號輸入口sbit remoteout=P12;/遙控信號輸出口sbit txkey=P10;/發射鍵4.2 復位電路的設計復位電路實現的是對單片機以與整個電路的初始化 uint i,j,n;/定義各個變量uint idata FH55; /存脈沖寬度高電平數據用 uint idata FL55; /存脈沖寬度低電平數據用 uint head,head2;/存起始位用clearmen()/初始化函數studylamp=1;/關學習指示燈lamp=1;/關發射指示燈remoteout=1;/關遙控輸出remotein=1;h
18、ead=0; /起始位1 清0head2=0; /起始位2 清0for(i=0;i55;i+)/清存 FHi=0 x0000;FLi=0 x0000;IE=0 x00;/中斷允許控制寄存器置0IP=0 x01;/定義中斷優先級TMOD=0 x21;/8位自動重裝模式和定時器0為16位模式TCON=0 x00;/定時器溢出位清零TH1=0 xf3;/40khz初值TL1=0 xf3;IT0=1;/脈沖觸發方式,負跳變有效EX0=1;/外中斷允許EA=1;/開總中斷定義延時1ms子程序delay1ms(uint t)/1ms延時子程序for(i=0;it;i+)for(j=0;j120;j+);4
19、.3 按鍵電路設計的實現通過掃描按鍵來判斷實現的功能,并通過按鍵進入中斷程序void keywork()/鍵功能鍵if(txkey=0) delay1ms(100);if(txkey=0)remoteout=1; /關閉紅外輸出口 TH0=head/256;TL0=head%256;ET1=1;TR1=1;/ 產生脈沖TR0=1;while(TF0=0);TR0=0;TF0=0;ET1=0;TR1=0;/ 不產生脈沖remoteout=1; /關閉紅外輸出口 TH0=head2/256;TL0=head2%256;TR0=1;while(TF0=0);TR0=0;TF0=0;n=0;while
20、(1)TH0=FLn/256;TL0=FLn%256;ET1=1;TR1=1;/ 產生脈沖lamp=lamp;TR0=1;while(TF0=0);TR0=0;TF0=0;ET1=0;TR1=0;/ 不產生脈沖remoteout=1; /關閉紅外輸出口TH0=FHn/256;TL0=FHn%256;lamp=lamp;TR0=1;while(TF0=0);TR0=0;TF0=0;if(FHn=0)lamp=0;break;n+;4.4 中斷程序的實現4.4.1定時器中斷T1的服務程序定時器中斷T1的服務程序,實現控制紅外發射燈是否發射。當remoteout為低電平時,紅外發射處于工作狀態,會發
21、出紅外信號;當送入的為高電平時,紅外發射不工作。void time_intt1(void) interrupt 3/定時器中斷T1remoteout=remoteout;4.4.2 外中斷0的服務程序外中斷服務程序實現的是接收遙控器發射的紅外信號,判斷其高低電平,并存入單片機指定的位置,以供當系統處于學習狀態時,該紅外遙控器進行學習,并控制家電的使用。void intt0(void) interrupt 0/外中斷0 接收遙控器發射的紅外信號,判斷其高低電平,并存入單片機指定的位置ET1=0;/關定時器1中斷 TR1=0;/關定時器1 EX0=0;/關外部中斷0EA=0; /關總中斷 n=0;
22、head=0; /起始位1 清0head2=0; /起始位2 清0for(i=0;i0 x0E) goto end; TR0=0;FHn=TH0*256+TL0;/數據位高電平脈寬寬度測量 n+;/FH和FL共用一個 n end:FHn=0 x0000;studylamp=1; /學習指示燈滅 lamp=0; /發射指示燈亮 TR0=0;TF0=0;TH0=0 x00;TL0=0 x00;EX0=1;EA=1;4.5 主函數的實現主函數只需調用初始化函數實現電路復位,調用按鍵函數實現學習、控制功能。main()clearmen();while(1)keywork();/按鍵掃描5 程序調試各個
23、函數實現后,對該函數整體實現,并進行調試了,調試過程中出現了一些低級錯誤,如變量的書寫錯誤,定義的錯誤等等,但整體的模塊規劃設計實現跟設想的還是一樣比較完整、正確的,故軟件的實現還是比較順利的。6 運行與測試本項目設計的是一個多功能紅外線遙控器,控制電路板的安裝與調試在整個系統研制中占有重要位置,它是把理論付諸實踐的過程,也是把紙面設計轉變成實際產品的必經階段。在調試過程中藥注意以下幾個特點。正確使用測量儀器的接地端,儀器的接地端與電路的接地端要可靠連接。在信號較弱的輸入端,盡可能使用屏蔽線連線,屏蔽線的外屏蔽層要接到公共地線上,在頻率較高時要設法隔離連接線分布電容的電影,例如用示波器測量時應
24、該使用使用示波器探頭連接,以減少分布電容的影響。測量電壓所用儀器的輸入阻抗必須遠大于被測處的等效阻抗。測量儀器的帶寬必須大于被測量電路的帶寬。正確選擇測量點和測量。認真觀察記錄實驗過程,包括條件、現象、數據、波形、相位等。出現故障時要認真查找原因。在程序調試成功之后,我將該程序燒入STC89C52芯片中,并對整個系統進行了測試。剛開始時,當按下學習鍵時,其學習指示燈不亮,于是,我用萬能表對焊接的狀態指示電路進行了測試,最后發現是與單片機的P1.6端口接入處沒有焊實。但經焊實后,發現跟我要系統實現的功能還是不完全,于是我又對程序進行了修改,經多次燒寫、運行、調試,終于實現了學習型紅外線遙控功能。
25、遙控器在使用時按下學習鍵,待學習指示燈亮后,用原遙控器對著紅外接收頭按下某一功能鍵,當學習指示燈滅時,就可按發射鍵進行遙控操作了。本設計還有較多的擴展空間,若在系統中擴展一個存儲器,再加入相應的按鍵就可以制作成一個學習型的萬能遙控器。總 結本次單片機系統開發與應用工程實習報告前后歷時兩周。此次工程實習的前一周,我們對整個系統的進行了深入的了解,并對其進行了整體規劃,分別劃分為STC89C52控制器模塊、紅外接收電路模塊、紅外發射電路模塊、狀態指示電路模塊、復位電路模塊、電源電路模塊。當我把該系統的模塊確定以后,就初步畫出該系統的硬件電路原理圖,經過確定以后,就開始了硬件電路的焊接。經過對焊接的電路運行和測試成功后,就對軟件設計進行了簡單的設計。實習的第二周主要是將程序燒寫入硬件電路中,并對其進行運行與調試。在學習這門課程時,感到單片機的概念抽象,對其中的引腳的分配、寄存器的功能等基本理論也不能很好地理解與掌握。通過本次工程實習,我對學到的單片機知識有了更深一步的深入,而且,本次實習讓我對于實踐也有了基本認識
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 空氣動力學與飛行原理 課件 3.2.1-3.2.2 空氣動力
- DB64-T 272-2003 砌體工程施工工藝標準
- 江西省上饒市藍天教育集團2024-2025學年高二下學期期中考試政治試題
- 河南省項城市老城高級中學2024-2025學年高一下學期期中考試地理試卷(含答案)
- 2.高一下學期期中模擬試卷(解析卷)
- 巾幗大講堂朗誦活動方案
- 幫扶系列活動方案
- 巴南區親子閱讀活動方案
- 小學糍粑活動方案
- 小孩春游市集活動方案
- 廣東省廉江市實驗學校2022-2023學年數學五年級第二學期期末聯考試題含答案
- 湖南三支一扶考試歷年真題
- 心肺運動試驗-PPT-醫學課件
- 2023年小學數學壓軸幾何圖形經典30題匯編
- 農業推廣經營服務相關知識
- 鐵路工程預算定額標準說明
- 滅火和疏散應急預案流程圖
- 2023-2024學年云南省景洪市小學語文四年級期末評估試題
- 強夯施工工藝流程圖
- 2023年成都市成華區建設系統事業單位招聘考試筆試模擬試題及答案解析
- GB/T 40834-2021夏玉米苗情長勢監測規范
評論
0/150
提交評論