單片機(jī)紅外控制發(fā)射器設(shè)計(jì)非常詳細(xì)_第1頁(yè)
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)非常詳細(xì)_第2頁(yè)
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)非常詳細(xì)_第3頁(yè)
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)非常詳細(xì)_第4頁(yè)
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)非常詳細(xì)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【詳細(xì)】摘要隨著社會(huì)的發(fā)展、 科技的進(jìn)步以及人們生活水平的逐步提高, 各種方便于生 活的遙控系統(tǒng)開始進(jìn)入了人們的生活。 傳統(tǒng)的遙控器采用專用的遙控編碼及解碼 集成電路, 這種方法雖然制作簡(jiǎn)單、 容易,但由于功能鍵數(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ì)主要應(yīng)用了 AT89C2051 單片機(jī)作為核心,綜合應(yīng)用了單片機(jī)中斷系 統(tǒng)、定時(shí)器、計(jì)數(shù)器等知識(shí),應(yīng)用紅外光的優(yōu)點(diǎn)。遙控操作的不同,遙控發(fā)射器 通過(guò)對(duì)紅外光發(fā)射頻率的控制來(lái)區(qū)別不同的操作。 遙控

2、接收器通過(guò)對(duì)紅外光接收 頻率的識(shí)別,判斷出控制操作,來(lái)完成整個(gè)紅外遙控發(fā)射、接收過(guò)程。其優(yōu)點(diǎn)硬件電路簡(jiǎn)單, 軟件功能完善, 性價(jià)比較高等特點(diǎn), 具有一定的使用 和參考價(jià)值。關(guān)鍵詞: 單片機(jī),紅外遙控,中斷,定時(shí),計(jì)數(shù),頻率AbstractWith the development of our society and the gradual improvement of science and technology, various kinds of help remote control systems have began to enter people s life. The tradit

3、ional 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 special electric equipments becauseo f the counted functional keys is counted and the restricted function,

4、so the range of application is limited. But the remote controllers which adopt the microprocessors have many advantagess uch as flexible operating and unceremonious manipulative keys.The design has used AT89C2051 microprocessor as core, integratively apply the interruptive system, timer , counter ,e

5、tc. mainly to design originally and also take the advantage of the infrared light. The remote control launcher distinguishes different operation through the control on frequency of infrared emission of light. The remote control receiver judges control operation by adopting the discerned frequency of

6、 the received infrared light to finish the whole launching and receiving course.Its advantage is that the hardware circuit is simple, the software is with perfect function, have certain use and reference valueKeywords: Microprocessor, Infrared remote control , Interrupt , Timing , Counting , Frequen

7、cy目錄摘 要 I. .Abstract I. .1 緒 論 51.1 單片機(jī)的產(chǎn)生與發(fā)展 51.2 紅外通信技術(shù)概述 31.2.1 紅外概述 31.2.2 選擇紅外遙控的原因 31.2.3 紅外的簡(jiǎn)單發(fā)射接收原理 42.1 設(shè)計(jì)目的與原理 42.2 單片機(jī)紅外遙控發(fā)射器設(shè)計(jì)原理 42.3 單片機(jī)紅外遙控接收器設(shè)計(jì)原理 53 系統(tǒng)硬件電路設(shè)計(jì) 63.1 有關(guān) AT89C2051 單片機(jī)的介紹 63.1.1 簡(jiǎn)介 63.1.2 引腳介紹 63.1.3 AT89C2051單片機(jī)的主要組成部分 83.2 定時(shí)器/計(jì)數(shù)器 93.2.1 主要特性 93.2.2 定時(shí)/計(jì)數(shù)器 0 和 1 的控制和狀態(tài)寄存

8、器 103.2.3 T0 和 T1 的 4 種工作方式 123.3 獨(dú)立式按鍵結(jié)構(gòu) 123.4 低功耗控制電路 133.4.1 低功耗的實(shí)現(xiàn)方法 133.4.2 掉電保護(hù)和低功耗的設(shè)計(jì) 133.5 CPU 時(shí)鐘電路 163.6 復(fù)位電路 173.6.1復(fù)位狀態(tài) 173.6.2 復(fù)位電路 173.7 紅外發(fā)射電路的設(shè)計(jì) 183.8 紅外接收電路的設(shè)計(jì) 193.9 完整的系統(tǒng)電路設(shè)計(jì)圖 204 系統(tǒng)軟件設(shè)計(jì) 204.1遙控發(fā)射器程序設(shè)計(jì) 204.1.1程序總體結(jié)構(gòu) 204.1.2 偽指令和初始化程序 224.1.3鍵盤掃描程序 244.1.4 中斷服務(wù)程序 254.2 遙控接收器程序設(shè)計(jì) 274.

9、2.1 程序總體結(jié)構(gòu) 274.2.2 初始化程序 294.2.3 計(jì)數(shù)值比較程序 304.2.4 定時(shí)器 1中斷服務(wù)程序 305 總結(jié)與展望 31致 謝 32參考文獻(xiàn) 33附錄 1 35附錄 2 371 緒 論1.1 單片機(jī)的產(chǎn)生與發(fā)展為適應(yīng)社會(huì)發(fā)展的需要 ,微型計(jì)算機(jī)不斷的更新?lián)Q代 ,新產(chǎn)品層出不窮。 在微 型計(jì)算機(jī)的大家族中,幾年來(lái)單片微型計(jì)算機(jī)異軍突起,發(fā)展極為迅速。單片微型計(jì)算機(jī) (Sing-Chip Microcomputer)簡(jiǎn)稱單片機(jī)。 它是在一塊芯片 上集成中央微處理器 (Central Processing Unit, CPU)、隨機(jī)存取存儲(chǔ)器 ( Random Access

10、 Memory, RAM)、只讀存儲(chǔ)器( Read Only Memory, ROM)、定時(shí) /計(jì)數(shù)器 及 I/O( Input/Output)接口電路等部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。它的特 點(diǎn)是:高性能,高速度,體積小,價(jià)格低廉,穩(wěn)定可靠,應(yīng)用廣泛。單片機(jī)的發(fā)展史并不長(zhǎng), 它的產(chǎn)生和發(fā)展與計(jì)算機(jī)的產(chǎn)生與發(fā)展大體同步, 也經(jīng)歷了四個(gè)階段。第一階段( 1970年 1974年):為 4 位單片機(jī)階段。這種單片機(jī)的特點(diǎn) 是:價(jià)格便宜控制功能強(qiáng),片內(nèi)含有多種 I/O 接口,有的根據(jù)不同用途還配有 許多專用接口,有些甚至還包括 A/D 轉(zhuǎn)換器、 D/A 轉(zhuǎn)換、聲音合成等電路。豐 富的 I/O 功能大大

11、增強(qiáng)了四位單片機(jī)應(yīng)用與錄音機(jī)、攝像機(jī)、電視機(jī)、電冰箱、 洗衣機(jī)、錄像機(jī)和電子玩具等產(chǎn)品。第二階段( 1974年 1978年):為低中檔 8 位單片機(jī)階段。它是 8位單 片機(jī)的早期產(chǎn)品,以 Inter公司的 MCS-48 系列單片機(jī)為代表,這個(gè)系列的單片 機(jī)在片內(nèi)集成 8位CPU、并行I/O口、8位定時(shí)/計(jì)數(shù)器、 RAM 和ROM等,中 斷處理較簡(jiǎn)單,片內(nèi) RAM 和 ROM 容量較小,且尋址范圍不大于 4KB 。第三階段( 1978年 1983年):為高檔 8 位單片機(jī)階段。這類單片機(jī)在 低、中檔基礎(chǔ)上發(fā)展起來(lái)的,其性能有明顯提高。以 Inter 公司的 MCS-48系列 單片機(jī)為代表,在片內(nèi)

