目錄
第一章 緒論
1.1 前言
1.2 需求分析
1.3 方案選擇
第二章 紅外遙控原理
第三章 硬件系統(tǒng)設(shè)計(jì)
3.1 所需器件選擇
3.1.1 STC89C51單片機(jī)
3.1.2 紅外一體化接收器件
3.2 硬件電路設(shè)計(jì)
3.2.1 時(shí)鐘電路
3.2.2 復(fù)位電路
3.2.3 LED燈電路
第四章 軟件設(shè)計(jì)
4.1 紅外編碼原理
4.2 接收模塊程序流程圖
4.2.1 紅外遙控接收初始化程序和主程序
4.2.2 紅外遙控器按鍵掃描子流程圖
第五章 調(diào)試與總結(jié)
5.1 仿真調(diào)試
5.2 實(shí)物調(diào)試
5.3 總結(jié)
參考文獻(xiàn)
附錄A 電路圖與實(shí)物圖
附錄B 軟件程序
第一章 緒論1.1 前言隨著經(jīng)濟(jì)的進(jìn)一步發(fā)展,生活水平的提高,人們對(duì)生活品質(zhì)的要求也越來(lái)越高,傳統(tǒng)的照明系統(tǒng)已經(jīng)遠(yuǎn)遠(yuǎn)滿足不了現(xiàn)代人的需要,對(duì)于照明的控制,人們希望使用更加方便甚至是隨心所欲,于是智能照明系統(tǒng)應(yīng)運(yùn)而生。通訊技術(shù)、網(wǎng)絡(luò)技術(shù)、傳媒業(yè)的飛速發(fā)展和高度結(jié)合,數(shù)字化家居將得到進(jìn)一步的快速提升,技術(shù)也將進(jìn)一步的成熟,各類通訊標(biāo)準(zhǔn)和市場(chǎng)也將得到進(jìn)一步的規(guī)范,在不久的將來(lái),智能照明將真正飛入尋常百姓家。
照明系統(tǒng)是我們生活中最常用的基礎(chǔ)系統(tǒng)。隨著智能家居產(chǎn)業(yè)的興起,充滿人性化的家居智能照明系統(tǒng)將帶給你浪漫,溫馨的家居環(huán)境。智能照明可以控制照明光源的發(fā)光時(shí)間、亮度,它不僅具有軟啟,調(diào)光,全開(kāi)全關(guān)等基本的功能,而且與其它智能系統(tǒng)連動(dòng)還能實(shí)現(xiàn)具有場(chǎng)景設(shè)置等更具人性化的功能。實(shí)現(xiàn)照明管理智能化,操作簡(jiǎn)單更靈活。全面提升家庭環(huán)境的品位和生活的舒適度。所以智能照明系統(tǒng)代替?zhèn)鹘y(tǒng)的照明系統(tǒng),是家居智能化過(guò)程中必然要走的一步。 智能照明行業(yè)自從上世紀(jì)90年代進(jìn)入中國(guó)市場(chǎng)以來(lái),受市場(chǎng)的消費(fèi)意識(shí)、市場(chǎng)環(huán)境、產(chǎn)品價(jià)格、推廣力度等各方面的影響,一直沒(méi)有太大的起色。 1.2 需求分析 (1)國(guó)內(nèi)的智能照明產(chǎn)品推廣力度遠(yuǎn)遠(yuǎn)不夠。由于這是一個(gè)新興行業(yè),不同于普通消費(fèi)品市場(chǎng)的建設(shè),消費(fèi)觀念的形成還需要時(shí)間,產(chǎn)品的宣傳力度還需加大。但是隨著經(jīng)濟(jì)的發(fā)展、相關(guān)行業(yè)對(duì)外開(kāi)放的力度的加大,部分國(guó)際品牌如Dynalite、路創(chuàng)、WIELAND、e-bfb 等進(jìn)軍中國(guó)市場(chǎng),與國(guó)內(nèi)智能照明廠家和商家如百分百照明、瑞朗、索博、海爾、清華同方等企業(yè)相互取長(zhǎng)補(bǔ)短,在良性的市場(chǎng)競(jìng)爭(zhēng)中,推動(dòng)智能照明行業(yè)的發(fā)展與增長(zhǎng)。
由于市場(chǎng)沒(méi)有成型,還沒(méi)有形成大的消費(fèi)市場(chǎng),大部分智能照明廠家在市場(chǎng)渠道的建設(shè)上也一直在探索著適合這個(gè)行業(yè)的模式。由于各方面的原因,傳統(tǒng)的照明、電工經(jīng)銷商很難推動(dòng)、裝飾公司不夠?qū)I(yè)等因素使智能照明市場(chǎng)還沒(méi)有形成穩(wěn)定的銷售渠道。
(2)消費(fèi)者在認(rèn)識(shí)上存在誤區(qū)。
普通家庭在照明問(wèn)題上由于傳統(tǒng)觀念影響,普遍感覺(jué)照明系統(tǒng)是否智能,并不是必須要具備的。由于文化素質(zhì)高低的差異,許多人雖然對(duì)智能照明有些了解,但對(duì)于這種高科技的產(chǎn)品也擔(dān)心不會(huì)使用,有的甚至擔(dān)心維修保養(yǎng)問(wèn)題,從而造成更大的麻煩。
(3)經(jīng)濟(jì)基礎(chǔ)決定家居檔次。
我國(guó)現(xiàn)階段,雖然國(guó)民經(jīng)濟(jì)呈現(xiàn)高速發(fā)展之勢(shì),但起步較低,絕大多數(shù)家庭還剛剛處在溫飽階段,就業(yè)形勢(shì)、子女教育、醫(yī)療負(fù)擔(dān)等壓力,使人們還不敢過(guò)分追求家居的舒適,通常的對(duì)策是增加儲(chǔ)蓄,以備不時(shí)之需。而且,普通家庭住房一般就是二居室或三居室,是否采用智能化照明,現(xiàn)實(shí)意義并不大。因此,對(duì)于智能照明、智能家居等先進(jìn)的時(shí)尚商品,采取現(xiàn)階段觀望,未來(lái)幾年隨著家居條件的改善再?zèng)Q定是否安裝?傊,國(guó)內(nèi)絕大多數(shù)家庭的經(jīng)濟(jì)狀況,也是影響智能照明系統(tǒng)普及的重要原因,盡管智能照明系統(tǒng)的價(jià)格并不昂貴。 1.3 方案選擇 根據(jù)畢業(yè)設(shè)計(jì)的要求,利用單片機(jī)設(shè)計(jì)一個(gè)遙控開(kāi)關(guān)電路,可以擬定以下的幾種方案。 方案一:簡(jiǎn)易紅外遙控電路 在不需要多路控制的應(yīng)用場(chǎng)合,可以使用由常規(guī)集成電路組成的單通道紅外遙控電路。這種遙控電路不需要使用較貴的專用編譯碼器,因此成本較低。 紅外發(fā)射部分
圖1-1方案一紅外發(fā)射部分示意圖 考慮到本方案電路是簡(jiǎn)單的單通道遙控器,可直接產(chǎn)生一個(gè)控制功能的震蕩頻率,再通過(guò)紅外發(fā)光二極管發(fā)射出去。 紅外接收部分
圖1-2方案一紅外接收部分示意圖 當(dāng)紅外接收頭接收到控制頻率時(shí),由一個(gè)電路對(duì)其進(jìn)行解調(diào)并產(chǎn)生相應(yīng)的控制功能。 方案二:利用紅外遙控開(kāi)關(guān)電路 用單片機(jī)制作一個(gè)紅外電器遙控器,可以分別控制8個(gè)電器的電源開(kāi)關(guān)。 紅外發(fā)射部分 圖1-3方案三紅外發(fā)射部分示意圖 當(dāng)按下遙控按鈕時(shí),單片機(jī)產(chǎn)生相應(yīng)的控制脈沖,由紅外發(fā)光二極管發(fā)射出去。 紅外接收部分: 
圖1-4方案三紅外接收部分示意圖 當(dāng)紅外接收器接收到控制脈沖后,經(jīng)單片機(jī)處理由顯示設(shè)備顯示出當(dāng)前受控電器的序號(hào)。 方案三:綜合使用 使用常規(guī)集成電路制作紅外遙控器,基于單片機(jī)制作紅外接收裝置。紅外遙控器鍵盤按下后,通過(guò)TC9012進(jìn)行譯碼和調(diào)制,由紅外發(fā)光二極管發(fā)射出去。 當(dāng)紅外接收器接收到控制脈沖后,經(jīng)單片機(jī)處理由顯示設(shè)備顯示出當(dāng)前受控電器的序號(hào)。 方案比較 綜上所述通過(guò)比較三套方案,方案一未采用單片機(jī)控制,功能過(guò)于單一,僅能對(duì)一路電器進(jìn)行簡(jiǎn)單的遙控;方案二的紅外線發(fā)射/接收控制電路采用單片機(jī)來(lái)實(shí)現(xiàn),電路復(fù)雜,實(shí)用性不強(qiáng);方案三的紅外發(fā)射采用簡(jiǎn)易電路搭建,接收控制基于單片機(jī)制作亦可實(shí)現(xiàn)多功能實(shí)現(xiàn)遙控。
第二章 紅外遙控原理紅外遙控就是把紅外線作為載體的遙控方式。由于紅外線的波長(zhǎng)遠(yuǎn)小于無(wú)線電波的波長(zhǎng),因此在采用紅外遙控方式時(shí),不會(huì)干擾其他電器的正常工作,也不會(huì)影響臨近的無(wú)線電設(shè)備。同時(shí),由于采用紅外線遙控器件時(shí),工作電壓低,功耗小,外圍電路簡(jiǎn)單,因此它在日常工作生活中的應(yīng)用越來(lái)越廣泛。常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個(gè)部分。 常用的紅外遙控系統(tǒng)一般分發(fā)射和接收兩個(gè)部分。遙控發(fā)射具有鍵盤矩陣,每按下一個(gè)鍵,即產(chǎn)生具有不同的編碼數(shù)字脈沖,這種代碼指令信號(hào)調(diào)制在38kHz的截波上,激勵(lì)紅外光二級(jí)管產(chǎn)生具有脈沖串的紅外波,通過(guò)空間的傳送到受控機(jī)內(nèi)的遙控接收器。在接收過(guò)程中,紅外波信號(hào)通過(guò)光電二級(jí)管轉(zhuǎn)換為38kHz的電信號(hào),此信號(hào)經(jīng)過(guò)放大、檢波、整形、解調(diào)、送到解碼與接口電路,從而完成相應(yīng)的遙控功能。

