2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)論文</b></p><p>  基于AT89S52單片機(jī)的遙控器設(shè)計(jì)</p><p><b>  目錄</b></p><p><b>  摘要2</b></p><p><b>  1 引言3</b><

2、/p><p><b>  1.1紅外遙控3</b></p><p><b>  1.2單片機(jī)4</b></p><p>  2 總體設(shè)計(jì)方案5</p><p>  方案一:簡(jiǎn)易紅外遙控電路5</p><p>  方案二:利用紅外遙控開(kāi)關(guān)電路5</p>&l

3、t;p>  3 AT89S52單片機(jī)7</p><p>  3.1 AT89S52單片機(jī)7</p><p><b>  3.2系統(tǒng)復(fù)位9</b></p><p>  3.3時(shí)鐘電路10</p><p>  3.4中斷系統(tǒng)11</p><p>  4 電路框圖設(shè)計(jì)14</p

4、><p>  4.1遙控發(fā)射單元的電路圖設(shè)計(jì)14</p><p>  4.2遙控接收單元的電路圖設(shè)計(jì)16</p><p>  5紅外遙控程序流程圖18</p><p><b>  6 軟件設(shè)計(jì)20</b></p><p>  6.1:紅外遙控發(fā)射端軟件設(shè)計(jì)20</p><

5、p>  6.2:紅外遙控接收端軟件設(shè)計(jì)23</p><p><b>  結(jié)束語(yǔ)26</b></p><p><b>  參考文獻(xiàn)27</b></p><p><b>  摘要</b></p><p>  通過(guò)對(duì)設(shè)計(jì)要求的認(rèn)真分析和研究,拿出了幾種可行方案,最終選定一

6、個(gè)最佳方案。該方案是采用先進(jìn)的單片機(jī)技術(shù)實(shí)現(xiàn)遙控,采用模塊話設(shè)計(jì),主要分為兩個(gè)模塊:紅外發(fā)射模塊和紅外接收模塊。紅外發(fā)射模塊中的單片機(jī)受開(kāi)關(guān)控制,通過(guò)紅外發(fā)射管對(duì)另一個(gè)單片機(jī)發(fā)射信號(hào),紅外接收模塊中的單片機(jī)受紅外接收管接收的信號(hào)控制。文章詳細(xì)的討論了實(shí)現(xiàn)上述紅外遙控過(guò)程的硬件組成及其工作原理和軟件設(shè)計(jì)。</p><p>  關(guān)鍵詞:遙控器;紅外發(fā)射;紅外接收;單片機(jī)</p><p><

7、;b>  1 引言</b></p><p><b>  1.1紅外遙控</b></p><p>  紅外遙控是一種無(wú)線、非接觸控制技術(shù),具有抗干擾能力強(qiáng),信息傳輸可靠,功耗低,成本低,易實(shí)現(xiàn)等顯著優(yōu)點(diǎn),被諸多電子設(shè)備特別是家用電器廣泛采用,并越來(lái)越多的應(yīng)用到計(jì)算機(jī)系統(tǒng)中。</p><p>  60年代初,一些發(fā)達(dá)國(guó)家開(kāi)始研究

8、民用產(chǎn)品的遙控技術(shù),單由于受當(dāng)時(shí)技術(shù)條件限制,遙控技術(shù)發(fā)展很緩慢,70年代末,隨著大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的發(fā)展,遙控技術(shù)得到快速發(fā)展。在遙控方式上大體經(jīng)理了從有線到無(wú)限的超聲波,從振動(dòng)子到紅外線,再到使用總線的微機(jī)紅外遙控這樣幾個(gè)階段。無(wú)論采用何種方式,準(zhǔn)確無(wú)誤傳輸新信號(hào),最終達(dá)到滿(mǎn)意的控制效果是非常重要的。最初的無(wú)線遙控裝置采用的是電磁波傳輸信號(hào),由于電磁波容易產(chǎn)生干擾,也易受干擾,因此逐漸采用超聲波和紅外線媒介來(lái)傳輸信號(hào)。與紅外

9、線相比,超聲傳感器頻帶窄,所能攜帶的信息量少,易受干擾而引起誤動(dòng)作。較為理想的是光控方式,逐漸采用紅外線的遙控方式取代了超聲波遙控方式,出現(xiàn)了紅外線多功能遙控器,成為當(dāng)今時(shí)代的主流。</p><p>  由于紅外線在頻譜上居于可見(jiàn)光之外,所以抗干擾性強(qiáng),具有光波的直線傳播特性,不易產(chǎn)生相互間的干擾,是很好的信息傳輸媒體。信息可以直接對(duì)紅外光進(jìn)行調(diào)制傳輸,例如,信息直接調(diào)制紅外光的強(qiáng)弱進(jìn)行傳輸,也可以用紅外線產(chǎn)生一

