紅外學(xué)習(xí)型遙控器的設(shè)計(jì)_第1頁
紅外學(xué)習(xí)型遙控器的設(shè)計(jì)_第2頁
紅外學(xué)習(xí)型遙控器的設(shè)計(jì)_第3頁
紅外學(xué)習(xí)型遙控器的設(shè)計(jì)_第4頁
紅外學(xué)習(xí)型遙控器的設(shè)計(jì)_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、紅外學(xué)習(xí)型遙控器的設(shè)計(jì)-作者xxxx-日期xxxx【精品文檔】【精品文檔】河南河南農(nóng)業(yè)農(nóng)業(yè)大學(xué)大學(xué)本科生畢業(yè)論文 題 目 紅外學(xué)習(xí)型遙控器的設(shè)計(jì) 學(xué) 院 理學(xué)院 專業(yè)班級 08級信安一班 學(xué)生姓名 陳晨 指導(dǎo)教師 賈樹恒 撰寫日期: 2012 年 5月 22日【精品文檔】【精品文檔】指導(dǎo)教師評語(主要評價(jià)論文的工作量、試驗(yàn)數(shù)據(jù)的可靠性、論文的主要內(nèi)容與特點(diǎn)、寫作水平等):論文的工作量:試驗(yàn)數(shù)據(jù)的可靠性:論文的主要內(nèi)容與特點(diǎn)、寫作水平: 簽 名: 2012 年 5月 22日答辯委員會評語及論文成績(主要評價(jià)論文的性質(zhì)、難度、質(zhì)量、綜合訓(xùn)練、答辯情況、不足等。評定論文成績):論文的性質(zhì)、難度、質(zhì)量

2、:學(xué)生的綜合訓(xùn)練、答辯情況、不足等:論文成績:主任委員簽名: 2012 年 5月 28日【精品文檔】【精品文檔】紅外學(xué)習(xí)型遙控器的設(shè)計(jì)陳晨摘要摘要 隨著社會的發(fā)展、科技的進(jìn)步以及人們生活水平的逐步提高,各種方便于生活的遙控系統(tǒng)開始進(jìn)入了人們的生活。傳統(tǒng)的遙控器采用專用的遙控編碼及解碼集成電路,這種方法雖然制作簡單、容易,但由于功能鍵數(shù)及功能受到特定的限制,只實(shí)用于某一專用電器產(chǎn)品的應(yīng)用,應(yīng)用范圍受到限制。而采用單片機(jī)進(jìn)行遙控系統(tǒng)的應(yīng)用設(shè)計(jì),具有編程靈活多樣、操作碼個(gè)數(shù)可隨便設(shè)定等優(yōu)點(diǎn)。本設(shè)計(jì)以單片機(jī)為核心設(shè)計(jì)一種紅外學(xué)習(xí)型遙控器,可以對基于NEC紅外協(xié)議的紅外線遙控器發(fā)射的信號進(jìn)行識別、存儲和

3、再現(xiàn)等功能,從而實(shí)現(xiàn)對各類家用電器的控制。紅外學(xué)習(xí)型遙控器由單片機(jī)、紅外線接收、紅外線發(fā)射、顯示、存儲、按鍵和電源等部分組成。本設(shè)計(jì)詳細(xì)介紹了紅外學(xué)習(xí)型遙控器的軟硬件設(shè)計(jì)方法,并給出了具體的各單元電路設(shè)計(jì)、程序設(shè)計(jì)及主程序流程圖。關(guān)關(guān)鍵詞鍵詞: :單單片機(jī);片機(jī);紅紅外遙控;中斷;外遙控;中斷;學(xué)學(xué)習(xí)習(xí)型型【精品文檔】【精品文檔】Design of IR Learning Remote ControlerCHEN ChenAbstractWith the development of our society and the gradual improvement of science and

4、technology, various kinds of help remote control systems have began to enter peoples life. The traditional remote controllers adopt special remote control code and decode integrated circuits, though this kind of method is simply and easily, it is only the practical application of some certain specia

5、l electric equipments because of the counted functional keys is counted and the restricted function, so the range of application is limited. But the remote controllers which adopt the microprocessors have many advantages such as flexible operating and unceremonious manipulative keys.This is to desig

6、n an intelligent infrared remote focusing on single chip. It can distinguish, store and recurrence to signals that all kinds of infrared remote launched .Thereby, the control of all household electrical appliances can be realized. The intelligent infrared remote is made up of singe clip, infrared re

7、ceiving, infrared launching, displaying, storing, keys, power supply, etc.This design introduced detailedly the soft and hard designing methods of intelligent infrared remote and gave the details of circuit design, procedure design and main procedure flow chart of every unit.Keywords: Single chip mi

8、crocomputer; Infrared remote control; Interrupt; The learning【精品文檔】【精品文檔】目錄1 緒論緒論.1選題的意義.11.2 設(shè)計(jì)思想.21.3 設(shè)計(jì)重點(diǎn)與難點(diǎn).22 硬件的選取硬件的選取.32.1 單片機(jī).3簡介.3主要功能特性.3引腳介紹.42.1.4 STC89C52RC單片機(jī)的工作模式.6定時(shí)器/計(jì)數(shù)器.62.2 電源L7805穩(wěn)壓器概述.82.3 存儲器.92.3.1 AT24C02串行E2PROM的概述 .92.3.2 AT24C02串行E2PROM 的特性.92.4 紅外接收頭.102.4.1 NB0038的概述.10

9、2.4.2 NB0038的特性.103 系統(tǒng)組成設(shè)計(jì)系統(tǒng)組成設(shè)計(jì).114 各單元電路設(shè)計(jì)各單元電路設(shè)計(jì).124.1 單片機(jī)最小系統(tǒng).124.1.1 復(fù)位電路.124.1.2 CPU時(shí)鐘電路.124.1.3 管腳應(yīng)用.13鍵盤電路.13鍵盤與單片機(jī)的接口.134.2.2 鍵連擊現(xiàn)象的克服和處理.144.3 紅外發(fā)射電路.144.4 紅外接收電路.154.4.1 紅外接收原理.154.5 存儲器電路.174.5.1 24C02引腳說明.174.5.2 單片機(jī)與24C02的接口.174.6 指示燈電路.174.7 電源電路.185 程序設(shè)計(jì)程序設(shè)計(jì).195.1 主程序流程圖.19【精品文檔】【精品文

10、檔】5.2 鍵號判別程序設(shè)計(jì).205.3 紅外接收程序設(shè)計(jì).215.4 紅外發(fā)射程序設(shè)計(jì).226 程序源代碼程序源代碼.23按鍵掃描源碼見附錄A.236.2 I2C總線程序.23位傳輸.236.2.2 數(shù)據(jù)傳輸?shù)淖止?jié)格式.236.2.3 I2C數(shù)據(jù)傳輸協(xié)議.23紅外接收源碼見附錄B .24紅外發(fā)射源碼見附錄C .247 系統(tǒng)調(diào)試系統(tǒng)調(diào)試.257.1 軟件調(diào)試.257.2 硬件調(diào)試.268 調(diào)試中遇到的問題和解決方法調(diào)試中遇到的問題和解決方法.298.1 硬件部分 .298.1.1 單片機(jī)的選取.298.1.2 功能切換鍵的設(shè)置.298.1.3 AT24C02的焊接.29軟件部分.29紅外發(fā)射部