圖2-1 紅外遙控原理圖 發(fā)射部分的主要元件為紅外發(fā)光二極管。它實(shí)際上是一只特殊的發(fā)光二極管;由于其內(nèi)部材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時(shí),它便發(fā)出的是紅外線而不是可見(jiàn)光。目前大量的使用的紅外發(fā)光二極管發(fā)出的紅外線波長(zhǎng)為940nm左右,外形與普通φ5發(fā)光二極管相同,只是顏色不同(如圖2.1)。紅外發(fā)光二極管一般有黑色、深藍(lán)、透明三種顏色。判斷紅外發(fā)光二極管好壞的辦法與判斷普通二極管一樣;用萬(wàn)用表電阻擋量一下紅外發(fā)光二極管的正、反向電阻即可。紅外發(fā)光二極管的發(fā)光效率要用專門的儀器才能精確測(cè)定,而業(yè)余條件下只能用拉鋸法來(lái)粗略判判定。 
圖2-2 紅外發(fā)光二極管 接收部分的紅外接收管是一種光敏二極管(如圖2.2)。在實(shí)際應(yīng)用中要給紅外接收二極管加反向偏壓,它才能正常工作,亦即紅外接收二極管在電路中應(yīng)用時(shí)是反向運(yùn)用,這樣才能獲得較高的靈敏度。紅外發(fā)光二極管一般有圓形和方形兩種[2]。 
圖2-3 紅外接收二極管 由于紅外發(fā)光二極管的發(fā)射功率一般都較。100mW左右),所以紅外接收二極管接收到的信號(hào)比較微弱,因此就要增加高增益放大電路。前些年常用Μpc1373H、CX20106A等紅外接收專用放大集成電路。最近幾年不論是業(yè)余制作還是正式產(chǎn)品,大多都采用成品紅外接收頭。成品紅外接收頭的封裝大致有兩種:一種采用鐵皮屏蔽;一種是塑料封裝。均有三只引腳,即電源正(VDD)、電源負(fù)(GND)和數(shù)據(jù)輸出(VO或OUT)。紅外接收頭的引腳排列因型號(hào)不同而不盡相同,可參考廠家的使用說(shuō)明。成品紅外接收頭的優(yōu)點(diǎn)是不需要復(fù)雜的調(diào)試和外殼屏蔽,使用起來(lái)如同一只三極管,非常方便。但在使用時(shí)注意成品紅外接收頭的載波頻率。紅外遙控常用的載波頻率為38kHz這是由發(fā)射端所使用的455kHz晶振來(lái)決定的。在發(fā)射端要對(duì)晶振進(jìn)行整數(shù)分頻,分頻系數(shù)一般取12,所以455kHz÷12≈37.9kHz≈38kHz。也有一些遙控系統(tǒng)采用36 kHz、40 kHz、56 kHz等,一般由發(fā)射端晶振的振蕩頻率來(lái)決定。 紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體 ,即通信信道。紅外通信的基本原理是發(fā)送端將基帶二進(jìn)制信號(hào)調(diào)制為一系列的脈沖串信號(hào),通過(guò)紅外發(fā)射管發(fā)射紅外信號(hào)。常用的有通過(guò)脈沖寬度來(lái)實(shí)現(xiàn)信號(hào)調(diào)制的脈寬調(diào)制PWM(Pulse-width modulation)和通過(guò)脈沖串之間的時(shí)間間隔來(lái)實(shí)現(xiàn)信號(hào)調(diào)制的脈時(shí)調(diào)制PTM(Pulse-time modulation)兩種方法 。 簡(jiǎn)而言之,紅外通信的實(shí)質(zhì)就是對(duì)二進(jìn)制數(shù)字信號(hào)進(jìn)行調(diào)制與解調(diào),以便利用紅外信道進(jìn)行傳輸;紅外通信接口就是針對(duì)紅外信道的調(diào)制解調(diào)器。 通常發(fā)送端采用脈時(shí)調(diào)制(PTM)方式,將二進(jìn)制數(shù)字信號(hào)調(diào)制成某一頻率的脈沖序列,并驅(qū)動(dòng)紅外發(fā)射管以光脈沖的形式發(fā)送出去;接收端將接收到的光脈轉(zhuǎn)換成電信號(hào),再經(jīng)過(guò)放大、濾波等處理后送給解調(diào)電路進(jìn)行解調(diào),還原為二進(jìn)制數(shù)字信號(hào)后輸出 。 對(duì)于發(fā)送端來(lái)說(shuō),當(dāng)無(wú)紅外脈沖發(fā)射時(shí),發(fā)送的是二進(jìn)制數(shù)據(jù)1;而有紅外脈沖發(fā)射時(shí)發(fā)送的是二進(jìn)制數(shù)0。而對(duì)于接收端來(lái)說(shuō),沒(méi)有接收到紅外光,則認(rèn)為是1;接收到則認(rèn)為是0。
第三章 硬件系統(tǒng)設(shè)計(jì)
3.1 所需器件選擇3.1.1 STC89C51單片機(jī) 單片機(jī)又叫微型處理器,是把CPU,ROM,RAM,中斷部分,輸入/輸出部分,定時(shí)器/計(jì)數(shù)器等主要功能器件的數(shù)字電子計(jì)算機(jī)組裝在半導(dǎo)體芯片上。 單片機(jī)具有低電壓、低功耗、速度快、處理功能強(qiáng)、易于應(yīng)用在簡(jiǎn)單、容易攜帶的電子產(chǎn)品上等特點(diǎn)。 STC89C51芯片有以下功能特性: (1)8位CPU-4Kbytes程序存儲(chǔ)器(ROM) (2)128bytes數(shù)據(jù)存儲(chǔ)器(RAM) (3)32個(gè)I/O端口,111條操作指令 (4)21個(gè)寄存器 (5)5個(gè)中斷源和2個(gè)定時(shí)/計(jì)數(shù)器 (6)一個(gè)全雙工串口通信端口89C51的芯片引腳 該紅外發(fā)射接收電路均使用的核心控件是STC89C51單片機(jī)。STC89C51是一個(gè)電壓低、性能高的CMOS 8位單片機(jī),可擦除存儲(chǔ)器芯片包含2K字節(jié)和128字節(jié)(RAM),一個(gè)通用8位CPU和閃存單元的微控制器芯片。 STC89C51芯片的引腳功能 STC89C51單片機(jī)選用40個(gè)引腳排列的封裝形式,如圖3-1所示。具體引腳可分為電源部分,時(shí)鐘部分,控制部分和并行I/O端口部分四類。芯片功能圖如下所示:

圖3-1 芯片引腳圖 (1)電源部分引腳 ① VCC(引腳40):電源端。 ② GND(引腳20):接地端。 (2)時(shí)鐘部分引腳 ① XTAL2(引腳18):外接一個(gè)石英晶振和兩個(gè)普通電容時(shí)構(gòu)成內(nèi)部振蕩電路,使用外部時(shí)鐘時(shí),用來(lái)輸出時(shí)鐘脈沖。 ② XTAL1(引腳19):XTAL1(引腳19):內(nèi)部振蕩電路外接一個(gè)石英晶體和兩個(gè)電容,使用外部時(shí)鐘時(shí),用來(lái)輸入時(shí)鐘脈沖。 (3)控制部分引腳 ① RST(引腳9):RST是復(fù)位部分的輸入端口,在高電平情況下生效。 ② ALE/PROG(引腳30):地址鎖存容許信號(hào)端口。 ③ PSEN(引腳29):程序保存容許輸出信號(hào)端口。 ④ EA/VPP(引腳31):外部存儲(chǔ)器地址容許輸入端。 當(dāng)引腳連接到高電平時(shí),該處理器只訪問(wèn)內(nèi)部只讀存儲(chǔ)器,并在內(nèi)部存儲(chǔ)器中運(yùn)行。當(dāng)引腳連接到一個(gè)低電平,中央處理器只訪問(wèn)外部只讀存儲(chǔ)器,并執(zhí)行在外部存儲(chǔ)器中的指令。 (4)并行I/O端口部分引腳 ① P0口(P0.0~P0.7,引腳39~32):是一個(gè)8位雙向I/O端口。有三個(gè)功能,一是作為外部擴(kuò)展存儲(chǔ)器的數(shù)據(jù)總線,二是作為外部擴(kuò)展存儲(chǔ)器的地址總線。三是作為普通的I/O使用。 ②P1口(P1.0~P1.7,引腳1~8):是一個(gè)8位準(zhǔn)雙向I/O口并且它的內(nèi)部接有上拉電阻。除了把P1口當(dāng)作一般的準(zhǔn)雙向I/O端口外,一部分的引腳還具有特定的功能,如表3-1所示。 表3-1 P1端口的第二功能 ③P2口(P2.0~P2.7,引腳21~28):有兩種功能。一是作為外部擴(kuò)展存儲(chǔ)器的地址總線,二是作為一般端口,不需要接上拉電阻。 ④P3口(P3.0~P3.7,引腳10~17):P3口(P3.0~P3.7,引腳10~17):有兩種功能。一是作為一般端口使用,二是作為特殊功能使用,如表3-2所示。 表3-2 P3口功能 3.1.2 紅外一體化接收器件 紅外接收電路一體化的紅外接收裝置,它將遙控信號(hào)的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機(jī)識(shí)別的TTL 信號(hào),這樣大大簡(jiǎn)化了接收電路的復(fù)雜程度和電路的設(shè)計(jì)工作,方便使用。在本系統(tǒng)中我們采用紅外一體化接收頭HS0038,外觀圖如圖3 所示。HS0038 黑色環(huán)氧樹(shù)脂封裝,不受日光、熒光燈等光源干擾,內(nèi)附磁屏蔽,功耗低,靈敏度高。在用小功率發(fā)射管發(fā)射信號(hào)情況下,其接收距離可達(dá)35m。它能與TTL、COMS 電路兼容。HS0038 為直立側(cè)面收光型。它接收紅外信號(hào)頻率為38 kHz,周期約26 μs,同時(shí)能對(duì)信號(hào)進(jìn)行放大、檢波、整形,得到TTL 電平的編碼信號(hào)。三個(gè)管腳分別是地、+5 V 電源、解調(diào)信號(hào)輸出端。 
圖3-2 HS0038引腳圖 3.2 硬件電路設(shè)計(jì)3.2.1 時(shí)鐘電路 在設(shè)計(jì)中,圖3-3在XTAL1和XTAL2(第19和18引腳)兩端接一個(gè)12MHz的晶振和2個(gè)電容組成單片機(jī)的振蕩電路。其電容的主要是對(duì)頻率進(jìn)行微調(diào),選用范圍大多是在20-45pF,本設(shè)計(jì)選用30 pF。使用該電路產(chǎn)生穩(wěn)定的頻率,為單片機(jī)能夠正常工作提供了穩(wěn)定的振蕩信號(hào)。 
圖3.3 晶振電路 3.2.2 復(fù)位電路 復(fù)位電路的作用是讓系統(tǒng)上電后進(jìn)入復(fù)位狀態(tài),讓單片機(jī)內(nèi)部的程序指針指向程序運(yùn)行部分。加入復(fù)位電路可以避免單片機(jī)在工作中出現(xiàn)某種死循環(huán)狀態(tài)。單片機(jī)上電時(shí)需要在其復(fù)位腳也就是第九腳RST接入一個(gè)大于2us的信號(hào)電平,單片機(jī)才能正常的進(jìn)入程序區(qū)進(jìn)行工作。 本設(shè)計(jì)中的圖3-4由復(fù)位鍵和一個(gè)10uF的電容和一個(gè)10K的電阻組成。當(dāng)電路在瞬間上電時(shí),電容C1導(dǎo)通,5v電壓加載到單片機(jī)的RST(第9腳),在振蕩器作用時(shí)保持復(fù)位引腳高電平有效,單片機(jī)實(shí)現(xiàn)復(fù)位。復(fù)位模式一般有2種類型:自動(dòng)復(fù)位模式,手動(dòng)復(fù)位模式。本設(shè)計(jì)是使用手動(dòng)復(fù)位模式。