10、定頻率的載波,再用信息對(duì)載波進(jìn)調(diào)制,接收端再去掉載波,取到信息。從信息的可靠傳輸說(shuō),后一種方法更好,這就是我們今天看到的大多數(shù)紅外遙控所采用的方法。由于紅外線的波長(zhǎng)遠(yuǎn)小于無(wú)線電波的波長(zhǎng),因此在采用紅外遙控方式時(shí),不會(huì)干擾其他電器的正常工作,也不會(huì)影響臨近的無(wú)線電設(shè)備。</p><p>  紅外遙控的發(fā)射電路是采用紅外發(fā)光二極管來(lái)發(fā)出經(jīng)過(guò)調(diào)制的紅外光波;紅外接收電路由紅外接收二極管、三極管或硅光電池組成,它們將紅外

11、發(fā)射器發(fā)射的紅外光轉(zhuǎn)換為相應(yīng)的電信號(hào),再送后置放大器。</p><p><b>  發(fā)射器</b></p><p>  發(fā)射器一般由指令鍵(或操作桿)、指令編碼系統(tǒng)、調(diào)制電路、驅(qū)動(dòng)電路、發(fā)射電路等幾部分組成。當(dāng)按下指令鍵或推動(dòng)操作桿時(shí),指令編碼電路產(chǎn)生所需的指令編碼信號(hào),指令編碼信號(hào)對(duì)載波進(jìn)行調(diào)制,再由驅(qū)動(dòng)電路進(jìn)行功率放大后由發(fā)射電路向外發(fā)射經(jīng)調(diào)制定的指令編碼信號(hào)。&

12、lt;/p><p><b>  接收器</b></p><p>  接收器一般由接收電路、放大電路、調(diào)制電路、指令譯碼電路、驅(qū)動(dòng)電路、執(zhí)行電路(機(jī)構(gòu))等幾部分組成。接收電路將發(fā)射器發(fā)出的已調(diào)制的編碼指令信號(hào)接收下來(lái),并進(jìn)行放大后送解調(diào)電路,解調(diào)電路將已調(diào)制的指令編碼信號(hào)解調(diào)出來(lái),即還原為編碼信號(hào)。指令譯碼器將編碼指令信號(hào)進(jìn)行譯碼,最后由驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)執(zhí)行電路實(shí)現(xiàn)各種指令的

13、操作控制(機(jī)構(gòu))。</p><p><b>  1.2單片機(jī)</b></p><p>  單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫(xiě)MCU表示單片機(jī),它最早是被用在工業(yè)控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅有CPU的專(zhuān)用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念是通過(guò)將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小

14、,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。</p><p>  以單片機(jī)為核心的控制系統(tǒng),因?yàn)槠鋵?shí)時(shí)控制功能強(qiáng),可靠性高,實(shí)用性強(qiáng),應(yīng)用范圍廣等優(yōu)點(diǎn),得到了極為廣泛的應(yīng)用。隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,其中紅外遙控就是一個(gè)典型的例子,但人們對(duì)它的要求越來(lái)越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從單片機(jī)技術(shù)入手,一切

15、向著數(shù)字化控制,智能化控制方向發(fā)展。因此了解單片機(jī)知識(shí),掌握單片機(jī)的應(yīng)用技術(shù)具有重大的意義。它的理論性和實(shí)踐性都很強(qiáng),我們?cè)诶碚撜n學(xué)習(xí)中主要學(xué)習(xí)單片機(jī)的基本構(gòu)造,各部分的工作原理以及指令系統(tǒng),然而,光是理論的學(xué)習(xí)是遠(yuǎn)遠(yuǎn)不夠的,最重要的是把理論和實(shí)踐相結(jié)合。</p><p>  所以此次實(shí)習(xí),通過(guò)設(shè)計(jì)一個(gè)基于AT89S52單片機(jī)的遙控器設(shè)計(jì),以增進(jìn)對(duì)單片機(jī)電路的感性認(rèn)識(shí),加深對(duì)理論方面的理解和鞏固,了解和掌握軟硬件

16、設(shè)計(jì)過(guò)程、方法及實(shí)現(xiàn),增強(qiáng)自己的動(dòng)手和實(shí)踐能力,為以后在工作和學(xué)習(xí)中,設(shè)計(jì)和實(shí)現(xiàn)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。</p><p><b>  2 總體設(shè)計(jì)方案</b></p><p>  根據(jù)任務(wù)書(shū)的要求,利用單片機(jī)設(shè)計(jì)一個(gè)遙控開(kāi)關(guān),可以擬定以下二種方案。</p><p>  方案一:簡(jiǎn)易紅外遙控電路</p><p>  在不需要

17、多電路的應(yīng)用場(chǎng)合,可以使用由常規(guī)集成電路組成的單通道紅外遙控電路。這種遙控電路不需要使用昂貴的專(zhuān)用編譯碼器,因此成本低。</p><p><b>  方案結(jié)構(gòu)圖:</b></p><p><b>  紅外發(fā)射部分</b></p><p>  考慮到本方案電路時(shí)簡(jiǎn)單的單通道遙控器,可以直接產(chǎn)生一個(gè)控制功能的震蕩電路頻率,再通

18、過(guò)紅外發(fā)光二極管發(fā)射出去。</p><p><b>  紅外接收部分</b></p><p>  方案二:利用紅外遙控開(kāi)關(guān)電路</p><p>  紅外發(fā)射/接收控制電路均采用單片機(jī)來(lái)實(shí)現(xiàn),輸出控制方式可選擇,實(shí)用性更強(qiáng)。</p><p><b>  方案結(jié)構(gòu)圖:</b></p>&l