11、分.29中斷部分.29定時(shí)器0模式部分.30結(jié)論結(jié)論.31參考文獻(xiàn)參考文獻(xiàn).32附附 錄錄A.33附附 錄錄B .34附附 錄錄C.36附附 錄錄D.38附附 錄錄E .39致謝致謝.40【精品文檔】【精品文檔】1 緒論緒論選題的意義選題的意義上世紀(jì)八十年代初,日本率先在電視產(chǎn)品中使用了紅外遙控技術(shù),使用集成發(fā)射芯片來實(shí)現(xiàn)遙控碼的發(fā)射,如東芝 TC9012,飛利浦 SAA3010 等,它的主要特點(diǎn)是:遙控器內(nèi)預(yù)置固定編碼,一只遙控器只能控制單一型號的電器。如圖 1.1 所示: 圖圖 遙控遙控單單一種一種類電類電器的遙控器器的遙控器隨著電子技術(shù)的發(fā)展,家用電器越來越普遍,人們希望以一只遙控器遙控

12、所有家用電器,多用遙控器產(chǎn)生了。它的主要特點(diǎn)是:遙控器內(nèi)預(yù)置多套編碼,可供用戶選擇。如圖 1.2 所示: 圖圖 可遙控多種家用可遙控多種家用電電器的遙控器器的遙控器如今,隨著嵌入式的廣泛應(yīng)用,部分廠商推出了具備紅外學(xué)習(xí)的遙控器,它的主要特點(diǎn)是:遙控器內(nèi)置一個(gè)動態(tài)編碼庫,具備紅外學(xué)習(xí)功能,可由用戶自主錄入編碼【1】,如圖1.3 所示: 【精品文檔】【精品文檔】圖圖 具具備備學(xué)學(xué)習(xí)習(xí)功能的遙控器功能的遙控器通過對具備紅外學(xué)習(xí)功能的遙控器進(jìn)行市場調(diào)查,本文發(fā)現(xiàn):國內(nèi)紅外遙控編碼學(xué)習(xí)技術(shù)雖比較成熟,但產(chǎn)品化程度較低,市場推廣不夠,主要原因在于設(shè)計(jì)者對用戶需求的調(diào)查不夠全面,以致產(chǎn)品不夠?qū)嵱?性價(jià)比較低

13、。為此,我們試著設(shè)計(jì)一種以單片機(jī)為核心的智能型遙控器。1.2 設(shè)計(jì)思想設(shè)計(jì)思想本系統(tǒng)的設(shè)計(jì)思想是針對市面上流行的NEC紅外協(xié)議,利用小型一體化接收頭NB0038對紅外遙控信號進(jìn)行接收,再用單片機(jī)對紅外信號進(jìn)行解碼,把解碼結(jié)果存儲到擴(kuò)展存儲區(qū)的指定地址。當(dāng)要發(fā)射紅外信號時(shí),從擴(kuò)展存儲區(qū)中讀出相應(yīng)的紅外遙控編碼,調(diào)制到由單片機(jī)產(chǎn)生38K載波上,最后,通過三極管放大電路驅(qū)動紅外發(fā)光二極管發(fā)射紅外信號,達(dá)到學(xué)習(xí)和發(fā)射的目的,從而實(shí)現(xiàn)一個(gè)遙控器控制多種紅外遙控設(shè)備。 遙控器有兩種工作狀態(tài):“學(xué)習(xí)”狀態(tài)和“控制”狀態(tài),使用者可通過學(xué)習(xí)/控制復(fù)用鍵進(jìn)行轉(zhuǎn)換。當(dāng)使用者在學(xué)習(xí)狀態(tài)下,紅外線接收電路處于接收紅外線

14、信號狀態(tài)下,當(dāng)有紅外信號并接收成功后,指示燈會閃爍。當(dāng)按下一個(gè)控制鍵后,由CPU將解碼信息存放到相應(yīng)的存儲單元中去,存儲成功后指示燈會閃爍。當(dāng)遙控器處于控制狀態(tài)時(shí),使用者每按下一個(gè)控制鍵,CPU從指定的存儲單元中讀取遙控編碼信號,然后進(jìn)行信號調(diào)制,將調(diào)制信號經(jīng)放大以后,由紅外線發(fā)射二極管進(jìn)行發(fā)射,從而實(shí)現(xiàn)對該鍵對應(yīng)設(shè)備功能的控制?!揪肺臋n】【精品文檔】1.3 設(shè)計(jì)重點(diǎn)與難點(diǎn)設(shè)計(jì)重點(diǎn)與難點(diǎn)系統(tǒng)組成的設(shè)計(jì);各部分硬件的選??;單片機(jī)串行接口的鍵盤設(shè)計(jì);紅外線遙控器信號的接收、發(fā)射與調(diào)制解碼軟件的設(shè)計(jì);流程圖及程序的設(shè)計(jì)?!揪肺臋n】【精品文檔】2 硬件的選取硬件的選取2.1 單片機(jī)單片機(jī)由于此單片

15、機(jī)應(yīng)用在家用遙控器上,所以本設(shè)計(jì)選用了低功耗、低價(jià)格的STC89C52RC單片機(jī),如圖 2.1所示。圖圖2.1 STC89C52RC引腳引腳圖圖2簡介簡介STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。主要功能特性主要功能特性(1) 增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。(2) 工作電壓:(5V單片機(jī))(3V單片機(jī))。(3) 工作頻率范圍:040MHz,相當(dāng)于普通8051的080MHz,實(shí)際工作頻率可達(dá)48MHz

16、。(4) 用戶應(yīng)用程序空間為8K字節(jié),片上集成512字節(jié)RAM。【精品文檔】【精品文檔】(5) 通用I/O口(32個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。(6) ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口()直接下載用戶程序,數(shù)秒即可完成一片。(7) 具有EEPROM功能。(8) 具有看門狗功能。(9) 共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2。(10)外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式可由外部中斷

17、低電平觸發(fā)中斷方式喚醒。(11)通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。(12)工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)。2引腳介紹引腳介紹(1) VCC(40引腳):電源電壓。(2) VSS(20引腳):接地。(3) P0端口(,3932引腳):P0口是一個(gè)漏極開路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動8個(gè)TTL負(fù)載,對端口P0寫入“1”時(shí),可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時(shí),P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),P0口內(nèi)部上拉電阻有效。在Flash ROM編程時(shí),P0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)