12、增加了串行接口,有多級(jí)中斷處理系統(tǒng),有 16 位定時(shí) / 計(jì)數(shù)器,片內(nèi) RAM 、ROM 容量增大,信紙范圍可達(dá) 64KB,有的片內(nèi)帶有 A/D 轉(zhuǎn)換接口。這類單片機(jī)功能強(qiáng),應(yīng)用領(lǐng)域廣,是目前各類單片機(jī)中應(yīng)用最多的 一種。第四階段( 1983年現(xiàn)在):為 8位單片機(jī)鞏固發(fā)展階段及 16位單片機(jī)、32 位單片機(jī)推出階段。此階段主要特點(diǎn)是:一方面不斷發(fā)展 16 位單片機(jī)、 32 位單片機(jī)及專用單片機(jī)。 16位單片機(jī)除 CPU為 16位外,片內(nèi) RAM 為232B, ROM 位8KB ,片內(nèi)帶有高速輸入輸出部件,多通道 10位A/D 轉(zhuǎn)換部件,中斷 處理為 8 級(jí),其實(shí)時(shí)處理能力強(qiáng)。今年來(lái),各個(gè)計(jì)算

13、機(jī)廠家已進(jìn)入高性能的 32 位單片機(jī)研制、生產(chǎn)階段, 32 位單片機(jī)除了具有更高的集成度外,主振頻率已 達(dá) 20MHz,這使 32 位單片機(jī)的數(shù)據(jù)處理速度比 16 位單片機(jī)快的多,性能比 8 位、16 位單片機(jī)更加優(yōu)越。需要提到的是,單片機(jī)的發(fā)展雖然經(jīng)歷了 4 位、8 位、16 位各階段,但 4 位、8 位、16 位單片機(jī)仍各有其應(yīng)用領(lǐng)域, 如 4 位單片機(jī)在一些簡(jiǎn)單家用電器、 高檔玩具中仍有應(yīng)用, 8 位單片機(jī)在中、小規(guī)模應(yīng)用場(chǎng)合仍占主流地位, 16 位 單片機(jī)在比較復(fù)雜的控制系統(tǒng)中才有應(yīng)用, 32 位單片機(jī)因控制領(lǐng)域?qū)λ男枨?并不十分迫切,所以 32 位單片機(jī)在我過(guò)的應(yīng)用并不多。正是由于

14、單片機(jī)具有上述顯著的特點(diǎn),使單片機(jī)的應(yīng)用范圍日益擴(kuò)大。單 片機(jī)的應(yīng)用打破了人們傳統(tǒng)設(shè)計(jì)思想,原來(lái)很多用模擬電路、脈沖數(shù)字電路和 邏輯部件來(lái)實(shí)現(xiàn)的功能,現(xiàn)在均可以使用單片機(jī),使用軟件來(lái)實(shí)現(xiàn)。使用單片 機(jī)具有體積小、可靠性高、性能價(jià)格比高和容易產(chǎn)品化的優(yōu)點(diǎn)。單片機(jī)應(yīng)用的主要領(lǐng)域有以下幾點(diǎn)。(1) 智能化儀器儀表。用單片機(jī)改造原有的測(cè)量、控制儀表,使儀器 儀表數(shù)字化、智能化、多功能化和微型化,并使長(zhǎng)期以來(lái)測(cè)量?jī)x 表中的誤差修正和線性化處理等難題迎刃而解。有單片機(jī)構(gòu)成的 智能儀表,集測(cè)量、處理控制功能于一身,從而賦予測(cè)量?jī)x表以 嶄新的面貌,是儀器儀表更新?lián)Q代的標(biāo)志。( 2) 機(jī)電一體化產(chǎn)品。機(jī)電一體化

15、是機(jī)械工業(yè)發(fā)展的方向,機(jī)電一體 化是指集機(jī)械技術(shù)、微電子技術(shù)和計(jì)算機(jī)技術(shù)于一體,具有智能 化特征的機(jī)電產(chǎn)品。單片機(jī)的出現(xiàn)促進(jìn)了機(jī)電一體化的發(fā)展,它 作為機(jī)電產(chǎn)品中的控制器,使傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)單化、控制 智能化,構(gòu)成了新一代機(jī)電一體化產(chǎn)品。 例如,在電傳打字機(jī)中, 由于采用了單片機(jī)而取代了近千個(gè)機(jī)械部件。(3)測(cè)控系統(tǒng)。用單片機(jī)可以構(gòu)成各種工業(yè)控制系統(tǒng)、自適應(yīng)控制系 統(tǒng)和數(shù)據(jù)采集系統(tǒng)。例如,溫度、濕度的自動(dòng)控制、鍋爐燃燒的 自動(dòng)控制、電鍍生產(chǎn)線的自動(dòng)控制和包裝生產(chǎn)線的自動(dòng)控制等。(4)計(jì)算機(jī)網(wǎng)絡(luò)及通信技術(shù)。高檔單片機(jī)集成有通信接口,位單片機(jī)在計(jì)算機(jī)網(wǎng)絡(luò)與通信設(shè)備中的應(yīng)用提供了良好的條件。例如

16、,用 MCS-51 系列單片機(jī)控制的串行自動(dòng)呼叫應(yīng)答系統(tǒng)、列車無(wú)線通 信系統(tǒng)、和無(wú)線遙控系統(tǒng)等(5)家用電器。由于單片機(jī)的價(jià)格低廉、體積小、邏輯判斷的控制功能強(qiáng),且內(nèi)部具有定時(shí) / 計(jì)數(shù)器,所以廣泛應(yīng)用于家用設(shè)備。 總之, 單片機(jī)將使人類的生活更加方便舒適、豐富多彩。 11.2 紅外通信技術(shù)概述1.2.1 紅外概述從光學(xué)的角度而言, 紅外是頻率低于紅色光的不可見光, 的無(wú)線光譜的整 個(gè)頻率中占有很小一個(gè)頻率段,波長(zhǎng)為 0.75100微秒之間,其中 0.753 微 秒之間的紅外光稱為近紅外, 330 微秒之間的紅外光稱為中紅外, 30100 微秒之間的稱為遠(yuǎn)紅外。 紅外光就其性質(zhì)而言很簡(jiǎn)單, 與