19、t;p><b>  紅外發(fā)射部分</b></p><p>  當(dāng)按下遙控按鈕時(shí),單片機(jī)產(chǎn)生相應(yīng)的控制脈沖,由紅外發(fā)光二極管發(fā)射出去。</p><p><b>  紅外接收部分:</b></p><p>  當(dāng)紅外接收器收到控制脈沖后,由控制方式選擇開(kāi)關(guān)選擇是“互鎖”還是但電路控制,再由單片機(jī)處理,對(duì)相應(yīng)的受控電器產(chǎn)生

20、控制。</p><p>  3 AT89S52單片機(jī)</p><p>  3.1 AT89S52單片機(jī)</p><p>  本次設(shè)計(jì)所使用的單片機(jī)是Atmel公司的AT89S52芯片,AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完

21、全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0

22、Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p>  AT89S52的引腳圖如3-1所示:</p><p>  圖3-1 AT89S52引腳圖</p><p>  AT89S52

23、單片機(jī)引腳注釋?zhuān)?lt;/p><p><b>  VCC : 電源</b></p><p><b>  GND: 地</b></p><p>  P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8

24、位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。</p><p>  P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,

25、將輸出電流(IIL)。</p><p>  P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR)時(shí),P2 口送出高八位地址。在這

26、種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。</p><p>  P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí)

27、,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。</p><p>  RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T(mén)狗計(jì)時(shí)完成后,RST 腳輸出96 個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO

28、默認(rèn)狀態(tài)下,復(fù)位高電平有效。</p><p>  ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。</p><p>  在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)

29、將地址為8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。</p><p>  PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng) AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩

30、次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。</p><p>  XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。</p><p>  XTAL2:振蕩器反相放大器的輸出

31、端。</p><p><b>  3.2系統(tǒng)復(fù)位</b></p><p>  通過(guò)某種方式,使單片機(jī)內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱(chēng)為復(fù)位。51單片機(jī)在時(shí)鐘電路工作以后,在RST/VPD端持續(xù)給出2個(gè)機(jī)器周期的高電平就可以完成復(fù)位操作(一般復(fù)位正脈沖寬度大于10 ms)。 復(fù)位分為上電復(fù)位和外部按鍵復(fù)位兩種方式。</p><p>  51單片

32、機(jī)復(fù)位后,程序計(jì)數(shù)器PC和特殊功能寄存器復(fù)位的狀態(tài)如表2-1所示。復(fù)位不影響片內(nèi)RAM存放的內(nèi)容,而ALE在復(fù)位期間將輸出高電平。</p><p>  由表3-2可以看出:</p><p>  (1)(PC)=0000H 表示復(fù)位后程序的入口地址為0000H; </p><p>  (2)(PSW)=00H,其中RS1(PSW.4)=0, RS0(PSW.3)=0,

33、 表示復(fù)位后單片機(jī)選擇工作寄存器0組;</p><p>  (3)(SP)=07H 表示復(fù)位后堆棧在片內(nèi)RAM的08H單元處建立; </p><p>  (4)P0口~P3口鎖存器為全1狀態(tài),,說(shuō)明復(fù)位后這些并行接口可以直接作輸入口, 無(wú)須向端口寫(xiě)1。</p><p><b>  表 3-2</b></p><p>&l

34、t;b>  3.3時(shí)鐘電路</b></p><p>  單片機(jī)的時(shí)鐘電路由振蕩電路和分頻電路組成,其振蕩電路由反相器以及并聯(lián)外接的石英晶體和電容組成,用于產(chǎn)生振蕩脈沖。分頻電路用于把振蕩脈沖分頻,以的到所需要的時(shí)鐘信號(hào)。</p><p>  振蕩電路如圖3-3所示:</p><p>  圖 3-3 振蕩電路</p><p>

35、  其輸入端為引腳XTAL1,輸出端為引腳XTAL2。通過(guò)這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容,石英晶體為一感性原件,與電容構(gòu)成振蕩回路,為片內(nèi)放大器提供正反饋和振蕩的相移條件,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。振蕩器的頻率主要取決于晶體的振蕩頻率, 一般晶體可在1.2~12 MHz之間任選, 電容C1、 C2可在5~30 pF之間選擇, 電容的大小對(duì)振蕩頻率有微小的影響, 可起頻率微調(diào)作用。 </p><p&

36、gt;  振蕩脈沖經(jīng)二分頻后作為系統(tǒng)的時(shí)鐘信號(hào),時(shí)鐘信號(hào)經(jīng)過(guò)三分頻產(chǎn)生ALE信號(hào),</p><p>  ALE信號(hào)用于控制把P0口的低8位地址送入鎖存器鎖起來(lái),以實(shí)現(xiàn)低地址和數(shù)據(jù)的分時(shí)傳送,ALE還可作為外部時(shí)鐘或外部脈沖使用。時(shí)鐘信號(hào)經(jīng)六分頻得到機(jī)器周期信號(hào)。</p><p><b>  3.4中斷系統(tǒng)</b></p><p><b&g