18、。驗(yàn)證時(shí),要求外接上拉電阻。(4) P1端口(,18引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(吸收或者輸出電流方式)4個(gè)TTL輸入。對端口寫入1時(shí),通過內(nèi)部的上拉【精品文檔】【精品文檔】電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個(gè)電流()。此外,和還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入()和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入()。(5) P2端口(,2128引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(吸收或輸出電流方式)4個(gè)TTL輸入。對端口寫入1時(shí),通過內(nèi)部

19、的上拉電阻把端口拉到高電平,這時(shí)可用作輸入口。P2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個(gè)電流()。(6) P3端口(,1017引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個(gè)TTL輸入。對端口寫入1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸入一個(gè)電流()。P3口還用于實(shí)現(xiàn)各種第二功能,如下表所列:表表 2.1 P3口的第二功能口的第二功能引腳口功能P3.5P3.6P3.7RXD串行輸入端口TXD串行輸出端口INT0外中斷

20、0INT1外中斷1T0定時(shí)器0外部輸入T1定時(shí)器1外部輸入WR外部數(shù)據(jù)存儲器寫選通RD外部數(shù)據(jù)存儲器讀選通(7) RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效?!揪肺臋n】【精品文檔】(8) ALE/(30引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時(shí),鎖存低8位地址的輸出脈沖。在Flash編程時(shí),此引腳()也用作編程輸入脈沖。(9)(29引腳):外部程序存儲器

21、選通信號()是外部程序存儲器選通信號。當(dāng)AT89C51RC從外部程序存儲器執(zhí)行外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而訪問外部數(shù)據(jù)存儲器時(shí),將不被激活。(10)/VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,必須接GND。注意加密方式1時(shí),將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在Flash編程期間,也接收12伏VPP電壓。(11)XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。(12)XTAL2(18引腳):振蕩器反相放大器的輸入端。2 STC89C52RC單片機(jī)的工作模式單片機(jī)的工作模式(1)

22、 掉電模式:典型功耗0.1A,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序。(2) 空閑模式:典型功耗2mA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序。(3) 正常工作模式:典型功耗4mA7mA。2.定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器(1) 主要特性STC89C52RC單片機(jī)有三個(gè)可編程的定時(shí)器/計(jì)數(shù)器定時(shí)器/計(jì)數(shù)器0定時(shí)器/計(jì)數(shù)器1和定時(shí)器/計(jì)數(shù)器2,可有程序選擇作為定時(shí)器用或作為計(jì)數(shù)器用,定時(shí)時(shí)間或記數(shù)值也可由程序設(shè)定。每一個(gè)定時(shí)器/計(jì)數(shù)器具有4種工作方式,可用程序選擇。任一定時(shí)器/計(jì)數(shù)器在定時(shí)時(shí)間到或記數(shù)值到時(shí),可有程序安排產(chǎn)生中斷請求信號或不產(chǎn)生中斷請求信號?!揪肺臋n】【精品文檔】(2)

23、 定時(shí)/計(jì)數(shù)器0和1的控制和狀態(tài)寄存器特殊功能寄存器TMOD和TCON分別是定時(shí)/計(jì)數(shù)器0和1的控制和狀態(tài)寄存器,用于控制和確定各定時(shí)/計(jì)數(shù)器的功能和工作模式。模式控制寄存器TMODTMOD用于控制T0和T1的工作方式和4種工作模式。其中低4位用于控制T0,高4位用于控制T1。其格式如下:表表 2.2 TMOD格式格式GATE C/T非 M1 M0GATEC/T非 M1 M0GATE位:門控位。當(dāng)GATE=1時(shí),只有INTO非或INT1非引腳為高電平且TR0或TR1置1時(shí),相應(yīng)的定時(shí)/計(jì)數(shù)器才被選通工作;當(dāng)GATE=0,則只要TR0和TR1置1,定時(shí)/計(jì)數(shù)器就被選通,而不管INT0非或INT1

24、非的電平是高還是低。C/T非位:計(jì)數(shù)/定時(shí)功能選擇位。C/T非=0,設(shè)置為定時(shí)器方式,計(jì)數(shù)器的輸入是內(nèi)部時(shí)鐘脈沖,其周期等于機(jī)器周期。C/T非=1,設(shè)置為計(jì)數(shù)器方式,計(jì)數(shù)器的輸入來自T0(P3.4)或T1(P3.5)端的外部脈沖。M1、M0位:工作模式選擇位。2位可形成4中編碼,對應(yīng)4種工作模式,見下表:表表 2.3 定定時(shí)時(shí)器工作模式器工作模式M1 M0功 能 描 述00011011方式0:13位定時(shí)器/計(jì)數(shù)器方式1:16位定時(shí)器/計(jì)數(shù)器方式2:具有自動重裝初值的8位定時(shí)器/計(jì)數(shù)器方式3:定時(shí)/計(jì)數(shù)器0分為兩個(gè)8位定時(shí)/計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器1在此方式無實(shí)用意義控制寄存器TCON【精品文檔】【

25、精品文檔】TCON用來控制T0和T1的啟、停,并給出相應(yīng)的控制狀態(tài),高4位用于控制定時(shí)器0、1的運(yùn)行;低4位用于控制外部中斷。格式如下:表表 2.4 TCON格式格式TF1 TR1 TF0 TR0 IE1IT1IE0 IT0TF1:定時(shí)器1溢出標(biāo)志。當(dāng)定時(shí)器1溢出時(shí),由硬件置1。使用查詢方式時(shí),此位做狀態(tài)位供查詢,查詢有效后需由軟件清零;使用中斷方式時(shí),此位做中斷申請標(biāo)志,進(jìn)入中斷服務(wù)后被硬件自動清零。TR1位:定時(shí)器1運(yùn)行控制位。該位靠軟件置位或清零,置位時(shí),定時(shí)/計(jì)數(shù)器接通工作,清零時(shí),停止工作。TF0位:定時(shí)器溢出標(biāo)志位,其功能和操作情況類同于TF1。TR0位:定時(shí)器0運(yùn)行控制位,其功能

26、和操作類同于TR1。IE位:外部中斷請求標(biāo)志位。當(dāng)CPU采樣到INT0非(或INT1非)端出現(xiàn)有效中斷請求時(shí),IE0(或IE1)由硬件置1,中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動清零。IT位:外部中斷請求出發(fā)方式位。IT0(IT1)=1為脈沖觸發(fā)方式,后負(fù)跳有效。IT0(IT1)=0為電平觸發(fā)方式,低電平有效。定時(shí)/計(jì)數(shù)器的初始化單片機(jī)的定時(shí)/計(jì)數(shù)器是可編程的,因此,在進(jìn)行定時(shí)或計(jì)數(shù)之前也要用程序進(jìn)行初始化。初始化一般應(yīng)包括以下幾個(gè)步驟:a. 對TMOD寄存器賦值,以確定定時(shí)器的工作模式;b. 置定時(shí)/計(jì)數(shù)器初值,直接將初值寫入寄存器的TH0,TL0或TH1,TL1;c. 根據(jù)需要,對寄存

27、器IE置初值,開放定時(shí)器中斷;【精品文檔】【精品文檔】d. 對TCON寄存器中的TR0或TR1置位,啟動定時(shí)/計(jì)數(shù)器,置位以后,計(jì)數(shù)器即按規(guī)定的工作模式和初值進(jìn)行計(jì)數(shù)或開始定時(shí)。 在初始化過程中,要置入定時(shí)/計(jì)數(shù)器的初值,這時(shí)要做一些計(jì)算。由于計(jì)數(shù)器是加法計(jì)數(shù),并在溢出時(shí)申請中斷,因此不能直接輸入所需的計(jì)數(shù)值,而是要從計(jì)數(shù)最大值倒退回去一個(gè)計(jì)數(shù)值才是應(yīng)置入的初值。設(shè)計(jì)數(shù)器的最大值為M(在不同的工作模式中,M可以為8192,65536,256),則置入的初值可以這樣來計(jì)算。計(jì)數(shù)方式時(shí) X=M-記數(shù)值 (2.1)定時(shí)方式時(shí) (M-X)*T=定時(shí)值 (2.2)所以 X=M-定時(shí)值/T (2.3)式中

28、,T為計(jì)數(shù)周期,是單片機(jī)的機(jī)器周期。T0和T1的4種工作方式方式0:13位定時(shí)/計(jì)數(shù)器,TL1(或TL0)的低5位和TH1(或TH0)的8位構(gòu)成,TL中的高3位棄之未用。當(dāng)TL的低5位記數(shù)溢出時(shí),向TH進(jìn)位,而全部13位計(jì)數(shù)器溢出時(shí)使計(jì)數(shù)器回零,并使溢出標(biāo)志TF置1,向CPU發(fā)出中斷請求。方式1:16位定時(shí)/計(jì)數(shù)器,其邏輯電路和工作情況與方式0幾乎完全相同,唯一的差別就是方式1中TL的高3位也參與了計(jì)數(shù)。方式2:把TL配置成一個(gè)可以自動重裝載的8位定時(shí)/計(jì)數(shù)器。【精品文檔】【精品文檔】方式3:僅對T0有意義,將16位定時(shí)/計(jì)數(shù)器分成兩個(gè)互相獨(dú)立的8位定時(shí)/計(jì)數(shù)器TL和TH【2】。2.2 電源電

29、源L7805穩(wěn)壓器概述穩(wěn)壓器概述整個(gè)電路用9V電源供電,為滿足單片機(jī)和其它器件的電壓要求,需要把9V轉(zhuǎn)為5V,為此選用L7805穩(wěn)壓器實(shí)現(xiàn)電壓的轉(zhuǎn)化。電子產(chǎn)品中, L7805是常見的三端穩(wěn)壓集成電路正電壓輸出,只有三條引腳輸出,分別是輸入端,接地端和輸出端.它的樣子像是普通的三極管,TO-220 的標(biāo)準(zhǔn)封裝, 用 L7805三端穩(wěn)壓 IC 來組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi) 部還有過流,過熱及調(diào)整管的保護(hù)電路,使用起來可靠,方便,而且價(jià)格便宜. 引腳功能如圖2.2所示. 從正面看引腳從左向右按順序標(biāo)注,腳高電位, 腳接地, 腳輸出。 圖圖2.2 L78052.3 存儲器存儲器存儲器有RA

30、M、EEPROM、非易失性的靜態(tài)存儲器等。RAM掉電時(shí)數(shù)據(jù)會丟失,EEPROM在掉電時(shí)數(shù)據(jù)不會丟失。2.3.1 AT24C02串行串行E2PROM的概述的概述AT24C02是美國ATMEL公司的低工耗CMOS串行EEPROM,它是內(nèi)含256*8位存儲空間,具有工作電壓寬(1.85.5V)、擦寫次數(shù)多(100萬次)、寫入速度快(最大5ms) 【精品文檔】【精品文檔】、數(shù)據(jù)保持時(shí)間長(100年)等特點(diǎn)。如圖2.3所示,AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。 24C02中帶有片內(nèi)地址寄存器。每寫入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動加1,以實(shí)現(xiàn)對下一個(gè)存儲單元的讀寫。所

31、有字節(jié)均以單一操作方式讀取。為降低總的寫入時(shí)間,一次操作可寫入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。該器件可直接與微處理器接口,不需要額外的支持電路。圖圖2.3 AT24C022.3.2 AT24C02串行串行E2PROM 的特性的特性(1)保存數(shù)據(jù)時(shí)間:100年。(2)硬件數(shù)據(jù)寫保護(hù)。(3)直接替代2K8易失靜態(tài)RAM 。(4)擦寫次數(shù)多達(dá)100萬次。(5)低功耗CMOS操作 。(6)8引腳DIP封裝。(7)2線串行接口,完全兼容I2C總線。(8)ESD保護(hù)大于V。2.4 紅外接收頭紅外接收頭接收電路使用集成紅外接收器成品,一般不需要任何外接元件就能完成從紅外接收到輸出TTL 電平兼容信號的所有工作。注意選擇

32、接收器件時(shí)要保證接收器件的中心頻率與發(fā)射信號的中心頻率相匹配。接收器對外只有3 個(gè)引腳:VCC 、GND 和1 個(gè)脈沖信號輸出OUT,與單片機(jī)接口連接非常方便?!揪肺臋n】【精品文檔】 NB0038的概述的概述NB00。NB0038環(huán)氧樹脂封裝提供一個(gè)特殊的紅外濾光器,可防止自然光的干擾。NB0038在抗自然光的干擾方面有極好的性能,可防止無用脈沖輸出。圖圖2.4 NB0038 NB0038的特性的特性(1)光電檢測和前置放大器集成在同一封裝上。(2)內(nèi)帶PCM頻率濾波器。(3)對于自然光有較強(qiáng)的抗干擾性。(4)改進(jìn)了對電場干擾的防護(hù)性 。(5)電源電壓5V,低功耗?!揪肺臋n】【精品文檔】3

33、 系統(tǒng)組成設(shè)計(jì)系統(tǒng)組成設(shè)計(jì)系統(tǒng)由發(fā)射單元、接收單元、存儲單元、輸入單元、檢測單元等構(gòu)成。系統(tǒng)總的結(jié)構(gòu)框圖如圖3.1所示:單片機(jī)紅外接收電路紅外發(fā)射電路指示燈電路按鍵輸入電路數(shù)據(jù)存儲電路電源變換電路圖圖3.1 學(xué)學(xué)習(xí)習(xí)型萬能遙控器的系型萬能遙控器的系統(tǒng)統(tǒng)框框圖圖系統(tǒng)框圖中的單片機(jī)用來協(xié)調(diào)各個(gè)單元,紅外接收電路用來接收要學(xué)習(xí)的紅外信號,紅外發(fā)射電路用來發(fā)射控制電器的紅外信號,存儲器用來存儲接收的信號,鍵盤輸入電路用來實(shí)現(xiàn)按鍵控制,指示燈用來指示所處的模式和狀態(tài)?!揪肺臋n】【精品文檔】4 各單元電路設(shè)計(jì)各單元電路設(shè)計(jì)4.1 單片機(jī)單片機(jī)最小系統(tǒng)最小系統(tǒng)圖圖4.1單單片機(jī)最小系片機(jī)最小系統(tǒng)統(tǒng) 復(fù)位電

34、路復(fù)位電路 單片機(jī)復(fù)位電路包括片內(nèi)、片外兩部分,片外復(fù)位電路通過引腳加到內(nèi)部復(fù)位電路上,內(nèi)部復(fù)位電路在每個(gè)機(jī)器周期S5P2對片外信號采樣一次,當(dāng)RST引腳上出現(xiàn)連續(xù)兩個(gè)機(jī)器周期的高電平時(shí),單片機(jī)就完成一次復(fù)位。外部復(fù)位電路就是為內(nèi)部復(fù)位電路提供兩個(gè)機(jī)器周期以上的高電平而設(shè)計(jì)的,單片機(jī)通常采用上電自動復(fù)位和按鍵手動復(fù)位兩種方式。上電復(fù)位電路在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,從而使單片機(jī)復(fù)位。按鍵手動復(fù)位又分為按鍵電平復(fù)位和按鍵脈沖復(fù)位,按鍵電平復(fù)位是將復(fù)位端通過電阻與Vcc相連,按鍵脈沖復(fù)位是利用RC微分電路產(chǎn)生正脈沖來達(dá)到復(fù)位的目的。本系統(tǒng)設(shè)計(jì)時(shí)采用的是上電復(fù)位方式,其電路

35、原理圖如圖 4.1?!揪肺臋n】【精品文檔】 CPU時(shí)鐘電路時(shí)鐘電路 時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號。時(shí)鐘信號可以有兩種方式產(chǎn)生:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。(1) 內(nèi)部時(shí)鐘方式單片機(jī)有一個(gè)高增益反向放大器,用于構(gòu)成振蕩器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。在XTAL1和XTAL2兩端跨接晶體或陶瓷振蕩器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘發(fā)生器,外接晶振時(shí),C1、C2值通常選擇為30pF左右。為了減少寄生電容,更好的保證振蕩器穩(wěn)定可靠的工作,諧振器和電容應(yīng)盡可能安裝的與單片機(jī)芯片靠近。內(nèi)部時(shí)鐘發(fā)生器實(shí)質(zhì)上是一個(gè)二分頻的觸發(fā)器,其輸出信號

36、是單片機(jī)工作所需的時(shí)鐘信號。(2) 外部時(shí)鐘方式 外部時(shí)鐘方式是采用外部振蕩器,外部振蕩信號由XTAL2端接入后直接送至內(nèi)部時(shí)鐘發(fā)生器。輸入端XTAL1應(yīng)接地,由于XTAL2端的邏輯電平不是TTL的,故建議外接一個(gè)上拉電阻。 一般情況下,單片機(jī)時(shí)鐘輸入均采用內(nèi)部時(shí)鐘方式,外接一個(gè)震蕩電路,本系統(tǒng)采用內(nèi)部時(shí)鐘方式,晶振采用11.0592MHz,其電路圖 4.1。 管腳應(yīng)用管腳應(yīng)用P1作為4*4矩陣按鍵的接口。INT0作為按鍵中斷接口與74LS21四與門的第6根引腳連接。INT1作為紅外接收中斷接口與NB0038的OUT口連接。RD和WR分別與AT24C02的SDA和SCL引腳連接。P2.0用來控

37、制發(fā)射電路。P2.2用來控制指示燈?!揪肺臋n】【精品文檔】鍵盤與單片機(jī)的接口鍵盤與單片機(jī)的接口如圖所示,用單片機(jī)的并行口P1接44矩陣鍵盤,74LS21四與門的第6個(gè)引腳接單片機(jī)外部中斷INT0口。 圖圖4.2 鍵盤鍵盤按按鍵鍵的分布的分布圖圖 鍵連擊現(xiàn)象的克服和處理鍵連擊現(xiàn)象的克服和處理當(dāng)我們按下某個(gè)鍵時(shí),對應(yīng)的功能便會通過鍵盤分析程序得以執(zhí)行,如果在操作者釋放之前,對應(yīng)的功能多次執(zhí)行,如同操作者在連續(xù)不斷的操作該鍵一樣,這種現(xiàn)象就稱為連擊。連擊可用圖4.3(1)所示流程圖的軟件方法來解決:當(dāng)某個(gè)鍵按下時(shí),首先進(jìn)行軟件去抖處理,確認(rèn)鍵被按下后,便執(zhí)行與該鍵相對應(yīng)的功能,執(zhí)行完后不是立即返回

38、,而是等待鍵釋放之后再返回,使每一次按鍵只被響應(yīng)一次,從而達(dá)到避免連擊的目的。本實(shí)驗(yàn)采用了這種處理方式,今后程序改進(jìn)可以合理利用連擊現(xiàn)象。如果把連擊現(xiàn)象加以利用,有時(shí)會給操作者帶來便利。例如在某些儀器中。因設(shè)計(jì)的按鍵很少,沒有安排09數(shù)字鍵,只設(shè)置了一個(gè)調(diào)整鍵,這時(shí)需要采用加1(或者減1)的方法來調(diào)整有關(guān)參數(shù),但當(dāng)調(diào)整量較大時(shí)就需要多次按鍵,使操作者很不方便。如果【精品文檔】【精品文檔】允許存在連擊現(xiàn)象,我們只要按住鍵不放,參數(shù)就會不停的加1(或者減1),會讓操作比較方便、快捷【3】。具體實(shí)現(xiàn)流程圖如圖4.3(2)所示,其中加入的延時(shí)環(huán)節(jié)是為了控制連擊的速度。讀鍵延時(shí)去抖執(zhí)行等鍵釋放讀鍵延時(shí)去

39、抖執(zhí)行延時(shí)( (1) )鍵連擊現(xiàn)鍵連擊現(xiàn)象的象的處處理理 ( (2) )鍵連擊現(xiàn)鍵連擊現(xiàn)象的合理利用象的合理利用圖圖4.3鍵連擊現(xiàn)鍵連擊現(xiàn)象象 紅外發(fā)射電路紅外發(fā)射電路紅外發(fā)射電路圖如圖4.4所示。當(dāng)系統(tǒng)進(jìn)入控制模式時(shí),用戶按下遙控按鍵后即引發(fā)按鍵中斷,單片機(jī)識別按鍵然后從EEPROM中取出相應(yīng)鍵值的遙控信號,即紅外遙控編碼信息。然后用定時(shí)器T0來產(chǎn)生38KHz的載波信號,將遙控信號經(jīng)三極管8550驅(qū)動紅外發(fā)射管輻射出940nm的紅外脈沖信號發(fā)射出去?!揪肺臋n】【精品文檔】圖圖4.4 紅紅外外線發(fā)線發(fā)射射電電路路 紅外接收電路紅外接收電路紅外接收電路如圖4.5所示。一體化紅外接收頭采用NB0

40、038,其光電檢測和前置放大器集成于同一封裝,中心頻率為kHz。NB0038的環(huán)氧樹脂封裝結(jié)構(gòu)為其提供了一個(gè)特殊的紅外濾光器,對自然光和電場干擾有很強(qiáng)的防護(hù)性。NB0038的目的是對接收到的紅外信號放大、檢波、整形,并解調(diào)出紅外遙控編碼,得到TTL電平,反相后輸入至單片機(jī)的外部中斷INT1口【10】。圖圖4.5 紅紅外外線線接收接收電電路路【精品文檔】【精品文檔】.1 紅外接收原理紅外接收原理 家電的遙控一般采用由紅外發(fā)射管發(fā)出的紅外線作為指令傳輸媒介,為了增加傳輸距離、提高抗干擾性,一般經(jīng)過編碼,由載波調(diào)制后發(fā)出,如圖所示:如如圖圖 4.6 載載波波調(diào)調(diào)制制紅外接收管NB0038具備接收、解

41、調(diào)、TTL電平輸出等功能。其解調(diào)后波形如圖4.7.如如圖圖 4.7 載載波解波解調(diào)調(diào)因此,只要了解遙控器編碼標(biāo)準(zhǔn),就可利用NB0038接收、解調(diào)紅外信號,然后編寫程序由單片機(jī)解碼。本文就是基于市面上常用的NEC紅外協(xié)議進(jìn)行解碼的。如圖4.8所示:圖圖 4.8 NEC紅紅外外協(xié)議協(xié)議每幀數(shù)據(jù)由引導(dǎo)碼開始,隨后共32位數(shù)據(jù),分別16位用戶編碼,8位鍵數(shù)據(jù)碼和8位鍵數(shù)據(jù)反碼【9】。【精品文檔】【精品文檔】. .圖圖 4.9 NEC協(xié)議調(diào)協(xié)議調(diào)制和解制和解調(diào)調(diào)引導(dǎo)碼由9ms載波波形和關(guān)斷時(shí)間構(gòu)成,作為隨后發(fā)射碼的引導(dǎo),編碼采用脈沖位置調(diào)制方式(PPM)。利用脈沖之間的時(shí)間間隔來區(qū)分0和101【4】,如

42、圖4.9所示,下方為NB0038解調(diào)后波形。 存儲器電路存儲器電路.1 24C02引腳說明引腳說明 24C02它的引腳及接口應(yīng)用。如圖4.10為24C02引腳圖,A0,A1,A2為芯片地址線,單片使用時(shí)一般接VSS;SCL為串行移位時(shí)鐘;SDA為串行數(shù)據(jù)或地址。通過SDA,CPU可對芯片寫入或讀出數(shù)據(jù);WP為寫保護(hù)。若WP接VCC,芯片只讀。圖圖4.10 24C02引腳引腳圖圖 .2 單片機(jī)與單片機(jī)與24C02的接口的接口圖4.11 為單片機(jī)與24C02的接口電路圖。單片使用A0,A1,A2,Vss均接地。串行時(shí)鐘SCL接P3.1【精品文檔】【精品文檔】,串行數(shù)據(jù)或地址線SDA接引腳。這里的2

43、4C02主要用于存遙控器的紅外編碼信息,其芯片的寫指令為A0H,讀指令為A1H【5】。圖圖4.11 24CO2與與與與單單片機(jī)接口片機(jī)接口 指示燈電路指示燈電路指示燈的LED接口接單片機(jī)的P3.5。如圖4.12所以當(dāng)拉低時(shí),指示燈亮;當(dāng)拉高時(shí),指示燈滅。圖圖4.12 指示燈指示燈 電源電路電源電路電源電路如圖4.13所示,C5和C6 為濾波電容。輸入9V電壓,輸出5V電壓。圖圖4.13 電電源源電電路路圖圖【精品文檔】【精品文檔】5 程序設(shè)計(jì)程序設(shè)計(jì)5.1 主程序流程圖主程序流程圖開始控制模式初始化是否空閑模式進(jìn)入空閑模式外部中斷0延遲10ms按鍵去抖按鍵按下掃描按鍵信息功能切換按鍵學(xué)習(xí)模式控

44、制模式初始化學(xué)習(xí)模式初始化學(xué)習(xí)模式讀出紅外信息發(fā)射紅外信號控制模式初始化存儲紅外信息指示燈閃爍學(xué)習(xí)模式初始化外部中斷1接受紅外信號指示燈閃爍中斷返回定時(shí)器0中斷紅外發(fā)射接口翻轉(zhuǎn)中斷返回否中斷返回是中斷返回否是否否是是否失敗成功主程序按鍵中斷紅外接收中斷定時(shí)器0中斷是圖圖5.1 主程序流程主程序流程圖圖【精品文檔】【精品文檔】5.2 鍵號判別程序設(shè)計(jì)鍵號判別程序設(shè)計(jì)矩陣按鍵部分由16個(gè)輕觸按鍵按照4行4列排列,連接到P1端口。初始賦值P1=0 x0F,當(dāng)有按鍵按下時(shí),74LS21四與門輸出邏輯低電平引發(fā)INT0外部中斷,在通過按鍵掃描判斷是哪個(gè)按鍵被按下。其原理是:依次使P1.4-P1.7為低電

45、平,然后檢測P1.0-P1.3是否有引腳被拉低,當(dāng)有引腳被拉低時(shí),根據(jù)置底的引腳和被拉低的引腳就可以判斷出是哪個(gè)按鍵被按下。使CPU對鍵的一次閉合僅做一次處理:采用的方法為等待閉合鍵釋放以后再作處理【8】。鍵盤號識別程序的框圖如圖5.2所示:開始scancode=0 xef;scancode!=0 xffKEY=scancode;keycode=KEY;(keycode&0 x0f)!=0 x0fscancode=(keycode1)|0 x0fkeycode=keycode結(jié)束是否是否【精品文檔】【精品文檔】圖圖5.2 鍵盤鍵盤號號識別識別程序流程程序流程圖圖5.3 紅外接收程序設(shè)計(jì)

46、紅外接收程序設(shè)計(jì)遙控器處在學(xué)習(xí)模式下,當(dāng)有紅外信號時(shí),就會觸發(fā)INT1外部中斷,使單片機(jī)從空閑模式下喚醒,進(jìn)入接收程序,當(dāng)接收成功后指示燈會閃爍,接收的紅外信號暫存在Ir_Buf4數(shù)組里。圖 5.3為紅外接收程序流程圖開始獲得引導(dǎo)碼引導(dǎo)碼是否正確i4j7獲得低電平時(shí)間是否符合標(biāo)準(zhǔn)獲得高電平時(shí)間是否符合標(biāo)準(zhǔn)存儲信息指示燈閃爍結(jié)束結(jié)束結(jié)束結(jié)束是i=0;否i+循環(huán)退出j=0j+循環(huán)退出否是否是【精品文檔】【精品文檔】圖圖 5.3 紅紅外接收程序流程外接收程序流程圖圖5.4 紅外發(fā)射程序設(shè)計(jì)紅外發(fā)射程序設(shè)計(jì)遙控器在控制模式下,當(dāng)有普通按鍵按下后,單片機(jī)從EEPROM中取出對應(yīng)鍵值的紅外信息存儲在Ir_

47、Buf4數(shù)組里,然后設(shè)置T0為模式2(自動重裝模式),利用T0中斷產(chǎn)生38KHz的載波信號。要輸出高電平時(shí)啟動T0中斷,要發(fā)送低電平就關(guān)閉T0中斷,并拉低發(fā)送端口P2.0。根據(jù)Ir_Buf4存儲的紅外信息循環(huán)發(fā)送4字節(jié)。圖5.4為紅外發(fā)射程序流程圖?!揪肺臋n】【精品文檔】開始發(fā)射初始化發(fā)射引導(dǎo)碼ij)&0 x01=1發(fā)射1.69ms低電平發(fā)射0.56ms低電平發(fā)送一段脈沖信號設(shè)置T0為模式1j7結(jié)束否否是是i+j+i=0;j=0;是否圖圖 5.4 發(fā)發(fā)射程序流程射程序流程圖圖【精品文檔】【精品文檔】6 程序源代碼程序源代碼源碼見附錄源碼見附錄A I2C總線程序總線程序位傳輸位傳輸I2

48、C總線每傳送一位數(shù)據(jù)必須有一個(gè)時(shí)鐘脈沖。被傳送的數(shù)據(jù)在時(shí)鐘SCL的高電平期間保持穩(wěn)定,只有在SCL低電平期間才能夠改變,在標(biāo)準(zhǔn)模式下,高低電平寬度必須不小于4.7us。那么是不是所有I2C總線中的信號都必須符合上述的有效性呢?只有兩個(gè)例外,就是開始和停止信號。開始信號:當(dāng)SCL為高電平時(shí),SDA發(fā)生從高到低的跳變,就定義為開始信號。停止信號:當(dāng)SCL為高電平時(shí),SDA發(fā)生從低到高的跳變,就定義為結(jié)束信號。 數(shù)據(jù)傳輸?shù)淖止?jié)格式數(shù)據(jù)傳輸?shù)淖止?jié)格式SDA傳送數(shù)據(jù)是以字節(jié)為單位進(jìn)行的。每個(gè)字節(jié)必須是8位,但是傳輸?shù)淖止?jié)數(shù)量不受限制,首先傳送的是數(shù)據(jù)的最高位。每次傳送一個(gè)字節(jié)完畢,必須接收到從機(jī)發(fā)出的一