圖3-4 復(fù)位電路 3.2.3 LED燈電路 如圖3-5 LED顯示電路:因?yàn)殡娫措妷菏?V,LED二極管的電壓是3V,LED二極管的電壓比電源電壓低,所以每個(gè)LED二極管的負(fù)極需串聯(lián)一個(gè)2.2K的分壓電阻,正極連接電源VCC。電阻的另一端連接對(duì)應(yīng)的網(wǎng)絡(luò)編號(hào)。 遙控按鍵模塊電路:按鍵1~7控制LED1~7的開(kāi)關(guān),按鍵8控制所有燈的開(kāi),按鍵9控制所有燈的關(guān)。 
圖3-5 LED燈電路
第4章 軟件設(shè)計(jì)
4.1 紅外編碼原理紅外遙控發(fā)射編碼分為PWM和PPM兩種方式。本設(shè)計(jì)采用PPM編碼方式,當(dāng)按鍵被按下后,將發(fā)射108ms的遙控編碼脈沖。遙控編碼脈沖主要由前導(dǎo)碼、8位用戶數(shù)據(jù)碼和8位操作數(shù)據(jù)碼以及相對(duì)應(yīng)的8位反碼組成。遙控碼的起始部分是前導(dǎo)碼,一個(gè)9ms的高電平(起始碼)和一個(gè)4.5ms的低電平(結(jié)果碼)組成前導(dǎo)碼,用于接收數(shù)據(jù)的準(zhǔn)備脈沖(在做解碼時(shí),前導(dǎo)碼通?梢詾V掉不管)。二進(jìn)制的"0”由脈沖寬度為0.56ms和周期為1.12ms的組合表示;二進(jìn)制的"1”由脈寬為1.68ms和周期為2.24ms的組合表示;如果按下按鍵的時(shí)間已超過(guò)了108ms,手還未松開(kāi),然后的代碼將只有起始碼(9ms)和結(jié)束碼(2.5ms)。 如圖4-1所示:該紅外接收頭的“1”和“0”時(shí)的低電平同時(shí)輸出,此時(shí),如果高水平是1.685ms,它是“1”。 
圖4-1 紅外編碼圖 因?yàn)榍皩?dǎo)碼在做解碼時(shí),可以濾掉不管,所以得到8位用戶碼和8位操作碼以及相對(duì)應(yīng)的8位反碼。 遙控器的鍵碼和紅外解碼程序分別如圖4-2: 
圖4-2 遙控器鍵碼 4.2 接收模塊程序流程圖
4.2.1 紅外遙控接收初始化程序和主程序
圖4-3 接收初始化流程圖 圖4-4 接收主程序流程圖 4.2.2 紅外遙控器按鍵掃描子流程圖按鍵掃描程序:先確定按鍵是否按下,若確定按下則進(jìn)行掃描,按P端口查找鍵數(shù),然后按相應(yīng)的數(shù)字鍵發(fā)射程序。如圖4-5所示
第五章 調(diào)試與總結(jié)5.1 仿真調(diào)試(1)把遙控接收部分的程序用KEIL編譯軟件編譯后,出現(xiàn)無(wú)錯(cuò)誤、無(wú)警告。 (2)生成.HEX文件導(dǎo)入單片機(jī),運(yùn)行proteus仿真軟件,觀察仿真效果。 (3)在軟件仿真過(guò)程中,發(fā)現(xiàn)連接單片機(jī)P2.0口的一個(gè)LED發(fā)光二極管亮滅效果不符合設(shè)計(jì)要求。 (4)修改花樣顯示部分的程序代碼,再次編譯出現(xiàn)無(wú)錯(cuò)誤無(wú)警告。 (5)把.HEX再次導(dǎo)入單片機(jī),運(yùn)行proteus仿真軟件,觀察仿真效果。 (6)仿真效果正常。 5.2 實(shí)物調(diào)試(1)焊接好實(shí)物板后,在不加電源情況下,檢查電路板各個(gè)元件的連接和原理圖的連線一致。 (2)觀察電路板上各個(gè)元器件無(wú)漏焊、確定連線沒(méi)有存在錯(cuò)接、短接、少接等現(xiàn)象。 (3)用萬(wàn)用表檢測(cè)電源電壓滿足供電需要。 (4)用萬(wàn)用表分別檢測(cè)帶有極性的元器件在電路板上放置的方向、電阻阻值、電容的大小以及元器件與電源正負(fù)極之間的連線,沒(méi)有異,F(xiàn)象。 (5)給電路板通電,按下總開(kāi)關(guān),用無(wú)線發(fā)射遙控器控制接收模塊,觀察LED發(fā)光二極管的顯示效果,發(fā)現(xiàn)有個(gè)別LED燈高低電平設(shè)置錯(cuò)誤,通過(guò)修改軟件程序的顯示部分,借助開(kāi)發(fā)板把修改后的程序燒錄單片機(jī)。 (6)觀察LED燈顯示效果,實(shí)現(xiàn)了本設(shè)計(jì)的基本要求。 5.3 總結(jié) 經(jīng)過(guò)自己動(dòng)手調(diào)試電路。我們從問(wèn)題之中總結(jié)出來(lái)一些常用電路調(diào)試的注意事項(xiàng)。 (1)正確使用測(cè)量?jī)x器的接地端,儀器的接地端與電路的接地端要可靠連接; (2)在信號(hào)較弱的輸入端,盡可能使用屏蔽線連線,屏蔽線的外屏蔽層要接到公共地線上,在頻率較高時(shí)要設(shè)法隔離連接線分布電容的影響,例如用示波器測(cè)量時(shí)應(yīng)該使用示波器探頭連接,以減少分布電容的影響。 (3)測(cè)量電壓所用儀器的輸入阻抗必須遠(yuǎn)大于被測(cè)處的等效阻抗。 (4)測(cè)量?jī)x器的帶寬必須大于被測(cè)量電路的帶寬。 (5)正確選擇測(cè)量點(diǎn)和測(cè)量。 (6)認(rèn)真觀察記錄實(shí)驗(yàn)過(guò)程,包括條件、現(xiàn)象、數(shù)據(jù)、波形、相位等。 (7)出現(xiàn)故障時(shí)要認(rèn)真查找原因。
附錄A 電路圖與實(shí)物圖
附錄A-1 仿真圖 
附錄A-2 實(shí)物圖
附錄B 軟件程序
- #include<reg51.h> //包含頭文件,一般情況不需要改動(dòng),頭文件包含特殊功能寄存器的定義
- sbit IR=P3^2; //紅外接口標(biāo)志
- #define DataPort P0 //定義數(shù)據(jù)端口 程序中遇到DataPort(數(shù)據(jù)端口) 則用P0 替換
- sbit LATCH1=P2^6; //定義鎖存使能端口 段鎖存
- sbit LATCH2=P2^7; // 位鎖存
- sbit light1=P1^0;
- sbit light2=P1^1;
- sbit light3=P1^2;
- sbit light4=P1^3;
- sbit light5=P1^4;
- sbit light6=P1^5;
- sbit light7=P1^6;
- sbit light8=P1^7;
- Unsigned char code dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
- 0x07,0x7f,0x6f};// 顯示段碼值0~9
- unsigned char irtime; //紅外用全局變量
- bit irpro_ok,irok;
- unsigned char IRcord[4];
- unsigned char irdata[33];
- void Ir_work(void);
- void Ircordpro(void);
- void tim0_isr (void) interrupt 1 using 1
- {
- irtime++; //用于計(jì)數(shù)2個(gè)下降沿之間的時(shí)間
- }
- void EX0_ISR (void) interrupt 0 //外部中斷0服務(wù)函數(shù)
- {
- static unsigned char i; //接收紅外信號(hào)處理
- static bit startflag; //是否開(kāi)始處理標(biāo)志位
-
- if(startflag)
- {
- if(irtime<63&&irtime>=33)//引導(dǎo)碼 TC9012的頭碼,9ms+4.5ms
- i=0;
- irdata[i]=irtime;//存儲(chǔ)每個(gè)電平的持續(xù)時(shí)間,用于以后判斷是0還是1
- irtime=0;
- i++;
- if(i==33)
- {
- irok=1;
- i=0;
- }
- }
- else
- {
- irtime=0;
- startflag=1;
- }
- }
- void TIM0init(void)//定時(shí)器0初始化
- {
- TMOD=0x02;//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值
- TH0=0x00; //重載值
- TL0=0x00; //初始化值
- ET0=1; //開(kāi)中斷
- TR0=1;
- }
- void EX0init(void)
- {
- IT0 = 1; //指定外部中斷0下降沿觸發(fā),INT0 (P3.2)
- EX0 = 1; //使能外部中斷
- EA = 1; //開(kāi)總中斷
- }
- void Ir_work(void)//紅外鍵值散轉(zhuǎn)程序
- {
- switch(IRcord[2])//判斷第三個(gè)數(shù)碼值
- {
- case 0x0c:light1=~light1;break;//1 控制按鍵值相應(yīng)的燈亮滅
- case 0x18:light2=~light2;break;//第2個(gè)燈
- case 0x5e:light3=~light3;break;//第3個(gè)燈
- case 0x08:light4=~light4;;break;//第4個(gè)燈
- case 0x1c:light5=~light5;break;//第5個(gè)燈
- case 0x5a:light6=~light6;break;//第6個(gè)燈
- case 0x42:light7=~light7;break;//第7個(gè)燈
- case 0x52:P1=0x00;break;//全亮
- case 0x4a:P1=0xFF;break;//全滅
- default:break;
- }
- irpro_ok=0; //處理完成標(biāo)志
- }
- void Ircordpro(void) //紅外碼值處理函數(shù)
- {
- unsigned char i, j, k,cord,value;
- k=1;
- for(i=0;i<4;i++) //處理4個(gè)字節(jié)
- {
- for(j=1;j<=8;j++) //處理1個(gè)字節(jié)8位
- {
- cord=irdata[k];
- if(cord>7) //大于某值為1,這個(gè)和晶振有絕對(duì)關(guān)系,這里使用12M計(jì)算,此值可以有一定誤差
- value=value|0x80;
- if(j<8)
- {
- value>>=1;
- }
- k++;
- }
- IRcord[i]=value;
- value=0;
- }
- irpro_ok=1; //處理完畢標(biāo)志位置1
- }
-
- void main(void)
- {
- EX0init(); //初始化外部中斷
- TIM0init(); //初始化定時(shí)器
- LATCH1=0; //位鎖存
- DataPort=0xfe; //取位碼 第一位數(shù)碼管選通,即二進(jìn)制1111 1110
- LATCH2=1; //位鎖存
- LATCH2=0;
- DataPort=0x3f; //取位碼 第一位數(shù)碼管選通,即二進(jìn)制1111 1110
- LATCH1=1; //位鎖存
-
- while(1)//主循環(huán)
- {
- if(irok) //如果接收好了進(jìn)行紅外處理
- {
- Ircordpro();
- irok=0;
- }
- if(irpro_ok) //如果處理好后進(jìn)行工作處理,如按對(duì)應(yīng)的按鍵后顯示對(duì)應(yīng)的數(shù)字等
- {
- Ir_work();
- }
- }
- }
復(fù)制代碼
完整的Word格式文檔51黑下載地址:
紅外遙控照明系統(tǒng)設(shè)計(jì).docx
(790.91 KB, 下載次數(shù): 71)
2018-12-25 09:34 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|