37、t;  A 中斷的概念</b></p><p>  當(dāng)CPU與外設(shè)交換信息時(shí),由于外設(shè)的速度比較慢,若用查詢(xún)的方式,則CPU就要浪費(fèi)很多時(shí)間去等待外設(shè)。這樣就存在一個(gè)快速的CPU與慢速的外設(shè)之間的矛盾。為了解決這個(gè)問(wèn)題,就發(fā)展了中斷的概念。</p><p>  CPU正在處理某一程序時(shí),發(fā)生了另一突發(fā)事件請(qǐng)求CPU迅速去處理(中斷發(fā)生);CPU暫時(shí)停止當(dāng)前的工作,轉(zhuǎn)到需要處理的

38、中斷源的服務(wù)程序的入口(中斷響應(yīng)),一般在入口處執(zhí)行一跳轉(zhuǎn)指令轉(zhuǎn)去處理中斷事件(中斷服務(wù));待CPU將中斷事件處理完畢后,再回到原來(lái)程序被中斷的地方繼續(xù)處理執(zhí)行程序(中斷返回),這一處理過(guò)程稱(chēng)為中斷。</p><p>  51單片機(jī)的中斷系統(tǒng)提供5個(gè)中斷源:外部中斷0和外部中斷1,定時(shí)/計(jì)數(shù)器(T0)和(T1)的溢出中斷,串行接口的接收和發(fā)送中斷。本程序中只用到了外部中斷1。</p><p&g

39、t;<b>  B 中斷控制</b></p><p>  1 中斷允許寄存器IE(A8H)</p><p>  CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器(IE)控制的。IE各位的定義如表3-4所示:</p><p><b>  表 3-4</b></p><p>  E

40、A——中斷允許總控制位</p><p>  EA=0 中斷總禁止,禁止所有中斷</p><p>  EA=1 中斷總允許,總允許后中斷的禁止或允許由各中斷源的中斷允許控制位設(shè)置。</p><p>  EX0和EX1——外部中斷允許控制位</p><p>  EX0(EX1)=0 禁止外部

41、中斷</p><p>  EX0(EX1)=1 允許外部中斷</p><p>  ET0和ET1——定時(shí)器/計(jì)數(shù)器中斷允許控制位</p><p>  ET0(ET1)=0 禁止定時(shí)器/計(jì)數(shù)器中斷</p><p>  ET0(ET1)=1 允許定時(shí)器/計(jì)數(shù)器中斷</p><p>  ES——串行中

42、斷允許控制位</p><p>  ES=0 禁止串行中斷</p><p>  ES=1 允許串行中斷</p><p>  2中斷優(yōu)先級(jí)控制寄存器(IP)</p><p>  各中斷的優(yōu)先級(jí)通過(guò)中斷優(yōu)先級(jí)控制寄存器IP來(lái)設(shè)定,其未定義及位地址如表3-5所示: &l

43、t;/p><p><b>  表3-5</b></p><p>  PX0——外部中斷0優(yōu)先級(jí)設(shè)定位;</p><p>  PT0——定時(shí)中斷0優(yōu)先級(jí)設(shè)定位;</p><p>  PX1——外部中斷1優(yōu)先級(jí)設(shè)定位;</p><p>  PT1——定時(shí)中斷1優(yōu)先級(jí)設(shè)定位; </p><

44、;p>  PS——串行中斷優(yōu)先級(jí)設(shè)定位。</p><p>  3定時(shí)器控制寄存器(TCON)</p><p>  該寄存器用于保存外部中斷請(qǐng)求以及定時(shí)器的計(jì)數(shù)溢出。進(jìn)行字節(jié)操作時(shí),寄存器地址為88H。按位操作時(shí),各位的地址為88H~8FH。寄存器的內(nèi)容及位地址表示如表3-6所示:</p><p><b>  表3-6</b></p&

45、gt;<p>  IE0和IE1——外中斷請(qǐng)求標(biāo)志位。當(dāng)CPU采樣到 INT0(或INT1)端出現(xiàn)有效中斷請(qǐng)求時(shí),IE0(IE1)位由硬件置“1”。 當(dāng)中斷響應(yīng)完成轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件把IE0(或IE1)清零。</p><p>  TR0 和TR1——定時(shí)器運(yùn)行控制位:</p><p>  TR0 (TR1 )=0 定時(shí)器/計(jì)數(shù)器不工作</p>&l

46、t;p>  TR0 (TR1 )=1 定時(shí)器/計(jì)數(shù)器開(kāi)始工作</p><p>  TF0和TF1——計(jì)數(shù)溢出標(biāo)志位。當(dāng)計(jì)數(shù)器產(chǎn)生計(jì)數(shù)溢出時(shí),相應(yīng)的溢出標(biāo)位</p><p>  硬件置“1”。 并自動(dòng)產(chǎn)生定時(shí)中斷請(qǐng)求。</p><p><b>  4 電路框圖設(shè)計(jì)</b></p><p>  4.1遙控發(fā)射單元