49、個(gè)應(yīng)答位,才能開始下一個(gè)字節(jié)的傳輸。如果沒有接受到應(yīng)答位,主機(jī)則產(chǎn)生一個(gè)停止條件結(jié)束本次的傳送。那么從機(jī)應(yīng)該發(fā)出什么信號算是產(chǎn)生了應(yīng)答呢?這個(gè)過程是這樣的。當(dāng)主器件傳送一個(gè)字節(jié)后,在第9個(gè)SCL時(shí)鐘內(nèi)置高SDA線,而從器件的響應(yīng)信號將SDA拉低,從而給出一個(gè)應(yīng)答位。 I2C數(shù)據(jù)傳輸協(xié)議數(shù)據(jù)傳輸協(xié)議I2C總線的數(shù)據(jù)傳輸協(xié)議如下:(1)主器件發(fā)出開始信號?!揪肺臋n】【精品文檔】(2)主器件發(fā)出第一個(gè)字節(jié),用來選通相應(yīng)的從器件。其中前7位為地址碼,第8位為方向位(R/W)。方向位為“0”表示發(fā)送,方向位為“1”表示接受。(3)從機(jī)產(chǎn)生應(yīng)答信號,進(jìn)入下一個(gè)傳送周期,如果從器件沒有給出應(yīng)答信號,此時(shí)主