17、普通光線的頻率特性 沒(méi)有很大的區(qū)別,但是,由于任何有熱量的物體均有能量產(chǎn)生,所以紅外的利 用非常廣泛,而且不可取代,能否檢測(cè)紅外、能測(cè)到多少紅外或者紅外檢測(cè)的 技術(shù)是否可以應(yīng)用于任何自然的或想象的場(chǎng)合是紅外應(yīng)用技術(shù)的關(guān)鍵。 2 當(dāng)今紅外技術(shù)的一個(gè)重要分支是紅外通信技術(shù)的應(yīng)用, 這個(gè)應(yīng)用的發(fā)展非 常迅速, 尤其是紅外通信應(yīng)用于計(jì)算機(jī)設(shè)備中, 近幾年的發(fā)展已經(jīng)表現(xiàn)出其非 常成熟的特性 3。1.2.2 選擇紅外遙控的原因無(wú)線遙控方式可分為無(wú)線電波式、聲控式、超聲波式和紅外線式。由于無(wú) 線電式容易對(duì)其它電視機(jī)和無(wú)線電通訊設(shè)備造成干擾,而且,系統(tǒng)本身的抗干 擾性能也很差,誤動(dòng)作多,所以未能大量使用。超聲

18、波式頻帶較窄,易受噪聲 干擾,系統(tǒng)抗干擾能力差以及聲控式識(shí)別正確率低,難度大而未能大量采用。 紅外遙控方式是以紅外線作為載體來(lái)傳送控制信息的,同時(shí)隨著電子技術(shù)的發(fā) 展,單片機(jī)的出現(xiàn),催生了數(shù)字編碼方式的紅外遙控系統(tǒng)的快速發(fā)展。另外, 紅外遙控具有很多的優(yōu)點(diǎn),例如紅外線發(fā)射裝置采用紅外發(fā)光二極管,遙控發(fā) 射器易于小型化且價(jià)格低廉;采用數(shù)字信號(hào)編碼和二次調(diào)制方式,不僅可以實(shí) 現(xiàn)多路信息的控制,增加遙控功能,提高信號(hào)傳輸?shù)目垢蓴_性,減少誤動(dòng)作, 而且功率消耗低;紅外線不會(huì)向室外泄露,不會(huì)產(chǎn)生信號(hào)串?dāng)_;反應(yīng)速度快、 傳輸效率高、工作穩(wěn)定可靠等。所以現(xiàn)在很多無(wú)線遙控方式都采用紅外遙控方式。41.2.3

19、紅外的簡(jiǎn)單發(fā)射接收原理在發(fā)射端,輸入信號(hào)經(jīng)放大后送入紅外發(fā)射管發(fā)射,在接收端,接收管收 到紅外信號(hào)后, 由放大器放大處理后還原成信號(hào), 這就是紅外的簡(jiǎn)單發(fā)射接收 原理。 52 系統(tǒng)設(shè)計(jì)方案論證2.1 設(shè)計(jì)目的與原理目前市場(chǎng)上一般采用的遙控編碼及解碼集成電路。此方案具有制作簡(jiǎn) 單、容易等特點(diǎn),但由于功能鍵數(shù)及功能受到特定的限制,只適合用某一 專用電器產(chǎn)品的應(yīng)用 ,應(yīng)用范圍受到限制。而采用單片機(jī)進(jìn)行遙控系統(tǒng)的應(yīng) 用設(shè)計(jì), 具有編程靈活多樣、 操作碼個(gè)數(shù)可隨意設(shè)定等優(yōu)點(diǎn) 6。本單片機(jī)遙 控應(yīng)用系統(tǒng)采用紅外線發(fā)射頻率的不同,來(lái)識(shí)別不同的遙控功能。當(dāng)我們 按下某一個(gè)按鍵的時(shí)候,由單片機(jī)識(shí)別出該按鍵后,由

20、 CPU 向接有紅外發(fā) 射管的端口發(fā)射一定頻率的脈沖,該脈沖與 38KHz 左右的載波脈沖進(jìn)行調(diào) 制,然后將已調(diào)制的脈沖進(jìn)行緩沖放大,激勵(lì)紅外發(fā)光二極管將電能轉(zhuǎn)化 為光能,使得紅外發(fā)光二極管發(fā)射出一定頻率的紅外線 7 ,當(dāng)接收控制系統(tǒng) 接收到該紅外光后,由單片機(jī)內(nèi)定時(shí) /計(jì)數(shù)器得到該紅外光的頻率,然后將 該頻率送往 CPU,由 CPU 對(duì)該信號(hào)進(jìn)行反編碼,識(shí)別出控制信號(hào),從而對(duì) 控制電路實(shí)施控制功能。完成整個(gè)遙控功能 82.2 單片機(jī)紅外遙控發(fā)射器設(shè)計(jì)原理單片機(jī)紅外遙控發(fā)射器主要有單片機(jī)、 行列式鍵盤、 低功耗空閑方式控 制電路、紅外管發(fā)射電路以及單片機(jī)的一些電源、 復(fù)位、震蕩子電路組成 9。

21、單片機(jī)不工作時(shí)一直處于低功耗狀態(tài), 采用了空閑節(jié)電工作方式。 當(dāng)遙 控器的某一按鍵被按下以后, 外部中斷 1 產(chǎn)生中斷,喚醒單片機(jī)進(jìn)入工作狀 態(tài),查詢鍵盤按下的是哪一個(gè)按鍵,當(dāng)確認(rèn)按鍵后,控制軟件啟動(dòng)定時(shí)器 T0、T1, T1 作為發(fā)射時(shí)間控制器, T0 作為紅外線發(fā)射頻率控制器, T0 定 時(shí)溢出時(shí)中斷程序使紅外管接口電平反轉(zhuǎn)一次, 寫入定時(shí)器的初值不同, 在 輸出端口就得到不同的發(fā)射頻率。 T1 定時(shí)溢出時(shí)中斷程序關(guān)閉關(guān)閉 T0 定時(shí)器,停止紅外線發(fā)射 10。其設(shè)計(jì)原理框圖如下圖 2.1 單片機(jī)遙控發(fā)射器設(shè)計(jì)原理圖2.3 單片機(jī)紅外遙控接收器設(shè)計(jì)原理單片機(jī)紅外遙控接收器主要有單片機(jī)、紅外遙

22、控接收電路、狀態(tài)指示電路、 控制電路以及單片機(jī)的一些外圍電路組成。利用單片機(jī)中的 T0 作為紅外脈沖計(jì)數(shù)器, T1 作為計(jì)數(shù)時(shí)間控制器。當(dāng)電 路中紅外接收管接收到第一個(gè)紅外脈沖時(shí),外部中斷 1 被觸發(fā),啟動(dòng)計(jì)數(shù)器 T0 和定時(shí)器 T1。定時(shí)溢出,中斷程序關(guān)閉計(jì)數(shù)器 T0,讀入計(jì)數(shù)值并進(jìn)行判斷, 確定操作對(duì)象(遙控按鍵)對(duì)其進(jìn)行反轉(zhuǎn)操作,控制電路對(duì)所控制的負(fù)載進(jìn)行 開或關(guān) 11。還可對(duì)接收電路實(shí)行上鎖功能,對(duì)控制電路上鎖后,遙控器不能對(duì) 控制電路實(shí)施遙控功能 8 。其設(shè)計(jì)原理方框圖如下 :圖 2.2 紅外接收遙控電路原理框圖3 系統(tǒng)硬件電路設(shè)計(jì)3.1 有關(guān) AT89C2051單片機(jī)的介紹3.1.