47、的電路圖設(shè)計(jì)</p><p>  遙控發(fā)射單元由單片機(jī)最小系統(tǒng)和按鍵電路、紅外發(fā)射器電路等組成,遙控發(fā)射單元框圖如圖3-1所示。</p><p>  圖4-1 紅外遙控單元發(fā)射框圖 </p><p>  發(fā)射端采用具有在線下載功能的AT89S52芯片作為控制中心,與鍵盤(pán)掃描電路和發(fā)射電路共同構(gòu)成??紤]到按鍵較多,可采用矩陣式,這里采用4 ×4的發(fā)射端利用單

48、片機(jī)將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制為一系列的脈沖串信號(hào),通過(guò)P1. 0口發(fā)出,經(jīng)三極管9013功率放大驅(qū)動(dòng)紅外發(fā)射管LED1 。</p><p>  圖4-2為該遙控系統(tǒng)的發(fā)射原理圖,其中P1口作為鍵盤(pán)掃描口,具有16個(gè)功能操作鍵,第9腳為單片機(jī)復(fù)位腳,采用復(fù)位電路如圖所示,15腳作為紅外遙控碼的輸出口,用于38MHZ載波編碼,18 19腳12MHZ晶振。</p><p>  圖4-2遙控發(fā)

49、射單元原理圖</p><p>  圖4-3 遙控發(fā)射單元PCB圖</p><p>  4.2遙控接收單元的電路圖設(shè)計(jì)</p><p>  遙控接收單元由單片機(jī)最小系統(tǒng)和紅外接收器、控制對(duì)象電路等組成,遙控接收單元框圖如圖4-4所示。</p><p>  圖4-4紅外遙控接收單元框圖</p><p>  接收控制器由一個(gè)

50、AT89S52芯片作為控制中心,與接收電路和各自的控制電路共同構(gòu)成。其中接收電路使用一體化紅外接收頭HS0038, HS0038工作頻率為38 kHz,能對(duì)收到遙控信號(hào)進(jìn)行放大、檢波、整形、解調(diào),得到TTL 電平的編碼信號(hào),再送給單片機(jī),經(jīng)單片機(jī)解碼并執(zhí)行相關(guān)控制程序,對(duì)外只有3 個(gè)引腳:VS、GND和1個(gè)脈沖信號(hào)輸出引腳,使用方便,性能可靠。</p><p>  圖4-5為該遙控器的接收器原理圖,其中P0口作為

51、數(shù)碼管的二進(jìn)制數(shù)據(jù)輸出,顯示按鍵號(hào),第9腳為單片機(jī)復(fù)位腳,采用復(fù)位電路如圖所示,18 19腳為12MHZ晶振。</p><p>  圖4-5遙控接收單元原理圖</p><p>  圖4-6遙控接收單元PCB圖</p><p>  5紅外遙控程序流程圖</p><p>  程序開(kāi)始是對(duì)單片機(jī)進(jìn)行初始化設(shè)置,循環(huán)掃描判斷是否有鍵按下,如果有鍵按下

52、就發(fā)射相應(yīng)的紅外信號(hào),遙控發(fā)射程序流程圖如圖4-5所示。</p><p>  圖5-1 遙控發(fā)射程序流程圖</p><p>  程序開(kāi)始是對(duì)單片機(jī)進(jìn)行初始化設(shè)置,使用顯示程序,循環(huán)掃描判斷信號(hào)是否有效,如果有效就接收,接收后調(diào)用相應(yīng)功能程序,遙控接收程序流程圖如圖4-6所示。</p><p>  圖5-2遙控發(fā)射程序流程圖</p><p>&

53、lt;b>  6 軟件設(shè)計(jì)</b></p><p>  6.1:紅外遙控發(fā)射端軟件設(shè)計(jì)</p><p>  /****************************************************************</p><p>  * 文件名 : 紅外遙控發(fā)射端2 </p><p>  **

54、**************************************************************/</p><p>  #include<reg51.h></p><p>  #include<intrins.h></p><p>  #define uint unsigned int</p><

55、;p>  #define uchar unsigned char</p><p>  uchar count = 0;</p><p>  /****************************************************************</p><p>  * 名稱(chēng) : delay_1ms()</p><p

56、>  * 功能 : 延時(shí)子程序,延時(shí)時(shí)間為 1ms * x</p><p>  * 輸入 : x (延時(shí)一毫秒的個(gè)數(shù))</p><p>  ****************************************************************/</p><p>  void delay_1ms(uint i)</p>&

57、lt;p><b>  {</b></p><p>  uchar x,j;</p><p>  for(j=0;j<i;j++)</p><p>  for(x=0;x<=148;x++);</p><p><b>  }</b></p><p>  /*

58、**************************************************************</p><p>  * 名稱(chēng) : time0_init()</p><p>  * 功能 : 定時(shí)器的初始化,定時(shí)10ms</p><p>  *************************************************

59、***************/</p><p>  void time0_init()</p><p><b>  {</b></p><p>  TMOD = 0x01;</p><p>  IE = 0x82;</p><p>  TH0 = 0x15;</p><

60、p>  TL0 = 0xA0;</p><p><b>  }</b></p><p>  /****************************************************************</p><p>  * 名稱(chēng) : time0_int()</p><p>  * 功能

61、 : 定時(shí)器中斷</p><p>  ****************************************************************/</p><p>  void time0_int() interrupt 1</p><p><b>  {</b></p><p><b>

62、  count++;</b></p><p>  TH0 = 0x15;</p><p>  TL0 = 0xA0;</p><p><b>  }</b></p><p>  /****************************************************************&

63、lt;/p><p>  * 名稱(chēng) : keyscan()</p><p>  * 功能 : 實(shí)現(xiàn)按鍵的讀取</p><p>  ****************************************************************/</p><p>  uchar keyscan(void)</p><