50、器件產(chǎn)生一個(gè)結(jié)束信號使得傳送結(jié)束,傳送數(shù)據(jù)無效。(4)接下來主、從器件正式進(jìn)行數(shù)據(jù)的傳送,這時(shí)在I2C總線上每次傳送的數(shù)據(jù)字節(jié)數(shù)不限,但每一個(gè)字節(jié)必須為8位(傳送的時(shí)候先送高位,再送低位)。當(dāng)一個(gè)字節(jié)傳送完畢時(shí),再發(fā)送一個(gè)應(yīng)答位(第9位),如上一條所述,這樣每次傳送一個(gè)字節(jié)都需要9個(gè)時(shí)鐘脈沖【5】。紅外接收源碼見附錄紅外接收源碼見附錄B紅外發(fā)射源碼見附錄紅外發(fā)射源碼見附錄C【精品文檔】【精品文檔】7 系統(tǒng)調(diào)試系統(tǒng)調(diào)試單片機(jī)系統(tǒng)經(jīng)過總體設(shè)計(jì),完成了硬件和軟件設(shè)計(jì)開發(fā)。通過軟件和硬件相結(jié)合系統(tǒng)即可運(yùn)行。但編制好的程序或焊接好的線路不能按預(yù)計(jì)的那樣正常工作是常見的事,經(jīng)常會出現(xiàn)一些硬件、軟件上的錯(cuò)誤