23、1 簡(jiǎn)介AT89C2051是一個(gè)低電壓,高性能 CMOS 8位單片機(jī)。片內(nèi)含有 2KB 可反 復(fù)擦寫的只讀存儲(chǔ)器( EPROM)和 128B 的隨機(jī)存取存儲(chǔ)器( RAM ),器件采 用 ATMEL 的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng), 片內(nèi)置通用 8 位中央處理器和 Flash存儲(chǔ)器,功能強(qiáng)大。AT89C2051只有 20個(gè)雙向輸入 /輸出( I/O)端口,其中 P1是完整的 8位 雙向 I/O口,兩個(gè)外中斷, 2個(gè)16位可編程定時(shí) /計(jì)數(shù)器,兩個(gè)全雙向串行通信 口,一個(gè)模擬比較放大器此外, AT89C2051 的時(shí)鐘頻率可為零,即具備可用軟件設(shè)置的睡眠省電功 能

24、,系統(tǒng)的喚醒方式有 RAM 、定時(shí) /計(jì)數(shù)器、串行口和外中斷口,系統(tǒng)喚醒后 即進(jìn)入工作狀態(tài),省電模式中,片內(nèi) RAM 將被凍結(jié),時(shí)鐘停止震蕩,所有功 能停止工作,直至系統(tǒng)被硬件系統(tǒng)復(fù)位方可繼續(xù)工作 12 。3.1.2引腳介紹Vcc:接 +5V 電源正端GND:接 +5V 電源地端P1.0P1.7:完整的雙向串行通信接口, P1.0與 P1.1 還有第二種功能 P3.0P3.7:除 P3.6外,雙向 I/O 口,除 P3.7 外,均有第二功能,第二功能與 MCS-51 系列單片機(jī)基本相同XTAL1 :震蕩器反向放大器內(nèi)部工作時(shí)鐘輸入端XTAL2 :震蕩器反向放大器的輸出端RST:復(fù)位引腳,震蕩器

25、工作時(shí),該引腳上兩個(gè)機(jī)器周期的高電平復(fù)位10圖 3.1 AT89C2051 引腳圖 主要功能特性兼容 MCS51 指令系統(tǒng) 15個(gè)雙向 I/O 口兩個(gè) 16 位可編成定時(shí) /計(jì)數(shù)器 時(shí)鐘頻率 024MHz 兩個(gè)外部中斷源 可直接驅(qū)動(dòng) LED 低功耗睡眠功能 可編程 URRL 通道 2KB 可反復(fù)擦寫 Flash ROM 6 個(gè)中斷源2.76.0V 寬工作電壓范圍 128*8 位內(nèi)部 RAM兩個(gè)串行中斷兩級(jí)加密位 內(nèi)置一個(gè)模擬比較放大器 軟件設(shè)置睡眠和喚醒功能3.1.3 AT89C2051單片機(jī)的主要組成部分 1CPUCPU 是單片機(jī)的核心部分 ,他的作用是讀入和分析每條指令 ,根據(jù)每條指令 的

26、功能要求 ,控制各個(gè)部件執(zhí)行相應(yīng)的操作。 AT89C2051單片機(jī)內(nèi)部有一個(gè) 8 位 的 CPU,它是由運(yùn)算器和控制器組成 13 。A運(yùn)算器運(yùn)算器主要包括算術(shù)、邏輯運(yùn)算部件 ALU 、累加器 ACC、寄存器 B、暫存 器 YMP1 、YMP2、程序狀態(tài)寄存器 PSW、布爾處理器及十進(jìn)制調(diào)整電路等。 運(yùn)算器主要用來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳送、 數(shù)據(jù)的算術(shù)運(yùn)算、 邏輯運(yùn)算和位變量處理等。 B控制器控制器包括時(shí)鐘發(fā)生器、定時(shí)控制邏輯、指令寄存器指令譯碼器、程序計(jì) 數(shù)器 PC、程序地址寄存器、數(shù)據(jù)指針寄存器 DPTR 和堆棧指針 SP 等??刂破魇怯脕?lái)統(tǒng)一指揮和控制計(jì)算機(jī)進(jìn)行工作的部件。它的功能是從程序 存儲(chǔ)器中

27、提取指令,送到指令寄存器,再進(jìn)入指令譯碼器進(jìn)行譯碼,并通過(guò)定 時(shí)和控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需要的全部?jī)?nèi)部控制信息及 CPU 外部所需要的控制信號(hào),如 ALE 、PSEN、RD、WR 等,使各部分協(xié)調(diào)工作, 完成指令所規(guī)定的各種操作。2存儲(chǔ)器 A 程序存儲(chǔ)器程序存儲(chǔ)器用于存放編好的程序、表格和常數(shù)。 CPU 的控制器專門提供一 個(gè)控制信號(hào) EA 來(lái)區(qū)分內(nèi)部 ROM 和外部 ROM 的公用地址區(qū):當(dāng) EA 為無(wú)效電 平時(shí),單片機(jī)從片內(nèi) ROM 的 2KB 存儲(chǔ)器取指令, 而當(dāng)指令超過(guò) 07FFH 后,就 自動(dòng)轉(zhuǎn)向片外 ROM 取指令;當(dāng) EA 為有效電平時(shí),CPU只從片外 ROM 取指

28、令。 在程序存儲(chǔ)器中,有 6 個(gè)單元具有特殊存儲(chǔ)功能。 0000H0002H:是所有執(zhí)行程序的入口地址, 2051單片機(jī)復(fù)位后, CPU 總是 從 0000H 單元開始執(zhí)行程序。0003H:外部中斷 0 入口。 000BH:定時(shí) /計(jì)數(shù)器 0 溢出中斷入口。 0013H:外部中斷 1 入口。001BH:定時(shí) /計(jì)數(shù)器 1 溢出中斷入口0023H:串行口中斷入口。 使用時(shí),通常在這些入口地址處存放一條絕對(duì)跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用 戶安排的中斷程序起始地址,或者從 0000H 起始地址跳轉(zhuǎn)到用戶設(shè)計(jì)的初始程 序上。B數(shù)據(jù)存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器的 8 位地址共可尋址 256B 單元, 2051 單片機(jī)

29、將其分為兩 個(gè)區(qū): 00HFFH 的 128B單元為片內(nèi) RAM 區(qū),可以讀、寫任何數(shù)據(jù); 80H FFH 的高 128B 單元為專用寄存器區(qū)。在低 128B 的內(nèi)部 RAM 中,前 32 個(gè)單 元(地址為 00H1FH)為通用工作寄存器區(qū), 共分為四組(寄存器 0 組、1 組、 2 組、 3組),每組 8個(gè)工作寄存器由 R0R7 組成,共占 32個(gè) 單元。選用哪 一組由程序狀態(tài)字 PSW中的 RS1、RS0 這兩位的設(shè)置決定, 若程序并不需要四 個(gè) 4 組工作寄存器,那么剩下的工作寄存器可作一般的存儲(chǔ)器來(lái)使用。 CPU 在 復(fù)位時(shí)自動(dòng)選中 0 組 20H2FH 的 16 個(gè)單元為位尋址區(qū),每

