版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。ǘ?屆)</b></p><p> LED燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作——總體設(shè)計(jì)與調(diào)試</p><p> 所在學(xué)院 </p><p> 專業(yè)班級 電子信息工程
2、 </p><p> 學(xué)生姓名 學(xué)號 </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p>
3、<p> 隨著科學(xué)技術(shù)的快速發(fā)展,公司企業(yè)是產(chǎn)品生產(chǎn)已從傳統(tǒng)的手工制作轉(zhuǎn)為智能化流水線生產(chǎn)。為了提高公司在產(chǎn)品生產(chǎn)的質(zhì)量檢測環(huán)節(jié)的效率,本設(shè)計(jì)為公司的要求設(shè)計(jì)一個針對LED燈的紅外檢測系統(tǒng)。 </p><p> 本設(shè)計(jì)方案基于公司的需求,結(jié)合紅外遙控設(shè)計(jì)簡單、操作方便等特點(diǎn),采用了51單片機(jī)作為紅外發(fā)射接收芯片,IRM38BN作為紅外一體化接收管,以及紅外發(fā)光二極管作為發(fā)射管。在此基礎(chǔ)上設(shè)計(jì)了一
4、個簡易的智能紅外遙控測試系統(tǒng)。系統(tǒng)包括接收和發(fā)射兩大部分,接收部分除了被檢測LED燈外,設(shè)計(jì)在距離燈遠(yuǎn)處的不同點(diǎn)構(gòu)建對燈的紅外發(fā)射端,發(fā)射端可以根據(jù)操作人員的要求發(fā)出不同的紅外碼。幾個發(fā)射端又由另外一個遙控器來控制,從而組成一個小型的紅外網(wǎng)絡(luò)。本文設(shè)計(jì)可以實(shí)現(xiàn)遠(yuǎn)程控制系統(tǒng)的運(yùn)作,在幾個定點(diǎn)對被測LED燈進(jìn)行測試。</p><p> 關(guān)鍵詞:紅外遙控,測試系統(tǒng),紅外發(fā)射,接收</p><p&g
5、t; Remote control LED lighting design and production test system - Overall design and debugging</p><p><b> Abstract</b></p><p> With the rapid development of science and technolo
6、gy, the company's production has convert from the traditional hand-made to intelligent production lines..In order to improve the efficiency of production's Inspection in the chain, should be the company to design
7、 a LED light for infrared detection system.</p><p> The design scheme is based on the company's needs, combined with infrared remote control design is simple, convenient operation, using 51 MCU as the i
8、nfrared transmitter receiver chip, IRM38BN integrated receiver tube as infrared and infrared light-emitting diodes as a launch tube.On this basis, the intelligent design of a simple infrared remote control test system.Re
9、ceiving and transmitting system includes two parts, was detected in addition to receiving some LED lights, designed in the light a</p><p> Keywords: Infrared Remote Control,Test System, Infrared emission,In
10、frared receiver</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 1 緒論1</b></p><p> 1.1課題的來源
11、1</p><p> 1.2課題的意義1</p><p> 1.3紅外檢測系統(tǒng)的國內(nèi)外發(fā)展現(xiàn)狀2</p><p> 1.4課題研究的主要內(nèi)容2</p><p><b> 2總體設(shè)計(jì)4</b></p><p> 2.1總體方案設(shè)計(jì)4</p><p>&l
12、t;b> 2.2方案評價5</b></p><p> 3芯片器件與硬件設(shè)計(jì)介紹7</p><p> 3.1單片機(jī)AT89C52簡介7</p><p> 3.1.1 單片機(jī)AT89C52總體介紹7</p><p> 3.1.2 AT89C52各引腳功能8</p><p> 3.1.
13、3 定時/計(jì)數(shù)器應(yīng)用10</p><p> 3.1.4 中斷12</p><p> 3.1.5 Flash存儲器的編程13</p><p> 3.2紅外一體化接收頭13</p><p> 3.3鎖存器74HC57314</p><p> 3.4數(shù)碼顯示管15</p><p>
14、; 3.5系統(tǒng)硬件設(shè)計(jì)16</p><p> 3.5.1復(fù)位電路16</p><p> 3.5.2紅外發(fā)射模塊16</p><p> 3.5.3紅外接收模塊17</p><p> 4系統(tǒng)軟件設(shè)計(jì)20</p><p> 4.1主程序流程圖20</p><p> 4.2紅外
15、接收21</p><p> 4.2.1 數(shù)碼幀的接收處理21</p><p> 4.2.2 接收程序流程圖23</p><p> 4.3紅外發(fā)射23</p><p> 4.3.1 數(shù)據(jù)幀的發(fā)送23</p><p> 4.3.2 發(fā)送程序流程圖24</p><p> 5調(diào)試
16、仿真與硬件制作25</p><p> 5.1調(diào)試仿真25</p><p> 5.1.1 軟件編譯25</p><p> 5.1.2 硬件仿真25</p><p> 5.2硬件制作27</p><p><b> 結(jié)論28</b></p><p><
17、b> 1 工作總結(jié)28</b></p><p><b> 2 心得體會28</b></p><p><b> 參考文獻(xiàn)29</b></p><p><b> 致謝30</b></p><p><b> 附錄31</b>
18、</p><p> 附錄1 模擬遙控紅外信號發(fā)射端程序31</p><p> 附錄圖2 電路圖37</p><p><b> 1 緒論</b></p><p><b> 1.1課題的來源</b></p><p> LED,一種全新概念的固態(tài)光源,以其無與倫比的節(jié)
19、能、環(huán)保、長壽命、可控性高等技術(shù)優(yōu)勢,成為近年來全球最具發(fā)展前景的高新技術(shù)之一,正式拉開全面替代傳統(tǒng)照明的序幕,半導(dǎo)體照明技術(shù)革新正在改變百年傳統(tǒng)照明歷史。隨著LED技術(shù)在照明領(lǐng)域的應(yīng)用,LED產(chǎn)品在全球掀起了一場節(jié)能環(huán)保的綠色風(fēng)暴,被業(yè)界譽(yù)為“綠色照明”產(chǎn)品。在能耗越來越高的今天,甚至有人預(yù)言:“在未來10年內(nèi),LED產(chǎn)品將成為取代高壓鈉燈、白熾燈、熒光燈等傳統(tǒng)照明燈具的唯一產(chǎn)品?!?lt;/p><p> LED
20、燈具積小質(zhì)輕,可選用不同光色的LED組合成照度柔和的各種模塊,任意安裝在居室中,未來居室照明將不再局限于單個燈具,而將由單個燈具照明轉(zhuǎn)化為無照明器具感的整體照明效果的無影燈。不同的光色和亮度對人的生理和心理能產(chǎn)生不同的影響,人們在很多情況下并不需要很亮的白光,可能黃光或其它顏色的光更適合生理和心理的需要。三基色LED可以實(shí)現(xiàn)亮度、灰度、顏色的連續(xù)變換和選擇,使得照明從普遍意義上的白光擴(kuò)展為多種顏色的光。</p><p
21、> 白熾燈太耗電了,它大概只有不到十分之一的能量才變成了光能,其它都是熱能白白的被浪費(fèi)掉了,所以人們都在想辦法要用新的光源來替代白熾燈,節(jié)能燈就應(yīng)運(yùn)而生了。由于它相比而言便宜又好制作,所以就得到了大量的應(yīng)用,有逐步取代白熾燈的趨勢。節(jié)能燈取代白熾燈被稱為照明領(lǐng)域的第二次革命,同時,LED照明產(chǎn)品以更加優(yōu)質(zhì)的性能取代傳統(tǒng)節(jié)能燈也是一種趨勢,被稱為照明領(lǐng)域的第二次革命。[1]</p><p> 公司的紅外遙
22、控LED燈具產(chǎn)品具有良好的前景,一體化的LED流水線可以批量的生產(chǎn)產(chǎn)品,但是產(chǎn)品生產(chǎn)后的大量的檢測工作需要耗費(fèi)許多人力物力。今年沿海城市在勞工方面有著巨大的空缺,解決檢測工作的問題對于公司的發(fā)展具有重大的意義。</p><p><b> 1.2課題的意義</b></p><p> 由于一體化的LED燈具流水線生產(chǎn),很難保證每個產(chǎn)品的合格性,需要在產(chǎn)品生產(chǎn)完成后,選
23、擇工人再定點(diǎn)的位置檢測燈具的合格性。然而遙控LED燈具的檢測必須在燈具的所在的不同角度以及規(guī)定的距離進(jìn)行檢測,這使得工人的勞動強(qiáng)度極大,而且工作的效率很低。</p><p> 下圖為工人的工作過程:</p><p> 圖1-1人工檢測示意圖</p><p> 在工作過程中需要一個工人更換被測LED燈,又需要工人在三個測試點(diǎn)(距離燈4米,兩個點(diǎn)之間角度為60度)
24、使用遙控器對燈進(jìn)行檢測。測試工人若為一個則效率太低,工人三個則消耗勞動力太多。</p><p> 近年來我國沿海的經(jīng)濟(jì)快速發(fā)展,各種工廠、企業(yè)日益增多,對勞工的需求急速增加。中部地區(qū)的工業(yè)發(fā)展吸引一大批到沿海打工的人員。對此,設(shè)計(jì)一個 LED燈具遙控器測試系統(tǒng),用于紅外遙控?zé)舢a(chǎn)品質(zhì)量的自動測試。整個系統(tǒng)只要一個工人更換被檢測燈并控制整個系統(tǒng)工作即可,不僅解決公司用人難招的問題,還可以為公司節(jié)省支出,提高工作效率
25、,減少人為的失誤。</p><p> 1.3紅外檢測系統(tǒng)的國內(nèi)外發(fā)展現(xiàn)狀</p><p> 單片機(jī)自20世紀(jì)70年代問世以來,發(fā)展迅猛,基于單片機(jī)的紅外遙控技術(shù)已然成熟。關(guān)于紅外遙控的檢測也有許多前人提出了各種各樣的方案。</p><p> 如利用上位機(jī)和下位機(jī)組成的紅外遙控器測試系統(tǒng)是就具有良好的人機(jī)交互界面的檢測裝置。該系統(tǒng)的硬件由上位機(jī)和下位機(jī)組成,上位
26、機(jī)和下位機(jī)之間通過RS232串口通信,下位機(jī)為由8051單片機(jī)組成的解碼電路;上位機(jī)為普通的電腦,整個系統(tǒng)有著良好的人機(jī)交互界面。[2]</p><p> 也有采用單片機(jī)進(jìn)行整個遙控系統(tǒng)測試的設(shè)計(jì),具有硬件電路簡單方便,編程靈活多樣,操作碼個數(shù)可隨意設(shè)定等優(yōu)點(diǎn),更適合與小模塊化處理。單片機(jī)具有體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價格低廉、可靠性高、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),已
27、被廣泛應(yīng)用于自動檢測、智能儀表、機(jī)電一體化設(shè)備等方面。采用單片機(jī)設(shè)計(jì)的系統(tǒng)簡化了電路,降低了成本,提高了可靠性,易于維護(hù)。為了更好的測試公司生產(chǎn)的遙控LED燈所使用的通用的紅外遙控器與LED燈之間的通信,整個系統(tǒng)采用單片機(jī)設(shè)計(jì)更實(shí)用與經(jīng)濟(jì)。本次設(shè)計(jì)為公司暫時的需要所設(shè)計(jì),整個設(shè)計(jì)簡潔明了。</p><p> 1.4課題研究的主要內(nèi)容</p><p> 紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組
28、成,應(yīng)用編/解碼集成電路芯片來進(jìn)行控制操作。發(fā)射部分即遙控器(包括鍵盤矩陣、編碼調(diào)制、紅外發(fā)送二極管);在本設(shè)計(jì)中遙控器是為了檢測LED燈,我們在定點(diǎn)的位置放置了模擬遙控器(包括AT89C52單片機(jī)、編碼調(diào)制、紅外發(fā)送二極管)發(fā)射紅外信號。接收部分為紅外接收頭(包括光/電轉(zhuǎn)換、放大、解調(diào))和解碼MCU(這里用的是AT89C52單片機(jī))。系統(tǒng)示意圖如下[3]:</p><p><b> 圖1-2系統(tǒng)示意
29、圖</b></p><p> 本設(shè)計(jì)中提供的是一個單片機(jī)為核心的簡易的LED燈測試系統(tǒng),用于對產(chǎn)品的質(zhì)量檢測,暫時緩解產(chǎn)品人工檢測上的壓力。每一個紅外遙控LED的合格需要檢測的參數(shù)為距離、角度以及靈敏度。本設(shè)計(jì)將在距離被測LED燈4米遠(yuǎn),呈120℃的扇形區(qū)域內(nèi)布置三個模擬遙控器裝置,發(fā)射紅外信號檢測LED燈在核定距離、不同角度和不同信號產(chǎn)生的亮暗效果以及顏色變化,從而鑒別該燈是否合格。為了減少操作人
30、員的工作量,遠(yuǎn)程控制三個檢測端,采用相同的編碼方式不同的編碼數(shù)據(jù)發(fā)出紅外控制碼。整個系統(tǒng)已單片機(jī)為核心,以紅外通信為網(wǎng)絡(luò),進(jìn)行LED燈的檢測。主要的研究內(nèi)容如下:</p><p> 建立模擬紅外遙控信號發(fā)射端對被測LED燈進(jìn)行操作。</p><p> 搭建針對模擬信號發(fā)射端的紅外遙控器,對其進(jìn)行控制。</p><p> 編寫程序,以單片機(jī)為中心的紅外發(fā)射、接收
31、系統(tǒng),</p><p> 該系統(tǒng)的完成可減輕生產(chǎn)線測試工人的勞動強(qiáng)度,避免人為產(chǎn)生的失誤,保證測試可靠性,提高生產(chǎn)效力。</p><p><b> 2總體設(shè)計(jì)</b></p><p><b> 2.1總體方案設(shè)計(jì)</b></p><p> 系統(tǒng)的整體構(gòu)架如下:</p><
32、p> 圖2-1系統(tǒng)總體結(jié)構(gòu)框圖</p><p> 本設(shè)計(jì)的測試系統(tǒng),是一個一單片機(jī)為核心,紅外線為通信媒介的遙控系統(tǒng)。在系統(tǒng)中存在著多個紅外發(fā)射端與紅外接收端,如模擬紅外遙控發(fā)射端既需要接受紅外信號,也需要發(fā)射紅外信號。</p><p> 紅外遙控系統(tǒng)中發(fā)射端與接收端的通信是一連串的二進(jìn)制脈沖碼信號。紅外遙控系統(tǒng)中所采用的編碼方式有三種:</p><p>
33、; ?。?)FSK(移頻鍵控)方式 用兩種不同的脈沖頻率分別表示二進(jìn)制數(shù)的“0”和“1”。</p><p> (2)PPM(脈沖位置編碼)方式 在脈沖位置編碼的方式下,每一位二進(jìn)制數(shù)所占脈沖數(shù)用的時間是一樣的,只是傳號在后的表示“1”,傳號在前、空號在后的表示“0”。</p><p> ?。?)PWM(脈沖寬度編碼)方式 脈沖寬度編碼方式是根據(jù)傳號脈沖的寬度來區(qū)別二進(jìn)制數(shù)的“1”和“0
34、”的。傳號脈沖寬的是“1”,傳號脈沖窄的是“0”,而每位二進(jìn)制數(shù)之間則用等寬的空號進(jìn)行分隔。[9]</p><p> 公司遙控器是用PWM的編碼方式,所產(chǎn)生的脈沖編碼的格式為:引導(dǎo)脈沖(頭)、識別碼(用戶碼)、鍵碼、鍵碼的反碼。其引導(dǎo)脈沖為寬度為9ms左右的一個高脈沖和一個低脈沖的組合 ,用來是標(biāo)識指令碼的開始。識別碼、 鍵碼、 鍵碼的反碼均為數(shù)據(jù)編碼脈沖 ,用二進(jìn)制數(shù)表示。“0” 和 “1” 均由毫秒量級的高
35、低脈沖的組合代表。識別碼(即用戶碼)是對每個遙控系統(tǒng)的標(biāo)識。通過對識別碼的檢驗(yàn) ,每個遙控器只能控制一個設(shè)備動作 ,有效的防止跟其他設(shè)備之間的串?dāng)_。當(dāng)遙控器指令鍵按下時 ,指令信號產(chǎn)生電路便產(chǎn)生脈沖編碼。鍵碼后面一般還要有鍵碼的反碼 ,用來檢驗(yàn)鍵碼接收的正確性 ,防止誤動作 ,增強(qiáng)系統(tǒng)的可靠性。這些指令信號由調(diào)制電路調(diào)制成38kHz的信號 ,經(jīng)調(diào)制后輸出 ,最后由驅(qū)動電路驅(qū)動紅外發(fā)射器件(LED)發(fā)出紅外遙控信號。</p>
36、<p> 本設(shè)計(jì)中三個模擬紅外遙控信號發(fā)射端,均采用這種編碼方式。用單片機(jī)AT89C52為核心,加上紅外發(fā)射的外圍電路模擬遙控器的紅外編碼信號,對被測LED燈進(jìn)行遠(yuǎn)程控制。</p><p> 其中控制遙控器為單片機(jī)控制單元,主要由鍵盤矩陣、紅外發(fā)送二極管以及AT89C52單片機(jī)構(gòu)成。</p><p> 模擬遙控端的結(jié)構(gòu)如下:</p><p> 圖
37、2-1.2模擬遙控發(fā)射端設(shè)計(jì)方案</p><p> 接收電路使用一體化集成紅外接收器成品,一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機(jī)識別的TTL信號,這樣大大簡化了接收電路的復(fù)雜程度和電路的設(shè)計(jì)工作,方便使用。在本系統(tǒng)中采用與LED燈上一致的紅外一體化接收頭IRM38BN,不需要任何外接元件就能完成從紅外接收到輸出TTL電平兼容信號的所有工作。</p>&
38、lt;p> 發(fā)射部分的主要元件是紅外發(fā)光二極管。它實(shí)際上是一只特殊的發(fā)光二極管,由于其內(nèi)部的材料不同于普通發(fā)光二極管,因而在其兩端施加一定電壓時,它發(fā)出的便是紅外線而不是可見光。目前大量使用的紅外發(fā)光二極管發(fā)出的紅外線波長為940nm左右,外形與普通Φ5發(fā)光二極管相同,只是顏色不同。在本系統(tǒng)中,紅外發(fā)射電路利用紅外發(fā)光二極管作為發(fā)射已編碼的38KHZ載波信號的主要器件。</p><p><b>
39、 2.2方案評價</b></p><p> 紅外遙控是一種無線、非接觸控制技術(shù),具有抗擾能力強(qiáng),信息傳輸可靠,功耗低,成本低,易實(shí)現(xiàn)等顯著優(yōu)點(diǎn),被諸多電子設(shè)備特別是家用電器廣泛采用, 并越來越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。紅外遙控系統(tǒng)有發(fā)送和接收兩個組成部分。發(fā)送端采用單片機(jī)將待發(fā)送的二進(jìn)制信號編碼調(diào)制為一系列的脈沖串信號,通過紅外發(fā)射管發(fā)射紅外信號。紅外接收端采用普遍的價格便宜, 性能可靠的一體化紅外
40、接收頭接收紅外信號,它同時對信號進(jìn)行放大、檢波、整形,得到TTL電平的編碼信號,再送給單片機(jī),經(jīng)單片機(jī)解碼并執(zhí)行,控制LED燈具的相關(guān)色彩。紅外遙控系統(tǒng)的發(fā)送端將基帶二進(jìn)制信號調(diào)制成一系列的脈沖串信號.通過紅外發(fā)射管發(fā)射紅外信號。</p><p> 整個系統(tǒng)軟件的設(shè)計(jì)采用了自頂向下的模塊化的結(jié)構(gòu)方式,將各個功能分成獨(dú)立模塊,由系統(tǒng)的程序統(tǒng)一管理執(zhí)行。系統(tǒng)軟件的程序設(shè)計(jì)主要是和硬件電路相結(jié)合,實(shí)現(xiàn)用紅外遙控的方式
41、控制整個系統(tǒng)的運(yùn)作。</p><p> 3芯片器件及電路模塊介紹</p><p> 3.1 單片機(jī)AT89C52簡介</p><p> 3.1.1 單片機(jī)AT89C52總體介紹</p><p> AT89C52是51系列單片機(jī)的一個型號,它是ATMEL公司生產(chǎn)的。</p><p> AT89C52是一個低電壓
42、,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。</p><p> AT89C52有40個引腳,32個外部雙向輸入/輸出(
43、I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計(jì)數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。[5]</p><p> AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p&
44、gt;<b> 主要功能特性:</b></p><p> · 兼容MCS51指令系統(tǒng) · 8k可反復(fù)擦寫(>1000次)Flash ROM </p><p> · 32個雙向I/O口 · 256x8bit內(nèi)部RAM </p><p> · 3個16位可編程定時/計(jì)數(shù)器中斷
45、3; 時鐘頻率0-24MHz </p><p> · 2個串行中斷 · 可編程UART串行通道 </p><p> · 2個外部中斷源 · 共6個中斷源 </p><p> · 2個讀寫中斷口線 · 3級加密位 </p><p> · 低功耗空閑和掉電模式
46、3; 軟件設(shè)置睡眠和喚醒功能</p><p> 圖3-1PDIP封裝的AT89C52引腳圖</p><p> 3.1.2AT89C52各引腳功能</p><p><b> ?。?)P0口</b></p><p> P0口是一組8位漏極開路型雙向I/O口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方
47、式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。 </p><p><b> ?。?)P1口</b></p><p> P1是一個帶內(nèi)部上
48、拉電阻的8 位雙向I/O 口,P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash編程和程序校驗(yàn)期間,P1接收低8位地址?! ?
49、</p><p><b> (3)P2口</b></p><p> P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL 邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位
50、地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR 指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI 指令)時,P2口輸出P2鎖存器的內(nèi)容。Flash 編程或校驗(yàn)時,P2亦接收高位地址和一些控制信號。 </p><p><b> ?。?)P3口</b></p><p> P3口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O口。P
51、3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能 P3口還接收一些用于Flash閃速存儲器編程和程序校驗(yàn)的控制信號。</p><p><b> (5)RST</b></p><
52、p> 復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 </p><p> ?。?)ALE/PROG</p><p> 當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過
53、一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條 MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。 </p><p><b> ?。?)PSEN</b></p><
54、;p> 程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52 由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 </p><p><b> (8)EA/VPP</b></p><p> 外部訪問允許。欲使CPU 僅訪問外部程序存儲器(地址為000
55、0H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。 Flash 存儲器編程時,該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。</p><p><b> (9)XTAL1</b></p><p>
56、; 振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 </p><p><b> ?。?0)XTAL2</b></p><p> 振蕩器反相放大器的輸出端。</p><p> 3.1.3定時/計(jì)數(shù)器應(yīng)用</p><p> (1)定時/計(jì)數(shù)器功能簡</p><p> AT89C51單片機(jī)內(nèi)部設(shè)
57、有兩個16位可編程的定時/計(jì)數(shù)器,簡稱定時器0和定時器1,分別用T0和T1表示。其功能同一般定時計(jì)數(shù)器,主要作用是:第一,作為一段特定時間長短的定時;第二,可以計(jì)算由T1或T0引腳輸入的脈沖數(shù),前者在應(yīng)用上可以產(chǎn)生正確的時間延遲及定時去執(zhí)行中斷服務(wù)程序,而后者則是計(jì)數(shù)器或者計(jì)頻器的設(shè)計(jì)。在本設(shè)計(jì)中這兩種作用都用到了。</p><p> 這兩個定時器本身有四種工作模式可供使用,如表4.1所示:</p>
58、<p> 表3-1 四種工作模式</p><p> (2)定時器相關(guān)的控制寄存器</p><p> TMOD為模式控制寄存器,主要用來設(shè)置定時/計(jì)數(shù)器的操作模式;TCON為控制寄存器,主要用來控制定時器的啟動與停止。兩個16位的定時/計(jì)數(shù)器T0和T1均可以分成2個獨(dú)立的8位計(jì)數(shù)器即TH0、TL0、TH1、TL1,它們用于存定時或計(jì)數(shù)的初值。</p>&l
59、t;p> ?、倌J娇刂萍拇嫫?-TMOD </p><p> TMOD是一個專用寄存器,用于控制T1和T0的操作模式及工作方式,其各位定義如下:</p><p> 表3-2 TMOD寄存器</p><p> · GATE:門控位。當(dāng)GATE=0,定時器只由軟件控制位TR0或TR1來控制啟停。位為1,定時器啟動開始工作;為0時,定時器停止工作。
60、當(dāng)GATE=1時,定時器的啟動要由外部中斷引腳和位共同控制。只有當(dāng)外部中斷引腳或?yàn)楦邥r,置1才能啟動定時器工作。</p><p> ·C/:功能選擇位。當(dāng)C/=O時設(shè)置為定時器工作方式;計(jì)數(shù)脈沖由內(nèi)部提供,計(jì)數(shù)周期等于機(jī)器周期。當(dāng)C/=1時設(shè)置為計(jì)數(shù)器工作方式,計(jì)數(shù)脈沖為外部引腳T0或T1的引入的外部脈沖信號。</p><p> ·M1、M0:操作模式控制位,2位可
61、形成4種編碼,對應(yīng)于4種操作模式。</p><p> TMOD模式控制寄存器不能進(jìn)行位尋址,只能用字節(jié)傳送指令設(shè)置定時器的工作方式及操作模式,低4位用于定義定時器0,高4位用于定義定時器1。系統(tǒng)復(fù)位時TMOD所有位均為0。</p><p> 模式控制字的設(shè)置舉例:</p><p> 若設(shè)置定時器1為定時器工作方式,由軟件啟動,選擇操作模式2;定時器0為計(jì)數(shù)方式
62、,由軟件啟動,選擇操作模式1。則TMOD各位設(shè)置為:</p><p> 0 0 l 0 0 1 O l 25H</p><p> 用MOV TMOD,#25H指令寫入TMOD中(TMOD=0x25)。</p><p> ?、诳刂萍拇嫫?-TCON</p><p> TCON的作用是用于控制定時器的啟動、停止及定時器的
63、溢出標(biāo)志和外部中斷觸發(fā)方式等。</p><p><b> 各位定義如下:</b></p><p> 表3-3 TCON寄存器</p><p> ·TF1和TF0;分別為定時器1和定時器0溢出標(biāo)志。當(dāng)定時器計(jì)滿產(chǎn)生溢出時,由硬件自動置“1”,并可申請中斷。進(jìn)人中斷服務(wù)程序后,由硬件自動清0。這兩位也可作為程序查詢的標(biāo)志位,在查詢
64、方式下應(yīng)由軟件來清0。</p><p> ·TR1和TR0:為定時器1和定時器0的啟動控制位。當(dāng)由軟件使清0而停止定時器的工作。定時器啟動時該位應(yīng)置“1”。</p><p> 定時器的啟動與門控位和外部中斷引腳有關(guān)。當(dāng)GATE設(shè)置為0,定時器的啟動由=1控制;而當(dāng)GATE設(shè)置為1時,定時器啟動除了=1外,還要求外部中斷引腳=1時定時器方可啟動工作。</p>&l
65、t;p> ·IE1和IE0:為外部中斷1和外部0的中斷請求標(biāo)志位。當(dāng)外部中斷源有請求時其對應(yīng)的中斷標(biāo)志位置“1”。其復(fù)位由觸發(fā)方式來設(shè)置。</p><p> ·IT1和IT0:為外部中斷1和外部中斷0的觸發(fā)方式選擇位。設(shè)置為“0”時為電平觸發(fā)方式;設(shè)置為“1”時為邊沿觸發(fā)方式。</p><p> TCON中低4位是與外部中斷有關(guān)的位,高4位為定時器控制位。它
66、是一個可以進(jìn)行位尋址的寄存器。當(dāng)系統(tǒng)復(fù)位時所有位均為0。若要啟動定時器可以使用位操作指令SETB 來啟動。</p><p> (3)定時計(jì)數(shù)器的操作模式</p><p><b> ?、倌J?</b></p><p> 在模式1 工作下,計(jì)數(shù)器最多可計(jì)數(shù)個數(shù)為 M==65536,計(jì)時時間最長為</p><p> 1
67、.085us*65536=72ms 3-1</p><p> 而計(jì)數(shù)初值的加載方法為:</p><p> TL0=(65536-C).MOD.256 3-2</p><p> TH0=(65536-C)/256 3-3</p>
68、;<p> 其中C為所要計(jì)數(shù)的值,計(jì)數(shù)時間長度為:</p><p> 1.085us*C 3-4</p><p><b> ?、谀J?</b></p><p> 模式2有自動重新加載初值的功能,使定時器做更精確的計(jì)時。在模式2 工作下,計(jì)數(shù)器最多可計(jì)數(shù)個數(shù)為M==25
69、6,計(jì)時時間最長為:</p><p> 1.085us*256=0.28ms 3-5</p><p> 而計(jì)數(shù)初值的加載方法為:</p><p> TH0=256-C 3-6</p><p> 其中C為所要計(jì)數(shù)的值,計(jì)數(shù)時間長
70、度為:</p><p> 1.085us*C 3-7</p><p> 本設(shè)計(jì)采用模式2.其具體程序如下:</p><p> TMOD=0x22; //8位自動重裝模式</p><p> TH1=0xf3; //40KHZ初值&
71、lt;/p><p><b> TL1=0xf3;</b></p><p><b> 3.1.4中斷</b></p><p> AT89C52共有6個中斷向量:兩個外中斷(INT0 和INT1),3個定時器中斷(定時器0、1、2)和串行口中斷。所有這些中斷源可通過分別設(shè)置專用寄存器IE 的置位或清0來控制每一個中斷的允許或
72、禁止。IE也有一個總禁止位EA,它能控制所有中斷的允許或禁止。</p><p> 注意中的IE.6為保留位,在AT89C51中IE.5也是保留位。程序員不應(yīng)將“1”寫入這些位,它們是將來AT89系列產(chǎn)品作為擴(kuò)展用的。</p><p> 定時器2的中斷是由T2CON中的TF2和EXF2邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷服務(wù)程序時,這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是TF2或EXF2
73、產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。</p><p> 定時器0和定時器1的標(biāo)志位TF0和TF1在定時器溢出那個機(jī)器周期的S5P2狀態(tài)置位,而會在下一個機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時器2的標(biāo)志位TF2在定時器溢出的那個機(jī)器周期的S2P2狀態(tài)置位,并在同一個機(jī)器周期內(nèi)查詢到該標(biāo)志。[7]</p><p> 3.1.5Flash存儲器的編程</p><p>
74、 AT89C52單片機(jī)內(nèi)部有8k字節(jié)的Flash PEROM,這個Flash 存儲陣列出廠時已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為FFH),用戶隨時可對其進(jìn)行編程。編程接口可接收高電壓(+12V)或低電壓(Vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM 編程器兼容。AT89C52 單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得
75、該信息。AT89C52的程序存儲器陣列是采用字節(jié)寫入方式編程的,每次寫入一個字節(jié),要對整個芯片內(nèi)的PEROM程序存儲器寫入一個非空字節(jié),必須使用片擦除的方式將整個存儲器的內(nèi)容清除。[8]</p><p> 3.2 紅外一體化接收頭</p><p> 圖3-2 實(shí)物圖及應(yīng)用電路圖</p><p><b> 描述:</b></p>
76、;<p> IRM38BN內(nèi)含高速PIN光電二極管和全制程前置放大IC,采用內(nèi)外雙屏蔽封裝結(jié)構(gòu),在紅外遙控系統(tǒng)中作為接收器使用。</p><p><b> 主要特性:</b></p><p> *模塊封裝,體積小巧;</p><p> *寬工作電壓,2.7-6V; </p>&
77、lt;p> *高靈敏度,優(yōu)良抗干擾能力;</p><p> *輸出匹配TTL、CMOS電平,低電平有效;</p><p> *上電短延時(低于1ms);</p><p> 詳細(xì)參數(shù)(T=25℃ VCC=5V f0=38KHZ)</p><p> *工作電壓Vcc 2.6~6.0V</p><p>
78、 *工作電流Icc 0.5~1.5mA</p><p> *靜態(tài)電流Ice(無信號輸入時) 0.5~1.0mA</p><p> *接收距離L 12~15m</p><p> *接收角度θ1/2 +/-45Deg</p><p> *接收距離f0 37.9KHZ</p><p> *BMP
79、 寬度fBW(-3Db Bandwidth)3.5kHz</p><p> *低電平輸出 VOL(Vin=0V Vcc=5V)0.2~0.4V</p><p> *高電平輸出 VOH(Vcc=5V)4.8~5.0V</p><p> *輸出脈沖寬度TPWL(Vin=50mVp-p)500~700μS</p><p> TPWH(Vi
80、n=50mVp-p)500~700μS</p><p> 3.3 鎖存器74HC573</p><p> 圖3-3 74HC573內(nèi)部構(gòu)造及封裝圖</p><p><b> 描述:</b></p><p> 高性能硅門CMOS器件,SL74HC573跟LS/AL573的管腳一樣。器件的輸入是和標(biāo)準(zhǔn) CMOS 輸出
81、兼容的;加上拉電阻,他們能和 LS/ALSTTL 輸出兼容。當(dāng)鎖存使能端LE為高時,這些器件的鎖存對于數(shù)據(jù)是透明的(也就是說輸出同步)。當(dāng)鎖存使能變低時,符合建立時間和保持時間的數(shù)據(jù)會被鎖存。 </p><p><b> 特性</b></p><p> *輸出能直接接到 CMOS,NMOS和TTL接口上 </p><p> *工作電壓
82、范圍:2.0V~6.0V </p><p> *輸入電流:1.0uA </p><p> *具有CMOS器件的高噪聲抵抗特性 </p><p><b> 引腳功能</b></p><p> *OE:output_enable,輸出使能; </p><p> *LE:latch_e
83、nable,數(shù)據(jù)鎖存使能,latch是鎖存的意思;</p><p> *Dn:第n路輸入數(shù)據(jù); </p><p> *On:第n路輸出數(shù)據(jù); </p><p><b> 真值表</b></p><p> 表3-4 鎖存器74HC573輸入輸出真值表</p><p> 第一行:當(dāng)=1是,
84、無論Dn、LE為何,輸出端為高阻態(tài); </p><p> 第二行:當(dāng)=0、LE=0時,輸出端保持不變; </p><p> 第三行第四行:當(dāng)=0、LE=1時,輸出端數(shù)據(jù)等于輸入端數(shù)據(jù); </p><p><b> 3.4 數(shù)碼顯示管</b></p><p> 由LED組成的7段發(fā)光管顯示器是不太復(fù)雜的單片機(jī)應(yīng)用系
85、統(tǒng)常用外部設(shè)備之一。</p><p> ?、?段發(fā)光管顯示器由7段發(fā)光線段組成,并按“日”字形排列,每一段都是一個發(fā)光二極管,如圖15所示。圖中將7個LED的陰極連在一起,稱之為共陰極接法。反之為共陽極接法。</p><p> ?、谌绻麑⒐碴帢O接地,而在a~g各段的陽極加上不同的電壓,就會使各段的發(fā)光情況不同,形成不同的發(fā)光字符。加在7段陽極上的電壓可以用數(shù)字量表示,如果某一段的陽極為數(shù)
86、字量1,則這個段就發(fā)光;如為0,則不發(fā)光。數(shù)字量與段的對應(yīng)關(guān)系如表3.1所示。數(shù)碼管原理圖如18 所示。</p><p> 在本設(shè)計(jì)中采用的共陰極的數(shù)碼顯示管。</p><p> 圖 3-4 數(shù)碼管原理圖</p><p><b> 3.5系統(tǒng)硬件設(shè)計(jì)</b></p><p><b> 3.5.1復(fù)位電
87、路</b></p><p> 單片機(jī)在開機(jī)時都需要復(fù)位,以便于處理器以及其他功能部件處于一個確定的初始狀態(tài)中,并從這個狀態(tài)開始工作。單片機(jī)的復(fù)位一般是靠外部電路實(shí)現(xiàn)的,在時鐘電路開始工作后,只要在單片機(jī)的RST引腳上出現(xiàn)24個時鐘震蕩脈沖以上的高電平,單片機(jī)便可以實(shí)現(xiàn)初始化狀態(tài)的復(fù)位。51單片機(jī)的RST引腳是復(fù)位信號的輸入端。例如AT89C52單片機(jī)時鐘頻率為12MHz,則復(fù)位脈沖寬度至少應(yīng)該為1u
88、s。</p><p> 當(dāng)AT89C52系列單片機(jī)的復(fù)位引腳RST出現(xiàn)2個機(jī)器周期以上的高電平時,單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。</p><p> 復(fù)位電路的基本功能是:</p><p> 系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源
89、插頭分-合過程中引起的抖動而影響復(fù)位。圖4.1-1所示的RC復(fù)位電路可以實(shí)現(xiàn)上述基本功能。</p><p> 圖3-5單片機(jī)復(fù)位電路</p><p> 3.5.2紅外發(fā)射電路</p><p> 紅外遙控器的輸出都是用編碼后串行數(shù)據(jù)對 38~40kHz 的方波進(jìn)行脈沖幅度調(diào)制而產(chǎn)生的。 </p><p> 當(dāng)單片機(jī)得到相應(yīng)的操作碼后,發(fā)
90、射器即有遙控碼發(fā)出,在這里僅僅是為檢測LED燈,設(shè)計(jì)在每個模擬紅外遙控發(fā)射端一串不同的遙控碼。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔 0.56ms、周期為 1.125ms的組合表示二進(jìn)制的“0”;以脈寬為 0.565ms、間隔 1.685ms、周期為 2.25ms 的組合表示二進(jìn)制的“1”。 </p><p> 上述“0”和“1”組成的 32 位二進(jìn)制碼經(jīng) 38kHz 的載頻
91、進(jìn)行二次調(diào)制,然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。遙控編碼是連續(xù)的 32 位二進(jìn)制碼組,其中前 16 位為用戶識別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后 16 位為 8 位的操作碼和 8位的操作反碼,用于核對數(shù)據(jù)是否接收準(zhǔn)確。根據(jù)紅外編碼的格式,發(fā)送數(shù)據(jù)前需要先發(fā)送9ms 的起始碼和 4.5ms 的結(jié)果碼。 </p><p> 遙控串行數(shù)據(jù)編碼波形如下圖所示: </p&g
92、t;<p> 圖3-6圖一幀數(shù)據(jù)編碼波形</p><p> 單片機(jī)收到紅外信號,解碼完畢得到相應(yīng)的操作碼,核對操作碼是否符合條件,然后通過AT89C52的P3.2輸出遙控信息編碼給紅外發(fā)射電路。遙控器信息碼由AT89C52單片機(jī)的定時器l中斷產(chǎn)生38kHz紅外線方波信號,由P3.2口輸出,經(jīng)過三極管9014放大,由紅外線發(fā)射管發(fā)送,改變電阻R3的大小可以改變發(fā)射距離。</p>&l
93、t;p> 圖3-7紅外發(fā)射電路</p><p> 3.5.3紅外接收模塊</p><p> 接收電路可以使用集成紅外接收器成品 ,一般不需要任何外接元件就能完成從紅外接收到輸出TT L 電平兼容信號的所有工作。注意選擇接收器件時要保證接收器件的中心頻率與發(fā)射信號的中心頻率相匹配。在本系統(tǒng)中采用與LED燈上一致的紅外一體化接收頭IRM38BN。接收器對外只有 3 個引腳:Vcc、
94、 G ND 和1個脈沖信號輸出 OUT,與單片機(jī)接口非常方便。</p><p> 圖3-8紅外接收電路</p><p> 脈沖信號輸出接單片機(jī)的普通輸入引腳或中斷輸入引腳( IO/ INT) 。在本設(shè)計(jì)中連接中斷一腳,采取這種連接方法 ,軟件解碼工作于中斷方式。</p><p> 圖3-9模擬紅外遙控信號發(fā)射端總圖</p><p>&l
95、t;b> 4系統(tǒng)軟件設(shè)計(jì)</b></p><p><b> 4.1主程序</b></p><p> 模擬紅外遙控發(fā)射端的主要工作為,接受遙控端發(fā)射的紅外信號,并根據(jù)接受到得紅外信號發(fā)射與之相應(yīng)的紅外碼,讓被測LED燈接收并產(chǎn)生變化。由于紅外遙控碼是經(jīng)過38KHz載波調(diào)制的脈沖信號,需經(jīng)過處理才能被單片機(jī)識別。因此AT89C52的主要工作如下:&
96、lt;/p><p> 利用定時器以及中斷記錄下紅外脈沖信號兩個下降沿之間的時間長度</p><p> 以周期為 1.125ms表示“0”,周期為 2.25ms 表示“1”的規(guī)則將記錄的32個數(shù)據(jù)轉(zhuǎn)換成二進(jìn)制32位碼。</p><p> 通過數(shù)碼管顯示操作碼,核對操作碼并發(fā)射紅外信號。</p><p><b> 程序流程圖如下:&
97、lt;/b></p><p> 圖4-1主程序流程圖</p><p><b> 4.2紅外接收</b></p><p> 4.2.1數(shù)據(jù)幀的接收處理</p><p> 遙控接收部分的程序過程如下:</p><p> 當(dāng)紅外線遙控器輸出脈沖幀數(shù)據(jù)時,紅外一體化接受頭接受到紅外信號的脈
98、沖,第一位碼的低電平將啟動中斷程序,實(shí)時接收數(shù)據(jù)幀。在數(shù)據(jù)幀接收時,將對第一位(起始位)碼的碼寬進(jìn)行驗(yàn)證。若第一位低電平碼的脈寬小于8.5ms且大于10.5ms,將作為錯誤碼處理。當(dāng)間隔位的高電平脈寬大于4.5ms時,結(jié)束接收。當(dāng)?shù)谝晃淮a正確開始接收數(shù)據(jù)幀,在每一個低電平之后用定時器記錄相應(yīng)的持續(xù)時間,然后根據(jù)累加器中的持續(xù)時間的數(shù)據(jù),執(zhí)行相應(yīng)輸出口的操作。圖23就是紅外線遙控器輸出的一幀遙控碼波形圖</p><p&
99、gt; 圖4-2遙控碼波形圖</p><p> 由于遙控器編碼是連續(xù)的 32 位二進(jìn)制碼組,所以在接收完一幀遙控碼后,累加器中將儲存著33個數(shù)據(jù)(第一位為起始位),通過碼值處理函數(shù),將其轉(zhuǎn)換成二進(jìn)制的32位碼。</p><p> ?。?)中斷處理程序:</p><p> void ex0_isr (void) interrupt 0 using 0//外部中斷
100、0服務(wù)函數(shù)</p><p><b> {</b></p><p> static unsigned char i;</p><p> static bit startflag;</p><p> if(startflag)</p><p><b> {</b>&l
101、t;/p><p> if(irtime<42&&irtime>=33)//引導(dǎo)碼 TC9012的頭碼</p><p><b> i=0;</b></p><p> irdata[i]=irtime;//一次存儲32位電平寬度</p><p><b> irtime=0;</
102、b></p><p><b> i++;</b></p><p><b> if(i==33)</b></p><p><b> {</b></p><p><b> irok=1;</b></p><p><b
103、> i=0;</b></p><p><b> }</b></p><p><b> } </b></p><p><b> else</b></p><p> {irtime=0;startflag=1;}</p><p>
104、<b> }</b></p><p> ?。?)碼值處理函數(shù):</p><p> void Ircordpro(void)//紅外碼值處理函數(shù)</p><p><b> { </b></p><p> unsigned char i, j, k;</p><p>
105、unsigned char cord,value;</p><p><b> k=1;</b></p><p> for(i=0;i<4;i++)//處理4個字節(jié)</p><p><b> {</b></p><p> for(j=1;j<=8;j++) //處理1個字節(jié)8位&l
106、t;/p><p><b> {</b></p><p> cord=irdata[k];</p><p> if(cord>7)//大于某值為1</p><p><b> {</b></p><p> value=value|0x80;</p>&l
107、t;p><b> }</b></p><p><b> else </b></p><p><b> {</b></p><p> value=value;</p><p><b> }</b></p><p>&l
108、t;b> if(j<8)</b></p><p><b> {</b></p><p> value=value>>1;</p><p><b> }</b></p><p><b> k++;</b></p><
109、;p><b> }</b></p><p> IRcord[i]=value;</p><p> value=0; </p><p> } irpro_ok=1;//處理完畢標(biāo)志位置1</p><p><b> }</b></p><p> 4.2.
110、2接收程序流程圖</p><p> 圖4-3接收程序流程圖</p><p><b> 4.3紅外發(fā)射</b></p><p> 4.3.1數(shù)據(jù)幀的發(fā)送</p><p> 模擬紅外遙控信號發(fā)射端的作用是發(fā)射與被測LED燈配套的遙控器的紅外信號,所發(fā)出的32位碼要與LED燈相符合。本設(shè)計(jì)在三個模擬紅外遙控信號發(fā)射端的
111、程序中定義了不同的數(shù)據(jù)碼,可以使被測LED燈有不同的測試效果,如遙控器控制發(fā)射端1發(fā)射紅外信號可以使被測燈發(fā)出紅的光。</p><p> 公司的核定遙控器發(fā)出的紅外信號經(jīng) 38kHz 的載頻進(jìn)行調(diào)制,本設(shè)計(jì)程序利用單片機(jī)的定時器發(fā)射紅外脈沖。設(shè)定定時器為工作方式2,并給他賦初值,設(shè)定時值為38K,也就是每隔 26us 中斷一次。將定義的用戶碼以及數(shù)據(jù)碼的值轉(zhuǎn)換成二進(jìn)制碼。采用脈寬調(diào)制的串行碼,以脈寬為0.565
112、ms、間隔 0.56ms、周期為 1.125ms的組合表示二進(jìn)制的“0”;以脈寬為 0.565ms、間隔 1.685ms、周期為 2.25ms 的組合表示二進(jìn)制的“1”。</p><p> 當(dāng)一幀二進(jìn)制碼調(diào)制完畢發(fā)出紅外信號碼波形圖如下: </p><p> 圖4-4紅外信號碼波形圖</p><p> 定時器1中斷處理程序如下 :</p>
113、<p> void Timer1_isr(void) interrupt 3 using 1</p><p> { TH1=0xff; </p><p> TL1=0xe6; //設(shè)定時值為38K 也就是每隔 26us 中斷一次 </p><p><b> count++; </b></p><
114、;p> if (flag==1) </p><p> { OP=~OP; } </p><p><b> else </b></p><p> { OP = 1; } </p><p><b> }</b></p><p> 4.3.2發(fā)送程序流程圖&
115、lt;/p><p> 圖4-5接收程序流程圖</p><p> 5調(diào)試仿真與硬件制作</p><p><b> 5.1軟件調(diào)試</b></p><p><b> 5.1.1軟件編譯</b></p><p> 本設(shè)計(jì)的軟件編譯是在Keil uVision4開發(fā)環(huán)境實(shí)現(xiàn)的,
116、Keil uVision4軟件是51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),它的特點(diǎn)如下:</p><p> C語言軟件開發(fā)系統(tǒng),C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,易學(xué)易用。</p><p> 可以編寫匯編程序也可以編寫C語言程序。</p><p> 可以進(jìn)行程序的編譯和仿真。</p><p> 圖5-1 Keil u
117、Vision4開發(fā)環(huán)境</p><p><b> 5.1.2硬件仿真</b></p><p> 仿真一般分為硬件仿真與軟件仿真,在本設(shè)計(jì)中主要利用開發(fā)板進(jìn)行硬件仿真,再結(jié)合設(shè)置斷點(diǎn)、觀察變量等程序調(diào)試方法,不斷積累總結(jié)經(jīng)驗(yàn)。使用開發(fā)板進(jìn)行仿真調(diào)試不僅可以利用開發(fā)板上的相關(guān)模塊直接進(jìn)行調(diào)試,還可以使用發(fā)光二極管、數(shù)碼顯示管等觀察現(xiàn)象,從而更加具體化的輔助設(shè)計(jì)。開發(fā)板
118、上紅外模塊如圖所示:</p><p> 圖5-2開發(fā)板的萬能排座與紅外模塊</p><p> 當(dāng)程序在Keil uVision4開發(fā)環(huán)境上編譯完成,可以創(chuàng)建相應(yīng)的.hex文件,就可以通過如下所示軟件下載到單片機(jī)。</p><p> 圖5-3下載軟件界面</p><p> 圖5-4解碼部分程序調(diào)試</p><p>
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作——總體設(shè)計(jì)與調(diào)試【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作【文獻(xiàn)綜述】
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作【開題報(bào)告】
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作---單片機(jī)控制單元的設(shè)計(jì)【畢業(yè)論文】
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作----單片機(jī)控制單元的設(shè)計(jì)【開題報(bào)告】
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作——單片機(jī)控制單元的設(shè)計(jì)【文獻(xiàn)綜述】
- led燈具遙控器測試系統(tǒng)設(shè)計(jì)與制作---單片機(jī)控制單元的設(shè)計(jì)【畢業(yè)論文+文獻(xiàn)綜述+開題報(bào)告】
- 電腦遙控器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- dtmf遙控器畢業(yè)設(shè)計(jì)
- led燈具設(shè)計(jì)與開發(fā)【畢業(yè)設(shè)計(jì)】
- 藍(lán)牙遙控器畢業(yè)設(shè)計(jì)論文 藍(lán)牙智能家居遙控器設(shè)計(jì)
- 智能遙控器的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)--手機(jī)遙控器的設(shè)計(jì)與實(shí)現(xiàn)(手機(jī)端)
- 紅外線遙控器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---遙控器外殼注射模具設(shè)計(jì)
- 畢業(yè)設(shè)計(jì) --基于單片機(jī)的遙控器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---遙控器后蓋注塑模具設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--遙控器面板注塑模具設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)_遙控器面板注塑模具設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)_遙控器面板注塑模具設(shè)計(jì)
評論
0/150
提交評論