51、,這是軟件和硬件開發(fā)者經(jīng)常遇見的,這就需要通過調(diào)試來發(fā)現(xiàn)錯(cuò)誤并加以改正。調(diào)試可分為硬件調(diào)試和軟件調(diào)試。本設(shè)計(jì)系統(tǒng)的已經(jīng)在PC機(jī)上用模擬開發(fā)軟件進(jìn)行了檢測和調(diào)試,并運(yùn)行成功,最后進(jìn)行實(shí)物圖的硬件組裝與調(diào)試,這樣就給開發(fā)者提供了方便【6】。7.1 軟件調(diào)試軟件調(diào)試本設(shè)計(jì)是在Proteus軟件和Keil軟件相結(jié)合調(diào)試的,完全用仿真軟件在PC機(jī)上對目標(biāo)電路原理圖和程序進(jìn)行檢測和調(diào)試。本次軟件模擬用另一個(gè)單片機(jī)模擬一體化紅外接收頭,而紅外發(fā)射電路采用虛擬邏輯分析儀捕獲的方式查看。圖7.1為用Proteus軟件仿真電路圖?!揪肺臋n】【精品文檔】圖圖 7.1 軟軟件模件模擬電擬電路路圖圖經(jīng)過多次修改程序最

52、后調(diào)試出來了理想的效果,圖7.2為模擬紅外接收頭接收的紅外信號,圖7.3為遙控器學(xué)習(xí)后,按下某個(gè)按鍵發(fā)射的紅外信號。圖圖 7.2 紅紅外接收外接收頭頭接收的信號接收的信號【精品文檔】【精品文檔】圖圖 7.3 紅紅外外發(fā)發(fā)射的信號射的信號7.2 硬件調(diào)試硬件調(diào)試焊接電路板如圖7.4所示圖圖7.4 電電路板路板單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的,許多硬件故障在硬件調(diào)試時(shí)才能發(fā)現(xiàn),但通常要先排除系統(tǒng)中明顯的硬件故障。調(diào)試工作可以分為四步:線路檢查:根據(jù)硬件邏輯設(shè)計(jì)圖,仔細(xì)檢查樣機(jī)線路是否連接正確,并核對元器件的型號、規(guī)格和安裝是否符合要求,必要時(shí)可用萬用表檢測線路通斷情況。電源調(diào)試:樣機(jī)的