30、個(gè)單元 8 位,共 128 位。其位尋址范圍為 00H7FH。位尋址區(qū)的每一位都可當(dāng)作軟件觸發(fā)器, 由程序直接進(jìn)行處理。程序中通常把各種程序狀態(tài)標(biāo)志、位控變量設(shè)在位尋址 區(qū)。同樣,位尋址區(qū)的 RAM 單元也可作為一般的數(shù)據(jù)存儲(chǔ)器按字節(jié)單元使用。 3特殊功能寄存器 A 累加器 A累加器 A 是一個(gè)最常用的 8 位特殊功能寄存器,它既可用于存放操作數(shù), 也可用于存放運(yùn)算的中間結(jié)果。大部分單操作數(shù)指令的操作數(shù)就取自累加器。 用 ACC 表示 A 的符號(hào)地址。B寄存器 B寄存器 B 是一個(gè) 8 位寄存器,主要用于乘法和除法的運(yùn)算。乘法運(yùn)算時(shí), B 中存放乘法,乘法操作后,乘積的高 8 位又存于 B 中

31、;除法運(yùn)算時(shí), B 中存放 除數(shù),出發(fā)操作后, B 中又存放余數(shù)。在其他指令中,寄存器 B 可作為一般的 寄存器使用,用于暫存數(shù)據(jù) 14 。3.2 定時(shí)器 /計(jì)數(shù)器3.2.1 主要特性( 1) AT89C2051 單片機(jī)有兩個(gè)可編程的定時(shí)器 /計(jì)數(shù)器定時(shí)器 / 計(jì)數(shù)器 0 與定時(shí)器 /計(jì)數(shù)器 1,可有程序選擇作為定時(shí)器用或作為計(jì)數(shù)器用,定時(shí) 時(shí)間或記數(shù)值也可由程序設(shè)定。(2)每一個(gè)定時(shí)器 /計(jì)數(shù)器具有 4 種工作方式,可用程序選擇。( 3) 任一定時(shí)器 /計(jì)數(shù)器在定時(shí)時(shí)間到或記數(shù)值到時(shí), 可有程序安排產(chǎn)生中斷 請(qǐng)求信號(hào)或不產(chǎn)生中斷請(qǐng)求信號(hào) 15 。3.2.2定時(shí)/計(jì)數(shù)器 0和 1 的控制和狀態(tài)

32、寄存器特殊功能寄存器 TMOD 和 TCON 分別是定時(shí) /計(jì)數(shù)器 0 和 1 的控制和狀態(tài) 寄存器,用于控制和確定各定時(shí) /計(jì)數(shù)器的功能和工作模式。 1模式控制寄存器 TMODTMOD 用于控制 T0 和 T1 的工作方式和 4 種工作模式。其中低 4 位用于控 制 T0,高 4 位用于控制 T1 。其格式如下:GATEC/T非M1M0GATEC/T 非M1M0GATE 位:門控位。當(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ù)器就被

33、選通,而不管 INT0 非或 INT1 非的電平是高還是低C/T 非位:計(jì)數(shù) /定時(shí)功能選擇位。C/T 非=0,設(shè)置為定時(shí)器方式,計(jì)數(shù)器的輸入是內(nèi)部時(shí)鐘脈沖,其周期等 于機(jī)器周期。C/T 非=1,設(shè)置為計(jì)數(shù)器方式,計(jì)數(shù)器的輸入來(lái)自 T0(P3.4)或 T1(P3.5) 端的外部脈沖。M1、M0 位:工作模式選擇位。 2位可形成 4中編碼,對(duì)應(yīng) 4 種工作模式,見下表:M1 M0功 能 描 述00方式 0: 13位定時(shí)器 /計(jì)數(shù)器01方式 1: 16位定時(shí)器 /計(jì)數(shù)器10方式 2:具有自動(dòng)重裝初值的 8位定時(shí)器 /計(jì)數(shù)器11方式 3:定時(shí)/計(jì)數(shù)器 0分為兩個(gè) 8位定時(shí)/計(jì)數(shù)器,定時(shí)/計(jì)數(shù)器 1

34、在此 方式無(wú)實(shí)用意義2 控制寄存器 TCONTCON 用來(lái)控制 T0 和 T1 的啟、停,并給出相應(yīng)的控制狀態(tài),高 4 位用于 控制定時(shí)器 0、1 的運(yùn)行;低 4位用于控制外部中斷。格式如下:TF1TR1TF0TR0IE1IT1IE0IT0TF1:定時(shí)器 1 溢出標(biāo)志。當(dāng)定時(shí)器 1 溢出時(shí),由硬件置 1。使用查詢方式時(shí),此位做狀態(tài)位供查詢, 查詢有效后需由軟件清零;使用中斷方式時(shí),此位做中斷申請(qǐng)標(biāo)志,進(jìn)入中斷 服務(wù)后被硬件自動(dòng)清零。TR1 位:定時(shí)器 1 運(yùn)行控制位。 該位靠軟件置位或清零,置位時(shí),定時(shí) /計(jì)數(shù)器接通工作,清零時(shí),停止工 作。TF0 位:定時(shí)器溢出標(biāo)志位,其功能和操作情況類同于

35、 TF1。TR0 位:定時(shí)器 0 運(yùn)行控制位,其功能和操作類同于 TR1 。IE 位:外部中斷請(qǐng)求標(biāo)志位。當(dāng) CPU 采樣到 INT0 非(或 INT1 非)端出現(xiàn)有效中斷請(qǐng)求時(shí), IE0(或 IE1) 由硬件置 1,中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清零。IT 位:外部中斷請(qǐng)求出發(fā)方式位。IT0 (IT1 )=1 為脈沖觸發(fā)方式,后負(fù)跳有效。IT0 (IT1 )=0 為電平觸發(fā)方式,低電平有效。3定時(shí)/計(jì)數(shù)器的初始化AT89C2051 單片機(jī)的定時(shí) /計(jì)數(shù)器是可編程的, 因此,在進(jìn)行定時(shí)或計(jì)數(shù)之 前也要用程序進(jìn)行初始化。初始化一般應(yīng)包括以下幾個(gè)步驟:(1) 對(duì) TMOD 寄存器賦值,

36、以確定定時(shí)器的工作模式;(2) 置定時(shí)/計(jì)數(shù)器初值,直接將初值寫入寄存器的 TH0,TL0 或 TH1, TL1;(3)根據(jù)需要,對(duì)寄存器 IE 置初值,開放定時(shí)器中斷;(4)對(duì) TCON 寄存器中的 TR0 或 TR1 置位,啟動(dòng)定時(shí) /計(jì)數(shù)器,置位以 后,計(jì)數(shù)器即按規(guī)定的工作模式和初值進(jìn)行計(jì)數(shù)或開始定時(shí)。 在初始化過(guò)程中,要置入定時(shí) /計(jì)數(shù)器的初值,這時(shí)要做一些計(jì)算。由于 計(jì)數(shù)器是加法計(jì)數(shù),并在溢出時(shí)申請(qǐng)中斷,因此不能直接輸入所需的計(jì)數(shù) 值,而是要從計(jì)數(shù)最大值倒退回去一個(gè)計(jì)數(shù)值才是應(yīng)置入的初值。設(shè)計(jì)數(shù) 器的最大值為 M (在不同的工作模式中, M 可以為 8192, 65536,256),

37、 則置入的初值可以這樣來(lái)計(jì)算。計(jì)數(shù)方式時(shí)X=M 記數(shù)值定時(shí)方式時(shí)(MX)T=定時(shí)值所以X=M 定時(shí)值 /T式中,T 為計(jì)數(shù)周期,是單片機(jī)的機(jī)器周期 13。3.2.3 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ā)出 中斷請(qǐng)求。方式 1:16位定時(shí)/計(jì)數(shù)器,其邏輯電路和工作情況與方式 0 幾乎完全相同, 唯一的差別就是方式 1中 TL 的高 3位也