64、;p><b>  {</b></p><p>  uchar i,j, temp, buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};</p><p>  for(j=0; j<4; j++)</p><p><b>  {</b></p><p>  P1 =

65、buffer[j];</p><p>  /*以下三個(gè)_nop_();作用為讓 P1 口的狀態(tài)穩(wěn)定*/</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p&

66、gt;<p>  temp = 0x01; </p><p>  for(i

67、=0; i<4; i++)</p><p><b>  {</b></p><p>  if(!(P1 & temp)) </p><p><b>  {</b></p><p>  return (i+j*4); //返回取得的按鍵值</p><p>&

68、lt;b>  }</b></p><p>  temp <<= 1;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  /*****

69、***********************************************************</p><p>  * 名稱(chēng) : main()</p><p>  * 功能 : 主函數(shù)</p><p>  ****************************************************************/<

70、/p><p>  void main(void)</p><p><b>  {</b></p><p>  uchar key_value; //讀出的鍵值</p><p><b>  while(1)</b></p><p><b>  {</b>

71、</p><p>  P1 = 0xf0;</p><p>  if(P1 != 0xf0)</p><p><b>  {</b></p><p>  delay_1ms(15);//按鍵消抖</p><p>  if(P1 != 0xf0)</p><p><

72、;b>  {</b></p><p>  key_value = keyscan() + 1;//key_value是鍵碼加 1</p><p><b>  }</b></p><p>  time0_init();</p><p><b>  TR0 = 1;</b><

73、/p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  for(;count < 10;) //發(fā)射首部</p><p>  P2 =

74、0x00;</p><p>  count = 0;</p><p>  for(;count < 10;)</p><p>  P2 = 0xff;</p><p>  count = 0;</p><p>  for(i = 0; i < key_value; i++) //發(fā)射數(shù)據(jù)</p

75、><p><b>  {</b></p><p>  for(;count < 5;)</p><p>  P2 = 0x00;</p><p>  count = 0;</p><p>  for(;count < 5;)</p><p>  P2 =

76、 0xff;</p><p>  count = 0;</p><p><b>  }</b></p><p><b>  TR0 = 0;</b></p><p><b>  break;</b></p><p><b>  }</b&

77、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  6.2:紅外遙控接收端軟件設(shè)計(jì)</p><p>  /**************************

78、**************************************</p><p>  * 文件名 : 紅外遙控接收端2</p><p>  ****************************************************************/</p><p>  #include<reg52.h></p&g

79、t;<p>  #include<intrins.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  uchar count = 0;//定時(shí)器計(jì)時(shí)</p><p>  uchar time

80、 = 0;//脈沖計(jì)時(shí)</p><p>  uchar num = 0; //鍵碼值</p><p>  uchar receiv = 0; //為0時(shí)不是接收狀態(tài),為1時(shí)為正在接收數(shù)據(jù)狀態(tài)</p><p>  void receive();</p><p>  /*********************

81、*******************************************</p><p>  * 名稱(chēng) : delay()</p><p>  * 功能 : 延時(shí),延時(shí)時(shí)間為</p><p>  ****************************************************************/</p>&l

82、t;p>  void delay(uint k)</p><p><b>  {</b></p><p><b>  uint i,j;</b></p><p>  for(i=0; i<k; i++)</p><p>  for(j=0; j<1800; j++) </

83、p><p><b>  ;</b></p><p><b>  }</b></p><p>  /****************************************************************</p><p>  * 外部中斷0初始化 inter0_init()<

84、/p><p>  ****************************************************************/</p><p>  void inter0_init()</p><p><b>  {</b></p><p><b>  EA = 1;</b><

85、;/p><p><b>  PX0 = 0;</b></p><p>  IT0 = 1; //下降沿觸發(fā)</p><p><b>  }</b></p><p>  /***********************************************************

86、*****</p><p>  * 外部中斷0 inter0_int()</p><p>  ****************************************************************/</p><p>  void inter0_int() interrupt 0</p><p><b> 

87、 {</b></p><p><b>  TR0 = 1;</b></p><p>  while(P3^1 == 0);</p><p><b>  TR0 = 0;</b></p><p>  time = 5 * count;</p><p>  if(ti

88、me > 450 && time < 750)</p><p><b>  {</b></p><p>  receiv = 1; //等于1開(kāi)始接收數(shù)據(jù)</p><p><b>  EX0 = 0;</b></p><p>

89、<b>  num = 0;</b></p><p><b>  }</b></p><p>  count = 0;</p><p><b>  }</b></p><p>  /***********************************************

90、*****************</p><p><b>  * 定時(shí)器0初始化</b></p><p>  ****************************************************************/</p><p>  void time0_init()</p><p><

91、;b>  {</b></p><p><b>  EA = 1;</b></p><p><b>  ET0 = 1;</b></p><p><b>  PT0 = 1;</b></p><p>  TH0 = 0xEC;</p><p&

92、gt;  TL0 = 0x78;</p><p><b>  }</b></p><p>  void time0_int() interrupt 1</p><p><b>  {</b></p><p>  TH0 = 0xEC;</p><p>  TL0 = 0x78

93、; </p><p><b>  count++;</b></p><p><b>  }</b></p><p>  /****************************************************************</p><p><b>  * 鍵碼

94、接收</b></p><p>  ****************************************************************/</p><p>  void receive()</p><p><b>  { </b></p><p><b>  TR0 =

95、1;</b></p><p>  while(P3^1 == 0); //計(jì)時(shí)高電平的時(shí)</p><p><b>  TR0 = 0;</b></p><p>  time = 5 * count;</p><p>  if(time > 180 && time < 4

96、20)</p><p><b>  {</b></p><p><b>  num++;</b></p><p>  count = 0;</p><p><b>  }</b></p><p><b>  else</b><

97、;/p><p><b>  {</b></p><p>  receiv = 0;</p><p><b>  EX0 = 1;</b></p><p><b>  }</b></p><p>  time = 0; </

98、p><p><b>  }</b></p><p>  /****************************************************************</p><p>  * 名稱(chēng) : main()</p><p>  ***********************************

99、*****************************/</p><p>  void main()</p><p><b>  {</b></p><p><b>  EX0 = 1;</b></p><p><b>  while(1)</b></p>&

100、lt;p><b>  {</b></p><p>  time0_init();</p><p>  inter0_init();</p><p>  while(receiv)</p><p><b>  {</b></p><p>  receive();</

101、p><p><b>  }</b></p><p><b>  P0 = num;</b></p><p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  }<

102、;/b></p><p><b>  結(jié)束語(yǔ)</b></p><p>  這是一個(gè)磨練意志的過(guò)程。從課題的選擇開(kāi)始,到硬件和軟件系統(tǒng)的設(shè)計(jì),這其中經(jīng)歷了很多困難,但是更重要的是在這個(gè)過(guò)程中我得到了很大的鍛煉。一方面通過(guò)S52單片機(jī)等一些器件的設(shè)計(jì)讓我學(xué)習(xí)和掌握了單片機(jī)技術(shù)的基礎(chǔ)知識(shí)和技術(shù)要點(diǎn),也使以前學(xué)的很多知識(shí)都得到了運(yùn)用;另一方面在用Protel 99 SE

103、軟件畫(huà)電路圖,這個(gè)過(guò)程中讓我掌握了計(jì)算機(jī)輔助的設(shè)計(jì)技術(shù)。當(dāng)然,這是一個(gè)需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個(gè)合理的設(shè)計(jì)的過(guò)程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我受益匪淺,更加明確了自己專(zhuān)業(yè)的方向。這次時(shí)間是短暫的,但這我想我們學(xué)到的應(yīng)該不僅僅是專(zhuān)業(yè)技術(shù)等表面上的東西,更深一層的是對(duì)人生的感悟,對(duì)未來(lái)的想法,年輕人的桀驁不馴在此時(shí)已經(jīng)不在有意義,取而代之的是理性的思維。我們應(yīng)該具備什么樣的能力,我們

104、適合什么樣的人生,我們應(yīng)該在怎樣的崗位上實(shí)現(xiàn)自己的人生價(jià)值。</p><p>  實(shí)習(xí)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)、發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程,通過(guò)課程設(shè)計(jì)我們能夠比較系統(tǒng)的了解理論知識(shí),把理論和實(shí)踐相結(jié)合,并且用到生活當(dāng)中。在做設(shè)計(jì)的過(guò)程中總會(huì)出現(xiàn)各種問(wèn)題,在這種情況下我們都會(huì)努力尋求最佳路徑解決問(wèn)題,無(wú)形間提高了我們的動(dòng)手,動(dòng)腦能力,并且同學(xué)

105、之間還能相互探討問(wèn)題,研究解決方案,增進(jìn)大家的團(tuán)隊(duì)意識(shí)。</p><p>  實(shí)習(xí)是短暫的,影響卻是長(zhǎng)遠(yuǎn)的。通過(guò)實(shí)習(xí)讓我體會(huì)了團(tuán)隊(duì)合作的益處,在團(tuán)隊(duì)中一起發(fā)現(xiàn)問(wèn)題、討論問(wèn)題,共同進(jìn)步、共同提高。硬件實(shí)習(xí)主要是我們理論知識(shí)的延伸,它的目的主要是要在設(shè)計(jì)中發(fā)現(xiàn)問(wèn)題,并且自己要能找到解決問(wèn)題的方案,形成一種獨(dú)立的意識(shí)。我們還能從設(shè)計(jì)中檢驗(yàn)我們所學(xué)的理論知識(shí)到底有多少,鞏固我們已經(jīng)學(xué)會(huì)的,不斷學(xué)習(xí)我們所遺漏的新知識(shí),把所

106、學(xué)的知識(shí)學(xué)的更加扎實(shí)。</p><p>  在本文的撰寫(xiě)過(guò)程中,導(dǎo)師XX給予了悉心的指導(dǎo)和關(guān)心,使我克服了眾多困難終于完成了畢業(yè)設(shè)計(jì)的撰寫(xiě)工作。導(dǎo)師淵博的知識(shí)、嚴(yán)謹(jǐn)求實(shí)的治學(xué)態(tài)度及敬業(yè)精神,給我留下了深刻的印象,并將在我今后的人生道路上產(chǎn)生深遠(yuǎn)的影響,在此論文完成之際,謹(jǐn)向?qū)熤乱猿绺叩木匆夂椭孕牡母兄x!</p><p>  再一次感謝所有關(guān)心我、幫助我的人!</p><

107、;p><b>  參考文獻(xiàn)</b></p><p>  【1】 李廣弟,朱月秀,冷祖祁編著。單片機(jī)基礎(chǔ)(第3版)。北京航空航天大學(xué)出版社。2007年1月。</p><p>  【2】 杜剛主編,王啟寧、戎華洪、張東霞等編著。電路設(shè)計(jì)與制板——Protel應(yīng)用教程,清華大學(xué)出版社,2009年6月。</p><p>  【3】 于京,張景

108、璐編著。51系列單片機(jī)C程序設(shè)計(jì)及應(yīng)用案。中國(guó)電力出版社,2006年3月。</p><p>  【4】 何立民。MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)。北京行天航空工業(yè)大學(xué)出版社,1990:143-160。</p><p>  【5】 李華。MCS-51系列單片機(jī)實(shí)用接口計(jì)數(shù)。北京行天航空工業(yè)大學(xué)出版社,1993:148-158。</p><p>  【6】 張毅剛、彭

109、喜源、曲春波編著。MCS-51單片機(jī)應(yīng)用設(shè)計(jì)。哈爾濱工業(yè)大學(xué)出版社,1994:88-122。</p><p>  【7】 李廣弟等編著。 單片機(jī)基礎(chǔ){修訂本} 。 北京航空航天大學(xué)出版社, 2001:55-82。</p><p>  【8】 張凱,馬忠梅編著。MCS-51單片機(jī)綜合系統(tǒng)及設(shè)計(jì)開(kāi)發(fā)??茖W(xué)出版社,1999。</p><p>  【9】 ATMEL公司AT

110、89S52的技術(shù)手冊(cè)。</p><p><b>  答辯稿</b></p><p>  我的畢業(yè)設(shè)計(jì)是基于AT89S52單片機(jī)的遙控器設(shè)計(jì),通過(guò)對(duì)設(shè)計(jì)要求的認(rèn)真分析和研究,我決定采用先進(jìn)的單片機(jī)技術(shù)實(shí)現(xiàn)遙控,采用模塊話設(shè)計(jì),主要分為兩個(gè)模塊:紅外發(fā)射模塊和紅外接收模塊。</p><p>  本次設(shè)計(jì)所使用的單片機(jī)是Atmel公司的AT89S52

111、芯片,AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。</p><p>  紅外發(fā)射模塊中的單片機(jī)受開(kāi)關(guān)控制,通過(guò)紅外發(fā)射管對(duì)另一個(gè)單片機(jī)發(fā)射信號(hào),發(fā)射端采用具有在線下載功能的AT89S52芯片作為控制中心,與鍵盤(pán)

112、掃描電路和發(fā)射電路共同構(gòu)成??紤]到按鍵較多,可采用矩陣式,這里采用4 ×4的發(fā)射端利用單片機(jī)將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制為一系列的脈沖串信號(hào),通過(guò)P1. 0口發(fā)出,經(jīng)三極管9013功率放大驅(qū)動(dòng)紅外發(fā)射管LED1 。</p><p>  紅外接收模塊中的單片機(jī)受紅外接收管接收的信號(hào)控制。接收控制器由一個(gè)AT89S52芯片作為控制中心,與接收電路和各自的控制電路共同構(gòu)成。其中接收電路使用一體化紅外接收頭HS

113、0038, HS0038工作頻率為38 kHz,能對(duì)收到遙控信號(hào)進(jìn)行放大、檢波、整形、解調(diào),得到TTL 電平的編碼信號(hào),再送給單片機(jī),經(jīng)單片機(jī)解碼并執(zhí)行相關(guān)控制程序,對(duì)外只有3 個(gè)引腳:VS、GND和1個(gè)脈沖信號(hào)輸出引腳,使用方便,性能可靠。</p><p>  程序設(shè)計(jì)的設(shè)計(jì)構(gòu)想分為2個(gè)部分 1.紅外發(fā)射端程序設(shè)計(jì):程序開(kāi)始是對(duì)單片機(jī)進(jìn)行初始化設(shè)置,循環(huán)掃描判斷是否有鍵按下,如果有鍵按下就發(fā)射相應(yīng)的紅外信號(hào)。2

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論