53、第一次通電測試很重要,若樣機(jī)中存在電源故障,則加電后將造成器件損壞。調(diào)試的方法有兩種:一種是斷開樣機(jī)穩(wěn)壓電源的輸出端,檢查空載時(shí)電源工【精品文檔】【精品文檔】作情況;另一種是拔下樣機(jī)上的主要集成芯片,檢查電源的負(fù)載能力(用假負(fù)載)。確保電源無故障并性能符合設(shè)計(jì)要求。通電檢查:在確保電源良好前提下,接通電源。最好在電源與其余電路之間串接一個(gè)電流表。若接通后電流很大,必須立即切斷電源。電源大得超出正常范圍,說明電路中有短路或故障。通電檢查的主要目的是看系統(tǒng)是否存在短路或由元器件損壞、裝配錯(cuò)誤引起的電流異常。檢查芯片的邏輯關(guān)系是否出錯(cuò):加電后檢查各芯片插座上相關(guān)引腳的電位,仔細(xì)測量相應(yīng)的輸入輸出電平

54、是否正常。單片機(jī)系統(tǒng)大都是數(shù)字邏輯電路,使用電平檢查法可首先查出邏輯設(shè)計(jì)是否正確,選用器件和連接關(guān)系是否符合要求等【7】。硬件測試環(huán)境如圖7.5所示圖圖7.5 測試環(huán)測試環(huán)境境普通遙控器發(fā)射的紅外信號經(jīng)接收發(fā)送到電腦和學(xué)習(xí)型紅外遙控器學(xué)習(xí)普通遙控器的紅外信號紅發(fā)射的紅外信號經(jīng)接收發(fā)到電腦的比較,如圖7.6所示【精品文檔】【精品文檔】圖圖 7.6 經(jīng)經(jīng)串口接收的串口接收的紅紅外信號外信號經(jīng)過軟硬件調(diào)試,本設(shè)計(jì)符合設(shè)計(jì)要求。總原理圖見附錄D,PCB板圖見附錄E?!揪肺臋n】【精品文檔】8 調(diào)試調(diào)試中遇到的問題和解決方法中遇到的問題和解決方法8.1 硬件部分硬件部分 單片機(jī)的選取單片機(jī)的選取為了到達(dá)