38、參與了計(jì)數(shù)。方式 2:把 TL 配置成一個(gè)可以自動(dòng)重裝載的 8位定時(shí) /計(jì)數(shù)器方式 3:僅對(duì) T0 有意義,將 16 位定時(shí)/計(jì)數(shù)器分成兩個(gè)互相獨(dú)立的 8 位定 時(shí)/計(jì)數(shù)器 TL 和 TH ,3.3 獨(dú)立式按鍵結(jié)構(gòu)獨(dú)立式按鍵是指直接用 I/O 線構(gòu)成的單個(gè)按鍵電路,每個(gè)獨(dú)立式按鍵占有 一根 I/O 口線,每根 I/O 口線上的按鍵的工作狀態(tài)不會(huì)影響其他 I/O 口線的工作 狀態(tài),其結(jié)構(gòu)簡(jiǎn)單,但 I/O 口線浪費(fèi)較大 16。獨(dú)立式按鍵配置靈活, 軟件結(jié)構(gòu)簡(jiǎn)單, 上拉電阻保證了按鍵斷開時(shí), I/O 口 線有確定的高電平,其電路原理圖如下圖 3.2 獨(dú)立式按鍵電路3.4 低功耗控制電路3.4.1 低

39、功耗的實(shí)現(xiàn)方法AT89C2051單片機(jī)的 CPU 有兩種節(jié)電工作方式即空閑方式和掉電方式,遙 控器采用了空閑節(jié)電方式。當(dāng) CPU執(zhí)行完 IDL=1 ( PCON.0=1)指令后 ,系統(tǒng)進(jìn) 入空閑工作方式 ,這時(shí)內(nèi)部時(shí)鐘不向 CPU 提供,而只供給中斷、串行口、定 時(shí)器部分。遙控器退出低功耗空閑方式電路由與門來(lái)實(shí)現(xiàn)。當(dāng)有鍵按下時(shí),由 與門觸發(fā)外部中斷 1 發(fā)生中斷,單片機(jī)退出空閑工作方式,進(jìn)入鍵盤和紅外發(fā) 射程序,結(jié)束后又進(jìn)入低功耗空閑方式待機(jī)。使用過(guò)程中單片機(jī)基本上都處于 空閑工作方式,功耗相當(dāng)?shù)?,從而為使用電池電源提供保障?.4.2 掉電保護(hù)和低功耗的設(shè)計(jì) 1掉電保護(hù)在單片機(jī)工作時(shí),供電電

40、源如果發(fā)生停電或瞬間停電,將會(huì)使單片機(jī)停止 工作。待電源恢復(fù)時(shí),單片機(jī)重新進(jìn)入復(fù)位狀態(tài),停電前 RAM 中的數(shù)據(jù)全部 丟失,這種現(xiàn)象對(duì)于一些重要的單片機(jī)應(yīng)用系統(tǒng)是不允許的。在這種情況下, 需要進(jìn)行掉電保護(hù)處理。掉電保護(hù)具體操作過(guò)程如下。單片機(jī)應(yīng)用系統(tǒng)的電壓檢測(cè)電路檢測(cè)到電源電壓下降時(shí),觸發(fā)外部中斷 (INT0 或 INT1 ),在中斷服務(wù)子程序中將外部 RAM 中的有用數(shù)據(jù)送入內(nèi)部 RAM 保存。因單片機(jī)電源入口的濾波電容的儲(chǔ)能作用, 可以有足夠的時(shí)間來(lái)完 成中斷操作。 備用電源自切換電路屬于單片機(jī)內(nèi)部電路。 它由兩個(gè)二極管組成, 當(dāng)電源電壓高于 VPD 引腳的備用電源電壓時(shí), VD1 導(dǎo)通,

41、 VD2 截止,單片機(jī) 由電源供電;當(dāng)電源電壓降到比備用電源電壓低時(shí),二極管 VD1 截止, VD2 導(dǎo)通,單片機(jī)由備用電源供電 15 。備用電源只為單片機(jī)內(nèi)部 RAM 和專用寄存器提供維持電流,這時(shí)單片機(jī) 外部的全部電路因停電而停止工作,時(shí)鐘電路也停止工作, CPU 因無(wú)時(shí)鐘也不 工作。當(dāng)電源恢復(fù)時(shí),備用電源還會(huì)繼續(xù)供電一段時(shí)間,大約 10ms,以確保外部 電路達(dá)到穩(wěn)定狀態(tài)。在結(jié)束掉電保護(hù)狀態(tài)時(shí),首要的工作是將被保護(hù)的數(shù)據(jù)從 內(nèi)部 RAM 中恢復(fù)過(guò)來(lái)。當(dāng)用戶檢測(cè)到一個(gè)掉電保護(hù)電路時(shí),立即通過(guò)外部中斷輸入線 INT0 來(lái)中 斷單片機(jī)現(xiàn)行操作。 外部中斷 0 服務(wù)程序?qū)⒂嘘P(guān)數(shù)據(jù)信息送入片內(nèi) RA

42、M 保存, 然后向 P1.0寫入 0,P1.0 輸出的這個(gè)低電平觸發(fā)單穩(wěn)態(tài)電路 MC755。它輸出的 脈寬取決于 R、 C 的數(shù)值及 VCC 是否以掉電。如果當(dāng)單穩(wěn)態(tài)定時(shí)輸出后,若 VCC 仍然存在,這是一個(gè)假掉電報(bào)警,并從復(fù)位開始重新操作;若 VCC 已掉 電,則斷電期間由單穩(wěn)態(tài)電路給 RESET/VPD 供電, 維持片內(nèi) RAM 處于“餓電流”供電狀態(tài)保存信息,一直維持到 VCC 恢復(fù)為止80C51 的掉電保護(hù)過(guò)程則不同。當(dāng)電壓檢測(cè)電路檢測(cè)到電源電壓降低時(shí), 也觸發(fā)外部中斷,在中斷服務(wù)子程序中,除了要將外部 RAM 中的有用數(shù)據(jù)保 存以外,還要將特殊功能寄存器的有用內(nèi)容保護(hù)起來(lái),然后對(duì)電源

43、控制寄存器 PCON進(jìn)行設(shè)置。 PCON寄存器的各位定義如下。D7 D6 D5 D4 D3 D2 D1 D0SMODGF1GF0PDIDL其中, SMOD 是波特率倍增位,在串行通信中使用。GF1、GF0:通用標(biāo)志,由軟件置位、復(fù)位。PD:掉電方式控制位, PD=1,則進(jìn)入掉電方式。IDL :待機(jī)方式控制位, IDL=1,則進(jìn)入待機(jī)方式。由軟件將 PD置 1,就可以使單片機(jī)進(jìn)入掉電保護(hù)狀態(tài)。 這時(shí),單片機(jī)的一 切工作都停止,只有內(nèi)部 RAM 和專用寄存器的內(nèi)容被保存。掉電保護(hù)時(shí)的備 用電源是通過(guò) VCC 引腳接入的。當(dāng)電源恢復(fù)正常后,系統(tǒng)要維持 10ms 的恢復(fù) 時(shí)間后才能退出掉電保護(hù)狀態(tài),

