版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于單片機的紅外線遙控器設計 院 系:機電與自動化學院 專 業(yè) 班:自動化1003班 姓 名: 李 斌 學 號: 20101184120 指導老師: 吳 蕾2014年5月 基于單片機的紅外線遙控器設計Design of Infrared Remote Control Based on the Single Chip Microcomputer 摘 要 單片機被廣泛應用于促進設備和產(chǎn)品的微型化,數(shù)字化,自控化和智能化。計算機在自動化控制技術方面的深化得益于單片機的應用,因此一場基于傳統(tǒng)控制技術的變革在自動控制領域里引發(fā)了,即傳統(tǒng)的設計方法和控制思想的本質正在被單片機逐漸地改變。現(xiàn)在我們可以通過軟
2、件的方法去完成控制功能,而這是過去必須要通過數(shù)字或模擬電路來實現(xiàn)的。尤其是家用電器給我們帶來了方便快捷的生活之后,紅外遙控這種計算機技術就被廣泛使用了。許多中斷技術都在紅外遙控中得到了運用。在計算機系統(tǒng)中,各種硬件設備可以產(chǎn)生中斷,將它用來請求服務或報告故障報警等。另外,處理器本身也可以產(chǎn)生中斷。電平方式和脈沖方式是外部中斷請求的兩種信號不同方式。電平方式在進行中斷請求時低電平有效,脈沖方式則是在脈沖下降沿的時候才有效。在圖書館查閱相關資料之后,我設計了一些方案,最后選定了一個最佳方案:即運用單片機技術實現(xiàn)遙控和采用模塊化設計。它包括紅外發(fā)射和紅外接收兩個模塊。開關控制紅外發(fā)射模塊中的單片機,
3、使紅外發(fā)射管對另一個單片機發(fā)射信號;而紅外接收管接收的信號控制紅外接收模塊中的單片機。此外,設計的電路圖也完成了紅外遙控的任務。最后通過仿真器輸入程序,手動中斷,中斷結束后程序從斷點處繼續(xù)執(zhí)行,實現(xiàn)了紅外遙控過程的硬件組成及其工作原理和軟件設計。關鍵詞:單片機 遙控器 紅外發(fā)射 紅外接收 Abstract Single-chip microcomputer is widely applied to promote the miniaturization of equipment and products, digital, automatic and intelligent. Deepenin
4、g of computer in automatic control technology thanks to MCU application, so a change based on traditional control technology in the field of automatic control led, namely the traditional design method and thought is the essence of SCM gradually changed. Now we can approach to achieving the control f
5、unction by the software, which is the past must be implemented through digital or analog circuit. Especially in household appliances brings us a convenient life, infrared remote control the computer technology is widely used. Many interrupt technology are used in the infrared remote control. In a co
6、mputer system, a variety of hardware equipment can generate interrupts, it is used to request services or report fault alarm, etc. In addition, the processor itself can also generate interrupts. Level mode and pulse mode is two kinds of signals of different way of external interrupt request.To inter
7、rupt request level way in low level effectively, pulse method is effective only when falling edge in pulse. After the library access to relevant data, I designed a few solutions, finally settled on a best solution: namely using single-chip microcomputer technology to realize remote control and adopt
8、s the modular design. It consists of infrared emission and receiving two modules. Switch control infrared emission module of the single chip microcomputer, infrared transmitting tube to another MCU emission signal; And infrared receiving tube receiving signal control infrared receiving module of the
9、 single chip microcomputer. In addition, the design of the circuit diagram is also completed the infrared remote control tasks. Finally through the simulator input program, manual interruption, from the breakpoint continue after the interrupt program, realized the infrared remote control process and
10、 its working principle of the hardware and the software design.Key words: MCU Remote-control unit Infrared emission Infrared receiver 目 錄摘要IAbstractII緒論1 1 紅外遙控21.1 紅外通信原理21.2 紅外發(fā)射3 1.3 紅外接收3 2 總體方案設計4 2.1 簡易紅外遙控電路4 2.2 紅外遙控開關電路4 3 單片機6 3.1 單片機系統(tǒng)6 3.2 AT89S52單片機7 3.3 系統(tǒng)復位10 3.4 晶振電路11 3.5 按鍵電路123.6
11、中斷系統(tǒng)133.6.1 中斷的概念133.6.2 中斷控制134 電路框圖設計154.1 遙控發(fā)射單元的電路圖設計154.2 遙控接收單元的電路圖設計155 系統(tǒng)設計165.1 硬件設計165.1.1 紅外遙控發(fā)射單元原理圖165.1.2 紅外遙控接收單元原理圖165.2 軟件設計175.2.1 紅外遙控發(fā)射流程圖175.2.2 紅外遙控接收流程圖185.2.3 紅外發(fā)射端程序195.2.4 紅外接收端程序22結論26 致謝27參考文獻28 IV緒 論目前,紅外遙控技術運用在很多電子設備和其它小型電器裝置上,在家用電器方面更是廣泛采用。同時也逐步在計算機系統(tǒng)中得到應用;工業(yè)設備方面,在一些特殊
12、環(huán)境下如粉塵、輻射、高壓、有毒氣體等,紅外遙控可以充分地隔離電氣干擾而且安全可靠。紅外發(fā)射設備是一種采用紅外發(fā)光二極管的通信和遙控的手段。運用最廣泛的是遙控發(fā)射器。因此,在彩電、錄像機之后,諸多價格低廉的小型化設備都用數(shù)字信號編碼和二次調制方式去完成。它的好處在于強化遙控功能,能控制多路信息,誤操作變少,增強抗干擾性,降低功率消耗。并且紅外線有較高的傳輸效率、較快的反應速度和穩(wěn)定安全的工作環(huán)境等,所以目前紅外遙控方式在無線遙控方式領域里獨占鰲頭。以紅外線作為載體來傳送控制信息的方式稱為紅外遙控。電子技術的飛速發(fā)展,帶來了單片機的問世,促進了以數(shù)字編碼方式的紅外遙控系統(tǒng)的快速發(fā)展。雖然采用專用的
13、遙控編碼及解碼集成電路的傳統(tǒng)遙控器容易實現(xiàn),可是其功能受到了一定的限制,只能應用在某一專用的電器產(chǎn)品上,大大限制了其應用范圍。然而在遙控系統(tǒng)的應用設計中引入單片機,其靈活多樣的編程和可以隨便設定操作碼個數(shù)等一系列優(yōu)勢。60年代初,雖然有些發(fā)達國家已經(jīng)開始了遙控技術產(chǎn)品的研究,但是當時電子技術條件受到了限制,只能讓遙控技術緩慢地發(fā)展。70年代末,遙控技術的快速發(fā)展得益于大規(guī)模集成電路和計算機技術的發(fā)展??偟膩碚f,遙控方式經(jīng)歷了從有線到無限的超聲波,從振動子到紅外線,再到使用總線的微機紅外遙控這樣幾個階段。雖然采用不同的方式,但重要的是都能將信號準確無誤地傳輸,達到預定的控制結果。電磁波傳輸信號在
14、以往的無線遙控裝置中是非常常見的,可是電磁波在傳輸過程中容易產(chǎn)生干擾信號,也容易受到干擾,所以超聲波和紅外線慢慢地取代了電磁波。由于超聲波傳感器的頻帶較窄,只能攜帶的少量信息,并且容易因干擾而引發(fā)誤動作。所以現(xiàn)在出現(xiàn)的紅外線多功能遙控器成為了主流。它采用的是一種光控方式,這種用紅外線遙控的方式慢慢取代了超聲波。課題中需要制作的遙控器要解決單片機原理和最小系統(tǒng)設計、鍵盤的掃描設計、紅外發(fā)射和接收器的工作原理等,還要編寫匯編語言進行調試運行。1 紅外遙控紅外線在頻譜上不在可見光的范圍之內,擁有光波的直線傳播特點,所以相互間的干擾是不易產(chǎn)生的,對外界的抗干擾性強,可以作為良好的信息傳輸媒體。調制紅外
15、光的強弱可以對信息直接進行傳輸,另外信息先對用紅外線產(chǎn)生的一定頻率的載波進行調制后,再讓接收端去掉載波就可以獲得信息。顯而可見,后一種方法對信號的完整安全來說更有優(yōu)勢。這一方法在現(xiàn)在市面上絕大多數(shù)的紅外遙控上就可以看到。采用紅外遙控方式不僅不會干擾到其他電器的正常使用,而且對附近的無線電設備也不會產(chǎn)生影響。這是因為紅外線有比無線電遠小的波長的原因。1.1 紅外通信原理 紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的媒體,即通信信道。發(fā)送端將基帶二進制數(shù)字信號調制為一系列的脈沖序列,并驅動紅外發(fā)射管發(fā)射紅外光信號。接收端先把接收到的光脈轉換成電信號,再通過放大、濾波解調電路進
16、行處理,最后將其還原為二進制數(shù)字信號后輸出。常用的有通過脈沖寬度來實現(xiàn)信號調制的脈寬調制(PWM)和通過脈沖串之間的時間間隔來實現(xiàn)信號調制的脈時調制(PPM)兩種方法。紅外通信接口實際上是一個專門就紅外信道而言的調制解調器。在脈寬調制的串行碼中,我們用0.5ms脈寬、0.5ms間隔和1ms 周期的組合來代表二進制“0”,用0.5ms脈寬、1ms間隔、2ms 周期的組合來代表二進制“1”。如圖1-1所示。其中為了提高發(fā)射效率,我們可以用“0”和“1”組成二進制碼進行二次調制以,而且可以降低電源功耗。最后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。圖1-1 遙控碼的“0”和“1”
17、1.2 紅外發(fā)射紅外發(fā)光二極管常被運用在紅外遙控發(fā)射電路中,發(fā)出經(jīng)過調制的紅外光波。紅外發(fā)射過程框圖如下:編碼電路發(fā)射電路驅動電路調制電路指令鍵圖1-2 紅外發(fā)射器框圖可以看出,紅外發(fā)射器一般包括指令鍵、編碼系統(tǒng)、調制電路、驅動電路和發(fā)射電路等幾個部分。指令編碼電路在指令鍵被按下或是操作桿被推動時會產(chǎn)生相應的指令編碼信號,然后指令編碼信號將調制的載波經(jīng)過驅動電路進行功率放大,最后得到的特定的指令編碼信號經(jīng)過發(fā)射電路后向外發(fā)射。1.3 紅外接收紅外接收電路一般包括紅外接收二極管、三極管或硅光電池。紅外發(fā)射器發(fā)射的紅外光經(jīng)過接收電路后會轉換為相應的電信號,再送入放大電路。紅外接收過程框圖如下:放
18、大電 路執(zhí) 行電 路驅 動電 路譯 碼電 路解 調電 路接 收電 路圖1-3 紅外接收器框圖可以看出,接收器通常包括接收電路、放大電路、解調電路、譯碼電路、驅動電路和執(zhí)行電路等幾部分。由紅外發(fā)射器調制的特定的編碼指令信號會被接收電路接收下來,經(jīng)過放大電路放大后送入解調電路。特定的指令編碼信號會在這里被解調出來還原為編碼信號。編碼信號會在譯碼電路得到譯碼。而各種指令的操作控制是由最終的信號被送入驅動電路和執(zhí)行電路來實現(xiàn)的。2 總體方案設計 根據(jù)任務書的要求,利用單片機設計一個遙控開關,可以擬定以下二種方案。2.1 簡易紅外遙控電路 常規(guī)的集成電路就可以實現(xiàn)單通道紅外遙控,所以沒用到多電路時可以考
19、。 而且成本低,沒必要使用高額的專用編譯碼器。方案框圖如下:紅外發(fā)射部分:紅外發(fā)射產(chǎn)生振蕩頻率圖2-1 紅外發(fā)射部分框圖(a) 此方案的電路是一個簡單的單通道遙控器。紅外發(fā)光二極管發(fā)射的是一個能實現(xiàn)控制功能的震蕩電路頻率。紅外接收部分:受控電器解調控制紅外接收圖2-2 紅外接收部分框圖(a)2.2 紅外遙控開關電路 用單片機來實現(xiàn)紅外發(fā)射和紅外接收的控制電路,其優(yōu)點是可選擇不同的輸出控制方式,適應能力更好。方案框圖如下: 紅外發(fā)射部分:紅外發(fā)射遙控按鈕單片機圖2-3 紅外發(fā)射部分框圖(b) 可見,單片機在遙控被按下時會產(chǎn)生相應的控制脈沖,再經(jīng)過紅外發(fā)光二極管向外發(fā)射。 紅外接收部分:單片機紅外
20、接收受控電路 控制方式選擇開關圖2-4 紅外接收部分框圖(b)控制方式選擇開關在紅外接收器收到控制脈沖后,會選擇是“互鎖”還是單電路控制。送入單片機處理后,受控電路會對電器產(chǎn)生控制相應。3 單片機 單片機全稱單片微型計算機(Single Chip Microcomputer),又稱MCU(Micro Controller Unit),是將計算機的部分微型化,使之集成在一塊芯片上的微機。最初的單片機芯片內僅有CPU的專用處理器。為了讓計算機系統(tǒng)變得更小、更加集成化,CPU和大量外圍設備都被集成在了一個芯片之中 。 單片機有較強的可靠性,可以實現(xiàn)實時控制功能,實用性廣,應用范圍較大,所以成了控制系
21、統(tǒng)的核心部件。隨著人們對生活質量的要求越來越高,單片機控制將逐步進入我們的日?;?,它所帶來的好處也是無法取代的。在這之中,有個典型的例子就是紅外遙控,但科技的發(fā)展越來越刺激人們的在各方面的需求。因此,對單片機技術的要求就逐漸顯露出來,單片機的數(shù)字化和智能化變得迫在眉睫,也是必然的發(fā)展趨勢。所以學習單片機的相關知識,了解掌握單片機的實際應用技術變得尤為重要。從單片機的基本結構,到各部分的工作原理以及各種編譯指令的運用,這些理論性的知識橫重要。同時,實踐也是必不可少的,理論與實踐的完美結合,才會把一切變得可能。3.1 單片機系統(tǒng)經(jīng)典的單片機系統(tǒng)主要包括單片機、晶振電路、復位電路、輸入控制電路、輸出
22、顯示電路以及外圍功能器件6個部分。如圖3-1所示:晶振復位電路單片機輸入控制顯示輸出外圍功能器件圖3-1 單片機系統(tǒng)的組成 單片機最小系統(tǒng)是單片機能夠正常運行的最基本電路系統(tǒng),如圖3-2所示。通過最小系統(tǒng)與外圍設備的鏈接可以實現(xiàn)不同的功能。圖3-2 單片機最小系統(tǒng)原理圖3.2 AT89S52單片機 此次課題是基于單片機的紅外線遙控器設計,設計中所要求的單片機是Atmel公司的AT89S52芯片。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flas
23、h允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直
24、到下一個中斷或硬件復位為止。 AT89S52的引腳圖如下所示:圖3-3 AT89S52的引腳圖 AT89S52單片機引腳注釋: VCC:接電源端。 GND:接地端。 P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內部上拉電阻。在 flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4
25、個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。 P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發(fā)送1。在使用8位地址(如
26、MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3 口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。RST: 復位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復位??撮T狗計時完
27、成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。 ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否
28、則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設置對微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當 AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。 XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。 XTAL2
29、:振蕩器反相放大器的輸出端。3.3 系統(tǒng)復位通過某種方式,使單片機內各寄存器的值變?yōu)槌跏紶顟B(tài)的操作稱為復位。51單片機在時鐘電路工作以后,2個機器周期的高電平持續(xù)加在RST/VPD端就可以完成復位操作(一般復位正脈沖寬度大于10 ms)。外部按鍵復位和上電復位為復位的兩種基本方式。在程序開發(fā)過程中,程序跑飛的情況會在系統(tǒng)運行的過程中出現(xiàn),這時就需要進行手動復位。而這次也是選用的手動復位即上述引腳出現(xiàn)2個機器周期的的高電平,此時單片機振蕩器正常運行時,單片機將會實現(xiàn)復位。而操作員用手按鍵的時間遠遠大于2個機器周期,復位能夠實現(xiàn)。如圖3-4所示:圖3-4 復位電路原理圖 51單片機復位后,ALE在
30、復位期間將輸出高電平,但片內RAM存放的內容不會受復位的影響。程序計數(shù)器PC和特殊功能寄存器復位的狀態(tài)如表3-1所示。從表中可以得到以下結果: (1) (PC)=0000H ,復位后程序的入口地址為0000H; (2) (PSW)=00H,其中RS1(PSW.4)=0, RS0(PSW.3)=0, 表示復位后單片機選擇工作寄存器0組; (3) (SP)=07H ,復位后堆棧在片內RAM的08H單元處建立; (4) P0口P3口鎖存器為全1狀態(tài),,說明復位后這些并行接口可以直接作輸入口, 無須向端口寫1。表3-1 51單片機復位后程序計數(shù)器PC和特殊功能寄存器復位的狀態(tài) 寄存器名稱復位狀態(tài)寄存器
31、名稱復位狀態(tài)PC0000HTCON00HA00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00H3.4 晶振電路晶振電路是維持單片機最小系統(tǒng)運行的基本模塊,它為單片機提供時鐘脈沖信號,沒有時鐘電路單片機便不能正常工作。單片機的晶振電路由振蕩電路和分頻電路組成。其中,振蕩電路又包括電容、反相器和并聯(lián)外接的石英晶體3個部分,它的主要功能是產(chǎn)生振蕩脈沖。而要得到所需要的時鐘信號就要用到把振蕩脈沖分頻的分頻電路。 石英晶體是感性原件,電容是容性原件。圖中引腳XTAL1、引腳XTAL2分別為輸入端為輸出端。在這2
32、個引腳上外并接石英晶體振蕩器和兩只電容就可以形成振蕩回路。而穩(wěn)定的自激振蕩器需要它為片內放大器提供振蕩的相移條件和正反饋。晶體的振蕩頻率對振蕩器的頻率起決定性的作用, 一般晶體可在1.212 MHz之間任選, 電容C1、 C2可在530 pF之間選擇。由于電容的大小對振蕩頻率有微小的影響, 所以可以用來對微調頻率。 振蕩電路如圖3-5所示:圖3-5 振蕩電路 系統(tǒng)的時鐘信號是以經(jīng)過二分頻后的振蕩脈沖為標準的;用于控制把P0口的低8位地址送入鎖存器鎖起來的ALE信號是時鐘信號經(jīng)過三分頻產(chǎn)生的;它可以完成低地址和數(shù)據(jù)的分時傳送。另外,外部時鐘和外部脈沖都可以使用ALE信號。機器周期信號是時鐘信號六
33、分頻的結果。3.5 按鍵電路 此次設計用到的鍵盤是2*8矩陣鍵盤,如圖3-6所示。相比編碼鍵盤,設計簡單方便且成本較低的矩陣鍵盤更好,況且不必用專門的編碼芯片。鍵盤的原理也十分簡單易懂:一端接入高電平,另一端的檢測用單片機的一個端口鏈接。當按鍵按下時會產(chǎn)生低電平。圖中的鍵盤為2行8列,每列都加有高電平和上拉電阻。當調用程序進行行掃描和列掃描時,就可以鎖定按鍵的具體位置。理想狀態(tài)下,按鍵按下時會產(chǎn)生穩(wěn)定的波形,不會有抖動,但實際并非如此,因此程序設計中要有消除抖動的操作。這里調用一個10ms的延遲程序來解決。圖3-6 2*8按鍵原理圖3.6 中斷系統(tǒng)3.6.1 中斷的概念 中斷的概念來
34、源于CPU與外設之間訪問速度的矛盾。當CPU采用查詢方式與外設交換信息時,CUP反應快而外設則比較慢。這樣會造成CPU資源的大量浪費,于是中斷由此產(chǎn)生。 中斷有四個過程即中斷發(fā)生、中斷響應、中斷服務、和中斷返回。當CPU和外設正在并行工作時,有某種突發(fā)事件發(fā)生并向CUP提出請求(中斷發(fā)生),CPU暫時正在執(zhí)行的程序轉到需要處理的入口處并跳轉處理中斷事件為外設服務(中斷響應、中斷服務),處理完畢再回到原斷點繼續(xù)處理執(zhí)行原程序(中斷返回)。這個過程稱為中斷。 51單片機的中斷系統(tǒng)提供5個中斷源:外部中斷0和外部中斷1,定時/計數(shù)器(T0)和(T1)的溢出中斷,串行接口的接收和發(fā)送中斷。3.6.2
35、中斷控制 (1) IE(A8H):中斷允許寄存器中斷允許寄存器(IE)決定CPU是否開放或屏蔽中斷系統(tǒng)所有中斷和某個中斷源。IE各位的定義如下表所示:表3-2 IE各位的定義位地址0AFH0AFH0ADH0ACH0ABH0AAH0A9H0A8H位符號EA/ESET1EX1ET0EX0 EA:中斷允許總控制位。EA0,中斷被禁止,總是禁止一切中斷;EA1,中斷被允許,在此基礎上各中斷源的中斷允許控制位最終決定中斷是否被禁止或是允許。 EX0和EX1:外部中斷允許控制位。EX0(EX1)0,禁止外部中斷;EX0(EX1)1,允許外部中斷。 ET0和ET1:定時器/計數(shù)器中斷允許控制位。ET0(ET
36、1)0,禁止定時器/計數(shù)器中斷;ET0(ET1)1,允許定時器/計數(shù)器中斷。 ES:串行中斷允許控制位。ES=0,禁止串行中斷;ES=1,允許串行中斷。 (2) 中斷優(yōu)先級控制寄存器(IP) 各中斷的優(yōu)先級通過中斷優(yōu)先級控制寄存器IP來設定,其未定義及位地址如下表所示: 表3-3 IP各位的定義位地址0BFH0BEH0BDH0BCH0BBH0BAH0B9H0B8H位符號/PSPT1PX1PT0PX0 PX0:外部中斷0優(yōu)先級設定位; PT0:定時中斷0優(yōu)先級設定位; PX1:外部中斷1優(yōu)先級設定位; PT1:定時中斷1優(yōu)先級設定位; PS:串行中斷優(yōu)先級設定位。 (3) 定時器控制寄存器(TC
37、ON)該寄存器用于保存外部中斷請求以及定時器的計數(shù)溢出。進行字節(jié)操作時,寄存器地址為88H。按位操作時,各位的地址為88H8FH。寄存器的位地址和位符號如下表所示:表3-4 TCON各位的定義位地址8FH8EH8DH8CH8BH8AH89H88H位符號TF1TR1TF0TR0IE1IT1IE0IT0 IE0和IE1:外中斷請求標志位。當CPU采樣到 INT0(或INT1)端出現(xiàn)有效中斷請求時,IE0(IE1)位由硬件置“1”; 當中斷響應完成轉向中斷服務程序時,由硬件把IE0(或IE1)清零。 TR0 和TR1:定時器運行控制位。TR0(TR1 )0,定時器/計數(shù)器不工作;TR0(TR1 )1
38、,定時器/計數(shù)器開始工作。TF0和TF1:計數(shù)溢出標志位。當計數(shù)器產(chǎn)生計數(shù)溢出時,相應的溢出標位硬件置“1”, 并自動產(chǎn)生定時中斷請求。4 電路框圖設計4.1 遙控發(fā)射單元的電路圖設計 遙控發(fā)射單元主要包括按鍵電路、紅外發(fā)射器電路和單片機最小系統(tǒng)等,其框圖如下所示:電源電路AT89S52 單片機 復位電路 紅外發(fā)射 晶振電路 按鍵電路 圖4-1 紅外遙控單元發(fā)射框圖 4.2 遙控接收單元的電路圖設計遙控接收單元主要包括控制對象電路、紅外接收器電路和單片機最小系統(tǒng)等,其框圖如下圖所示:晶振電路AT89S52單片機電源控制對象紅外接收器復位電路 圖4-2 紅外遙控接收單元框圖5 系統(tǒng)設計5.1 硬
39、件設計5.1.1 紅外遙控發(fā)射單元原理圖 發(fā)射端采用具有在線下載功能的AT89S52芯片作為控制中心,與鍵盤掃描電路和發(fā)射電路共同構成。此設計采用矩陣式較為合理。首先,發(fā)射端利用單片機將需要的信號編碼調制為特定的脈沖序列,再由P1.0口發(fā)出的脈沖用三極管功率放大后,最后驅動紅外發(fā)射管LED1 完成發(fā)射過程。圖5-1是遙控發(fā)射單元的發(fā)射原理圖,其中P1口作為鍵盤掃描口,具有16個功能操作鍵,第9腳為單片機復位腳,采用復位電路如圖所示,15腳作為紅外遙控碼的輸出口,用于38MHZ載波編碼,18 、19腳12MHZ晶振。5-1 紅外遙控發(fā)射單元原理圖5.1.2 紅外遙控接收單元原理圖 以AT89S5
40、2芯片作為控制中心,另加控制接收電路和各自的控制電路組成了接收控制器。其中接收電路使用一體化紅外接收頭HS0038,HS0038工作頻率為38 kHz,能對收到遙控信號進行放大、檢波、整形、解調,得到TTL 電平的編碼信號,再送給單片機,經(jīng)單片機解碼并執(zhí)行相關控制程序,對外只有3個引腳:VS、GND和1個脈沖信號輸出引腳,使用方便,性能可靠。 圖5-2為該遙控器的接收器原理圖,其中P0口作為數(shù)碼管的二進制數(shù)據(jù)輸出,顯示按鍵號,第9腳為單片機復位腳,采用復位電路如圖所示,18 19腳為12MHZ晶振。圖5-2 紅外遙控接收單元原理圖5.2 軟件設計5.2.1 紅外遙控發(fā)射流程圖程序開始時對單片機
41、進行初始化設置,循環(huán)掃描判斷是否有鍵按下,如果有鍵按下就發(fā)射相應的紅外信號,遙控發(fā)射程序流程圖如圖所示: 掃描開始N 鍵按下Y 初始化 按鍵信號發(fā)送程序 發(fā)送 調用按鍵掃描程序 發(fā)送完畢圖5-3 紅外遙控發(fā)射程序流程圖5.2.2 紅外遙控接收流程圖遙控接收通過中斷接收遙控信號,通過延時判斷是否有開始脈沖,如果有開始脈沖就開始接收脈沖序列,根據(jù)脈沖序列判斷需要執(zhí)行的程序,最終完成相應的功能。遙控接收程序流程圖如圖所示:中斷NY接收脈沖是否開始脈沖執(zhí)行功能延時中斷返回圖5-4 紅外遙控接收程序流程圖5.2.3 紅外遙控發(fā)射端程序/* 文件名 : 紅外遙控發(fā)射端 */#include<reg5
42、1.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar count = 0;/* 名稱 : delay_1ms()* 功能 : 延時子程序,延時時間為 1ms * x* 輸入 : x (延時一毫秒的個數(shù))*/void delay_1ms(uint i)uchar x,j;for(j=0;j<i;j+)for(x=0;x<=148;x+)/* 名稱 : time0_init()* 功能 : 定時器的初始化,定時10ms*/void time0_init()TMO
43、D = 0x01;IE = 0x82;TH0 = 0x15;TL0 = 0xA0;/* 名稱 : time0_int()* 功能 : 定時器中斷*/void time0_int() interrupt 1count+;TH0 = 0x15;TL0 = 0xA0;/* 名稱 : keyscan()* 功能 : 實現(xiàn)按鍵的讀取*/uchar keyscan(void)uchar i,j, temp, buffer4 = 0xef, 0xdf, 0xbf, 0x7f;for(j=0; j<4; j+)P1 = bufferj;/*以下三個_nop_();作用為讓 P1 口的狀態(tài)穩(wěn)定*/_nop
44、_();_nop_();_nop_();temp = 0x01; for(i=0; i<4; i+)if(!(P1 & temp) return (i+j*4); /返回取得的按鍵值temp <<= 1;/* 名稱 : main()* 功能 : 主函數(shù)*/void main(void)uchar key_value; /讀出的鍵值while(1)P1 = 0xf0;if(P1 != 0xf0)delay_1ms(15);/按鍵消抖if(P1 != 0xf0)key_value = keyscan() + 1;/key_value是鍵碼加 1time0_init();TR0 = 1;while(1)uchar i;for(;count < 10;) /發(fā)射首部P2 = 0x00;count = 0;for(;count < 10;)P2 = 0xff;count = 0;for(i = 0; i < key_value; i+) /發(fā)射數(shù)據(jù)for(;count < 5;)P2 = 0x00;count = 0;for(;count < 5;)P2 = 0xff;count = 0;TR0 = 0;break;5.2.4 紅外遙控接收端程序/* 文件名 : 紅外遙控接收端*/#include<re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 送料機構課程設計
- 鏈式儲存課程設計
- 課程設計視頻實錄
- 燕子教案課程設計
- 采購談判課程設計
- 英語網(wǎng)絡課程設計
- 裁剪裙子課程設計案例
- 高壓儲罐課程設計
- 雞爪擺攤課程設計
- 音樂彩燈課程設計eda
- GB/T 24478-2023電梯曳引機
- 油田酸化工藝技術
- 食堂經(jīng)營方案(技術標)
- 代收實收資本三方協(xié)議范本
- 人教版八年級英語下冊全冊課件【完整版】
- 乒乓球比賽表格
- 商務接待表格
- 腸梗阻導管治療
- word小報模板:優(yōu)美企業(yè)報刊報紙排版設計
- 漢語教學 《成功之路+進步篇+2》第17課課件
- 三十頌之格助詞【精品課件】-A3演示文稿設計與制作【微能力認證優(yōu)秀作業(yè)】
評論
0/150
提交評論