55、盡量的低功耗,希望單片機(jī)在平常不工作時(shí)處在空閑模式下,但是又能通過外部中斷喚醒,而且希望單片機(jī)的引腳能得到充分的利用,價(jià)格還要低廉,經(jīng)過查找資料,STC89C52RC可以滿足程序設(shè)計(jì)的需要. 功能切換鍵的設(shè)置功能切換鍵的設(shè)置本來想單獨(dú)用個(gè)按鍵通過獨(dú)立式按鍵實(shí)現(xiàn),但是這個(gè)按鍵需要隨時(shí)相應(yīng),如果通過掃描,那實(shí)現(xiàn)單片機(jī)低功耗就有問題。如果采用外部中斷實(shí)現(xiàn),那就要占用一個(gè)外部中斷口,而紅外接收和矩陣式按鍵分別都要占用一個(gè)紅外接收口。最后通過和同學(xué)討論,才恍然大悟功能切換可以用矩陣式按鍵其中的一個(gè)來實(shí)現(xiàn),這樣問題就得到了解決。8.1.3 AT24C02的焊接的焊接在焊接AT24C02引腳的時(shí)候,由于高溫

56、持續(xù)時(shí)間過長導(dǎo)致AT24C02零件損壞,為了避免這種情況再發(fā)生,買了8引腳座,這樣就解決了。紅外發(fā)射部分紅外發(fā)射部分由于我用單片機(jī)定時(shí)器0中斷來產(chǎn)生38K載波,那就要設(shè)置定時(shí)器每13個(gè)機(jī)器周期就要中斷一次,為了達(dá)到更高精度,中斷內(nèi)的代碼不能過多,通過不斷的改進(jìn)和測試,使定時(shí)器處在模式2(自動重裝模式),效果很好?!揪肺臋n】【精品文檔】中斷部分中斷部分整個(gè)程序用到了三個(gè)中斷,外部中斷0、1和定時(shí)器0中斷,由于在外部中斷0內(nèi)部使用了定時(shí)器0中斷,由于定時(shí)器0中斷的優(yōu)先級低于外部中斷0所以導(dǎo)致定時(shí)器0中斷不響應(yīng)。通過設(shè)置定時(shí)器的中斷優(yōu)先級高于外部中斷0,問題得到解決。定時(shí)器定時(shí)器0模式部分模式部分

57、由于在紅外接收部分我用定時(shí)器0的模式1,在紅外發(fā)射部分我用定時(shí)器0的模式2,由于在紅外發(fā)射部分用過定時(shí)器的模式2沒有設(shè)置恢復(fù)定時(shí)器0為模式1,導(dǎo)致遙控器一經(jīng)過發(fā)射部分后就不能實(shí)現(xiàn)紅外接收,通過在發(fā)射程序最后設(shè)施定時(shí)器0恢復(fù)為模式1,問題得到解決?!揪肺臋n】【精品文檔】結(jié)論結(jié)論本課題實(shí)現(xiàn)了基于NEC紅外協(xié)議的學(xué)習(xí)型紅外遙控器,本遙控器最大的亮點(diǎn)是具有學(xué)習(xí)功能,可以學(xué)習(xí)其他紅外遙控器的紅外編碼,這樣一個(gè)遙控器就可以實(shí)現(xiàn)多個(gè)遙控器的功能,免除了每個(gè)電器器件都要尋找特定遙控器的麻煩。本實(shí)驗(yàn)使用了STC89C52RC單片機(jī)用來實(shí)現(xiàn),但是實(shí)際應(yīng)用中可以用成本低功耗小更少引腳的2051系列單片代替,它們的

58、代碼是兼容的。本實(shí)驗(yàn)雖然只有16個(gè)按鍵,但是完全可以擴(kuò)展,當(dāng)使用2051單片機(jī)時(shí)可以采用改進(jìn)型I/O端口復(fù)用鍵盤實(shí)現(xiàn),由于使用了24C02B理論上可以存儲64個(gè)按鍵信息。本遙控器為了實(shí)現(xiàn)最優(yōu)的節(jié)能,在程序設(shè)計(jì)的過程中用利用單片機(jī)的兩個(gè)外部中斷,在平時(shí)不工作的時(shí)候,單片機(jī)處在空閑模式,只有在有按鍵信息或?qū)W習(xí)模式下接受紅外信號才觸發(fā)外部中斷退出空閑模式,當(dāng)處理信號后,單片機(jī)就會重新進(jìn)入空閑模式,從而實(shí)現(xiàn)更優(yōu)的節(jié)能。紅外信號是用38KHZ載波發(fā)送的,本系統(tǒng)是利用單片機(jī)的定時(shí)器0來產(chǎn)生38K載波信號,這樣產(chǎn)生的載波信號穩(wěn)定,同時(shí)也簡化了電路降低了功耗。同時(shí)本系統(tǒng)也存在著不足,因?yàn)榫幋a是針NEC紅外協(xié)議

59、,所以并不能真正的達(dá)到萬能。有種方案可以參考就是存儲紅外信號的高低電平的長度,這樣就能真正的達(dá)到萬能遙控器,但是這樣會占用更多的存儲空間,所以本系統(tǒng)沒有采取,但是今后可以通過軟件升級,添加其它紅外協(xié)議,這樣就可以盡量的實(shí)現(xiàn)多功能。為了方便產(chǎn)品軟件更新,今后可以增加與電腦的接口實(shí)現(xiàn)在線更新單片機(jī)內(nèi)的程序。出于低功耗的考慮,本系統(tǒng)沒有添加LCD顯示??紤]用戶使用的方便,可以增加LCD顯示,但是功耗會大大增加,可以考慮把電池改成可充電的,電路增加充電電路模塊,但是這樣就會大大增加了產(chǎn)品的成本,關(guān)于這點(diǎn)需要考慮各方面的綜合因素作出判斷?;诒緦?shí)驗(yàn)的缺點(diǎn),今后要改進(jìn)以實(shí)現(xiàn)真正的萬能遙控器可以采取兩個(gè)方案,一種是不考慮紅外協(xié)議,只存儲接收的紅外信號的高低電平的長度,但是會占用大量的存儲【精品文檔】【精品文檔】空間。另一種考慮各種紅外協(xié)議,進(jìn)行判斷識別,做到針對協(xié)議的存儲紅外信號,但是這樣會增加代碼的復(fù)雜程度?!揪肺臋n】【精品文檔】參考文獻(xiàn)參考文獻(xiàn)1 周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)M.北京:北京航空航天大學(xué)出版社,2002:56-62. 2 李 華等.MCS-51系列單片機(jī)實(shí)用接口技術(shù)M.北京:北京航空航天大學(xué)出版社,1993:51-68.3 馬忠梅,籍順心,張 凱,馬 巖. 單片機(jī)的C 語言應(yīng)用程序設(shè)計(jì). 修訂版M.北京:北京航空航天大學(xué)出版社,19

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論