44、復(fù)位操作將重新定義專用寄存器, 但內(nèi)部 RAM 的內(nèi)容不變,可將被保護(hù)的內(nèi)容恢復(fù)圖 3.3 掉電保護(hù)電路2. 低功耗設(shè)計(jì) 在很多情況下,單片機(jī)要工作在供電困難的場(chǎng)合,如野外、井下和空中, 對(duì)于便攜式儀器要求用電池供電,這時(shí)都希望單片機(jī)應(yīng)用系統(tǒng)能低供耗運(yùn)行。 以 CMOS 工藝制造的 80C31/80C51/87C51 型單片機(jī)提供了空閑工作方式??臻e工作方式(通常也指待機(jī)工作方式) 是指 CPU在不需要執(zhí)行程序時(shí)停 止工作,以取代不停的執(zhí)行空操作或原地踏步等待操作, 達(dá)到減小功耗的目的??臻e工作方式是通過(guò)設(shè)置電源控制寄存器 PCON 中的 IDL 位來(lái)實(shí)現(xiàn)的。用軟件將 IDL 位置 1,系統(tǒng)進(jìn)

45、入空閑工作方式。這時(shí),送往 CPU 的時(shí)鐘被 封鎖, CPU 停止工作,但中斷控制電路、定時(shí) /計(jì)數(shù)器和串行接口繼續(xù)工作, CPU 內(nèi)部狀態(tài)如堆棧指針 SP、程序計(jì)數(shù)器 PC、程序狀態(tài)寄存器 PSW、累加器 ACC 及其他寄存器的狀態(tài)被完全保留下來(lái)。在空閑工作方式下, 80C51消耗的電流由正常的 24mA 將為 3mA。 單片機(jī)退出空閑狀態(tài)有如下兩種方法。第一種是中斷退出。由于空閑方式下,中斷系統(tǒng)還在工作,所以任何中斷 的響應(yīng)都可以使 IDL 位由硬件清零,而退出空閑方式下,單片機(jī)就進(jìn)入中斷服 務(wù)程序。第二種是硬件復(fù)位退出。復(fù)位時(shí),各個(gè)專用寄存器都恢復(fù)默認(rèn)狀態(tài),電源 控制寄存器 PCON 也

46、不例外,復(fù)位使 IDL 清零,退出空閑工作方式。MCS51 的掉電保護(hù)也是一種節(jié)電工作方式, 它和空閑工作方式一起構(gòu)成 了低功耗工作方式。 一旦用戶檢測(cè)到掉電發(fā)生, 在 VCC 下降之前寫一個(gè)字節(jié)到 PCON,使 PD=1,單片機(jī)進(jìn)入掉電方式。在這種方式下,片內(nèi)震蕩器被封鎖, 一切功能都停止,只有片內(nèi) RAM00H 7FH 單元的內(nèi)容被保留。在掉電方式下, Vcc 可降至 2V ,使片內(nèi) RAM 處于 50 微安左右的“餓電流” 供電狀態(tài),以最小的耗電保存信息, Vcc恢復(fù)正常之前, 不可進(jìn)行復(fù)位; 當(dāng) Vcc 正常后,硬件復(fù)位 10ms即能使單片機(jī)退出掉電方式 17 。在該電路中,退出空閑工

47、作方式采用中斷的方法。當(dāng)遙控鍵盤上的人任一 個(gè)按鍵按下以后,與門輸出即為低電平,觸發(fā) INT1 引腳,外部中斷 1 響應(yīng), 使 IDL 位清零,退出空閑工作方式,恢復(fù)正常狀態(tài)。其硬件電路如下。圖 3.4 低功耗控制電路3.5 CPU 時(shí)鐘電路時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào)。 時(shí)鐘信號(hào)可以有兩種方式 產(chǎn)生:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。1內(nèi)部時(shí)鐘方式2051 單片機(jī)有一個(gè)高增益反向放大器,用于構(gòu)成振蕩器,引腳 XTAL1 和 XTAL2 分別是此放大器的輸入端和輸出端。 在 XTAL1 和 XTAL2 兩端跨接晶體 或陶瓷振蕩器,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘

48、發(fā)生器,見下圖,外接晶振時(shí), C1、C2 值通常選擇為 30pF 左右;外接陶瓷振 蕩器時(shí), C1、C2 約為 47pF。C1、C2 對(duì)頻率有微調(diào)作用,震蕩頻率范圍是 1.2 12MHz。為了減少寄生電容,更好的保證振蕩器穩(wěn)定可靠的工作,諧振器和 電容應(yīng)盡可能安裝的與單片機(jī)芯片靠近。內(nèi)部時(shí)鐘發(fā)生器實(shí)質(zhì)上是一個(gè)二分頻的觸發(fā)器,其輸出信號(hào)是單片機(jī)工作 所需的時(shí)鐘信號(hào)。2外部時(shí)鐘方式外部時(shí)鐘方式是采用外部振蕩器,外部振蕩信號(hào)由 XTAL2 端接入后直接送 至內(nèi)部時(shí)鐘發(fā)生器。 輸入端 XTAL1 應(yīng)接地,由于 XTAL2 端的邏輯電平不是 TTL 的,故建議外接一個(gè)上拉電阻。一般情況下, 單片機(jī)時(shí)鐘輸

49、入均采用內(nèi)部時(shí)鐘方式,外接一個(gè)震蕩電路,本 系統(tǒng)采用內(nèi)部時(shí)鐘方式,晶振采用 12MHz ,其電路如下。圖 3.5 AT89C2051 時(shí)鐘電路3.6 復(fù)位電路3.6.1 復(fù)位狀態(tài)計(jì)算機(jī)在啟動(dòng)時(shí),系統(tǒng)進(jìn)入復(fù)位狀態(tài)。在復(fù)位狀態(tài), CPU 和系統(tǒng)都處于一個(gè) 確定的初始狀態(tài)或成為原始狀態(tài),在這種狀態(tài)下,所有的專用寄存器都賦予默 認(rèn)值。其復(fù)位狀態(tài)見下表。表 3.1 復(fù)位狀態(tài)各寄存器初值專用寄存器復(fù)位狀態(tài)專用寄存器復(fù)位狀態(tài)PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSCON00HIPXX

50、X0 0000BSBUFXXXX XXXXBIE0XX0 0000BPCON0XXX 0000B3.6.2 復(fù)位電路單片機(jī)復(fù)位電路包括片內(nèi)、 片外兩部分, 片外復(fù)位電路通過(guò)引腳加到內(nèi)部復(fù) 位電路上,內(nèi)部復(fù)位電路在每個(gè)機(jī)器周期 S5P2 對(duì)片外信號(hào)采樣一次,當(dāng) RST 引腳上出現(xiàn)連續(xù)兩個(gè)機(jī)器周期的高電平時(shí),單片機(jī)就完成一次復(fù)位。外部復(fù)位 電路就是為內(nèi)部復(fù)位電路提供兩個(gè)機(jī)器周期以上的高電平而設(shè)計(jì)的, AT89C2051 通常采用上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位兩種方式。上電復(fù)位電路在通電瞬間,在 RC 電路充電過(guò)程中, RST 端出現(xiàn)正脈沖,從 而使單片機(jī)復(fù)位。按鍵手動(dòng)復(fù)位又分為按鍵電平復(fù)位和按鍵脈沖復(fù)

51、位,按鍵電平復(fù)位是將復(fù) 位端通過(guò)電阻與 Vcc 相連,按鍵脈沖復(fù)位是利用 RC 微分電路產(chǎn)生正脈沖來(lái)達(dá) 到復(fù)位的目的。本系統(tǒng)設(shè)計(jì)時(shí)采用的是上電復(fù)位方式,其電路原理圖如下。圖 3.6 復(fù)位電路3.7 紅外發(fā)射電路的設(shè)計(jì)根據(jù)紅外發(fā)射管本身的物理特性,必須要有載波信號(hào)與即將發(fā)射的信號(hào)相 “與”,然后將相“與”后的信號(hào)送發(fā)射管,才能進(jìn)行紅外信號(hào)的發(fā)射傳送,而 在頻率為 38KHz 的載波信號(hào)下,發(fā)射管的性能最好,發(fā)射距離最遠(yuǎn),所以在硬 件設(shè)計(jì)上, 本設(shè)計(jì)采用 38KHz 的晶振產(chǎn)生載波信號(hào), 與發(fā)射信號(hào)進(jìn)行邏輯 “與” 運(yùn)算后,通過(guò)三極管的功率驅(qū)動(dòng)到紅外發(fā)光二極管上 18 。紅外發(fā)送電路由 4001M

52、OS 或非門 38KHz 振蕩器,單片機(jī)發(fā)送控制電路和 紅外發(fā)送管驅(qū)動(dòng)輸出電路組成,當(dāng)單片機(jī) P3.4 口輸出為“ 0”時(shí),發(fā)射管不發(fā) 光,當(dāng)單片機(jī) P3.4口輸出為“ 1”時(shí),紅外發(fā)送管發(fā)出 38KHz 調(diào)制紅外線 19。 具體的發(fā)射波形與電路如下圖 3.8 紅外發(fā)射電路3.8 紅外接收電路的設(shè)計(jì)紅外接收電路專門采用集成電路 RPM6938, RPM6938 有三個(gè)引腳,一個(gè)接電源一個(gè)接地,另外一個(gè)接信號(hào)端,它集光電轉(zhuǎn)換,解調(diào)和放大于一體20 。當(dāng)收到 38KHz 調(diào)制紅外線時(shí), RPM6938 輸出為“ 0”,平時(shí)輸出為“ 1”。信號(hào) 腳接到 P3.3 和 P3.4 腳上,當(dāng) RPM693

53、8收到第一個(gè)紅外脈沖時(shí),觸發(fā) INT1 產(chǎn) 生中斷,使單片機(jī)退出低功耗狀態(tài),進(jìn)入工作狀態(tài),同時(shí)使記數(shù)器 0 和定時(shí)器1 開始工作21圖 3.9 紅外接收電路3.9 完整的系統(tǒng)電路設(shè)計(jì)圖完整的電路圖見附錄 14 系統(tǒng)軟件設(shè)計(jì)4.1 遙控發(fā)射器程序設(shè)計(jì)4.1.1程序總體結(jié)構(gòu) 此系統(tǒng)是一個(gè)紅外遙控發(fā)射器,設(shè)計(jì)目的就是根據(jù)按鍵的不同,發(fā)射出不 同的紅外信號(hào)。傳統(tǒng)的遙控器都是采用遙控發(fā)射專用集成芯片,例如飛利浦公 司生產(chǎn)專用芯片 SAA3010 ,三菱公司生產(chǎn)的 M50462P 專用發(fā)射芯片。由于這 些芯片的功能鍵數(shù)及功能受到特定的限制, 只適合于某一專用電器產(chǎn)品的應(yīng)用, 應(yīng)用范圍受到限制。本系統(tǒng)采用單

54、片機(jī)制作,采用編程的方法,由于編程具有 靈活性,故應(yīng)用范圍較廣,操作碼可隨意設(shè)定 22 。本系統(tǒng)采用的是按紅外發(fā)射頻率的不同,來(lái)識(shí)別不同的按鍵。操作鍵設(shè)定 為 8個(gè),K0 至 K7,分別接至單片機(jī)的 P1.0至 P1.7口。對(duì)應(yīng)的紅外發(fā)射頻率分 別為 300Hz、600 Hz、900 Hz、1200 Hz、1500 Hz、1800 Hz、2100 Hz、2400 Hz。 發(fā)射時(shí)間確定為一個(gè)定值,由定時(shí)器 1 來(lái)定時(shí),時(shí)間為 100ms,當(dāng) 100ms 時(shí)間 到定時(shí)器 1發(fā)生中斷,停止計(jì)時(shí),紅外光也停止發(fā)射。由定時(shí) /計(jì)數(shù)器 0 來(lái)控制 發(fā)射頻率, T0 作為定時(shí)器,當(dāng) T0 定時(shí)時(shí)間到,中斷程

55、序使 P3.4 斷口的電平反 轉(zhuǎn)一次,然后 T0 重新工作定時(shí)值與前相同,時(shí)間到中斷程序使 P3.4 端口翻轉(zhuǎn) 一次,如此往復(fù),紅外信號(hào)就按一定的時(shí)間間隔發(fā)射出去。 通過(guò)設(shè)定 T0 的定時(shí) 時(shí)間來(lái)控制紅外信號(hào)的發(fā)射頻率 23。平時(shí)遙控器工作在空閑方式下,當(dāng)有鍵按 下時(shí),由外部中斷 1產(chǎn)生中斷,使 CPU 回到工作狀態(tài),待執(zhí)行完操作后又回到 低功耗才狀態(tài)。主程序主要由初始化程序、鍵盤掃描程序,定時(shí)器 0 中斷服務(wù) 程序、定時(shí)器 1 中斷服務(wù)程序,外部中斷 1 中斷服務(wù)程序組成。主程序流程圖 如下:外部中斷 1 中斷NNYYY調(diào)延時(shí)程序調(diào)延時(shí)程序NYNT0 時(shí)間到Y(jié)K2 鍵是 否按下T1 時(shí)間到P

56、3.4 翻轉(zhuǎn)一次K1 鍵 是 否松開K1 鍵是否 按下啟動(dòng)定時(shí)器 T0 定時(shí) 3.33ms啟動(dòng)定時(shí)器 T1定時(shí) 50msK3 鍵 N 是否按 N 下關(guān) T0、T1 P3.4 置 1圖 4.1 遙控發(fā)射主程序流程圖當(dāng) K2 至 K7 鍵按下時(shí),執(zhí)行的程序類似于按下 K1 鍵所執(zhí)行的程序。4.1.2 偽指令和初始化程序在初始化程序前,需要定義一些相關(guān)的偽指令,偽指令不能命令 CPU 執(zhí)行某中操作,也沒(méi)有對(duì)應(yīng)的機(jī)器代碼,它的作用僅用來(lái)給匯編程序提供某中 信息。偽指令是匯編程序能夠識(shí)別的匯編命令??刂菩盘?hào)的輸入口P1.0 P1.7分別用按鍵開關(guān)鍵號(hào) K0K7 來(lái)定義;各頻率紅外信號(hào)對(duì)應(yīng)的定時(shí)器 T0 的初值 分別用 K0H、K0L K7H、K7L 來(lái)定義,這樣做不影響整個(gè)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論