影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【非常詳細(xì)】.

上傳人:小** 文檔編號(hào):48576361 上傳時(shí)間:2022-01-12 格式:DOC 頁數(shù):58 大小:766.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【非常詳細(xì)】._第1頁
第1頁 / 共58頁
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【非常詳細(xì)】._第2頁
第2頁 / 共58頁
單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【非常詳細(xì)】._第3頁
第3頁 / 共58頁

下載文檔到電腦,查找使用更方便

35 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【非常詳細(xì)】.》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【非常詳細(xì)】.(58頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、單片機(jī)紅外控制發(fā)射器設(shè)計(jì)【詳細(xì)】 摘要 隨著社會(huì)的發(fā)展、科技的進(jìn)步以及人們生活水平的 逐步提高,各種方便于生活的遙控系統(tǒng)開始進(jìn)入了人 們的生活。傳統(tǒng)的遙控器采用專用的遙控編碼及解碼 集成電路,這種方法雖然制作簡單、容易,但由于功 能鍵數(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ā)射器通 過對(duì)紅外光發(fā)射頻率的控制來區(qū)別不同的操作。遙

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

3、The traditional remote controllers adopt special remote control code and decode integrated circuits, though this ki nd of method is simply and easily, it is only the practical applicati on of some certa in special electric equipments because of the counted functional keys is coun ted and the restric

4、ted fun cti on, so the range of application is limited. But the remote controllers which adopt the microprocessors have many adva ntages such as flexible operat ing and un cere monious mani pulative keys. The desig n has used AT89C2051 microprocessor as core, i ntegratively apply the in terruptive

5、system, timer , counter ,etc. mainly to design originally and also take the adva ntage of the in frared light. The remote con trol launcher distinguishes different operation through the con trol on freque ncy of in frared emissi on of light. The remote control receiver judges control operation by

6、II adopti ng the discer ned freque ncy of the received in frared light to finish the whole laun chi ng and receiv ing course. Its adva ntage is that the hardware circuit is simple, the software is with perfect function, have certain use and reference value Keywords: Microprocessor, Infrared rem

7、ote control, Interrupt, Timing , Counting, Frequency 目 錄 摘 要 I. Abstract II 1緒論 1 1.1單片機(jī)的產(chǎn)生與發(fā)展 1 1.2紅外通信技術(shù)概述 5 1.2.1紅外概述 5 1.2.2選擇紅外遙控的原因 6 1.2.3紅外的簡單發(fā)射接收原理 7 2.1設(shè)計(jì)目的與原理 7 2.2單片機(jī)紅外遙控發(fā)射器設(shè)計(jì)原理 8 iii 2.3單片機(jī)紅外遙控接收器設(shè)計(jì)原理 10 3系統(tǒng)硬件電路設(shè)計(jì) 11 3.1有關(guān)AT89C2051單片機(jī)的介紹 11 3.1.1 簡介 11 3.1.2引腳介紹 1

8、2 3.1.3 AT89C2051單片機(jī)的主要組成部分 14 3.2定時(shí)器/計(jì)數(shù)器 18 3.2.1主要特性 18 3.2.2定時(shí)/計(jì)數(shù)器0和1的控制和狀態(tài)寄存器18 3.2.3 T0和T1的4種工作方式 22 3.3獨(dú)立式按鍵結(jié)構(gòu) 23 3.4低功耗控制電路 24 3.4.1低功耗的實(shí)現(xiàn)方法 24 3.4.2掉電保護(hù)和低功耗的設(shè)計(jì) 25 3.5 CPU時(shí)鐘電路 30 3.6復(fù)位電路 32 3.6.1復(fù)位狀態(tài) 32 3.6.2復(fù)位電路 33 3.7紅外發(fā)射電路的設(shè)計(jì) 34 3.8紅外接收電路的設(shè)計(jì) 36 3.9完整的系統(tǒng)電路設(shè)計(jì)圖 37 4系統(tǒng)軟

9、件設(shè)計(jì) 38 4.1遙控發(fā)射器程序設(shè)計(jì) 38 4.1.1程序總體結(jié)構(gòu) 38 4.1.2偽指令和初始化程序 42 4.1.3鍵盤掃描程序 46 4.1.4中斷服務(wù)程序 48 4.2遙控接收器程序設(shè)計(jì) 52 4.2.1程序總體結(jié)構(gòu) 52 4.2.2初始化程序 57 4.2.3計(jì)數(shù)值比較程序 57 4.2.4定時(shí)器1中斷服務(wù)程序 58 5總結(jié)與展望 61 致 謝 6 3 參考文獻(xiàn) 64 附錄1 68 附錄2 70 VI VI 1緒論 1.1單片機(jī)的產(chǎn)生與發(fā)展 為適應(yīng)社會(huì)發(fā)展的需要,微型計(jì)算機(jī)不斷的更新 換代,新產(chǎn)品層出不窮。在微型計(jì)算機(jī)的

10、大家族中,幾 年來單片微型計(jì)算機(jī)異軍突起,發(fā)展極為迅速。 單片微型計(jì)算機(jī)(Sing-Chip Microcomputer)簡 稱單片機(jī)。它是在一塊芯片上集成中央微處理器 (Central Processing Unit, CPU)、隨機(jī)存取存儲(chǔ)器 (Random Access 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ā)展史并不長,它的產(chǎn)生和發(fā)展與計(jì)算 機(jī)的產(chǎn)生與發(fā)展

11、大體同步,也經(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功能大大增強(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

12、等,中斷處理較簡單,片內(nèi) RAM 和ROM容量較小,且尋址范圍不大于 4KB。 第三階段(1978年一一1983年):為高檔8位單 片機(jī)階段。這類單片機(jī)在低、中檔基礎(chǔ)上發(fā)展起來的, 其性能有明顯提高。以In ter公司的MCS -48系列單 片機(jī)為代表,在片內(nèi)增加了串行接口,有多級(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ā)

13、展 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)。今年來,各個(gè)計(jì) 算機(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ī)在一些簡單家用電器、 高檔玩具中仍有應(yīng)用,8

14、位單片機(jī)在中、小規(guī)模應(yīng)用 場合仍占主流地位,16位單片機(jī)在比較復(fù)雜的控制系 統(tǒng)中才有應(yīng)用,32位單片機(jī)因控制領(lǐng)域?qū)λ男枨蟛?不十分迫切,所以32位單片機(jī)在我過的應(yīng)用并不多。 正是由于單片機(jī)具有上述顯著的特點(diǎn),使單片機(jī) 的應(yīng)用范圍日益擴(kuò)大。單片機(jī)的應(yīng)用打破了人們傳統(tǒng) 設(shè)計(jì)思想,原來很多用模擬電路、脈沖數(shù)字電路和邏 輯部件來實(shí)現(xiàn)的功能,現(xiàn)在均可以使用單片機(jī),使用 軟件來實(shí)現(xiàn)。使用單片機(jī)具有體積小、可靠性高、性 能價(jià)格比高和容易產(chǎn)品化的優(yōu)點(diǎn)。 單片機(jī)應(yīng)用的主要領(lǐng)域有以下幾點(diǎn)。 (1)智能化儀器儀表。用單片機(jī)改造原有的測 量、控制儀表,使儀器儀表數(shù)字化、智能化、 多功能化和微型化,并使長期以來

15、測量儀表 中的誤差修正和線性化處理等難題迎刃而 解。有單片機(jī)構(gòu)成的智能儀表,集測量、處 理控制功能于一身,從而賦予測量儀表以嶄 新的面貌,是儀器儀表更新?lián)Q代的標(biāo)志。 (2) 機(jī)電一體化產(chǎn)品。機(jī)電一體化是機(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)簡單化、控制智 能化,構(gòu)成了新一代機(jī)電一體化產(chǎn)品。例如, 在電傳打字機(jī)中,由于采用了單片機(jī)而取代 了近千個(gè)機(jī)械部件。 (3) 測控系統(tǒng)。用單片機(jī)可以構(gòu)成各種工業(yè)控制 系統(tǒng)、自適應(yīng)控制系統(tǒng)和數(shù)據(jù)采集系統(tǒng)

16、。例 女口,溫度、濕度的自動(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)用提供了良好的條件。例如,用 MCS-51系列單片機(jī)控制的串行自動(dòng)呼叫應(yīng) 答系統(tǒng)、列車無線通信系統(tǒng)、和無線遙控系 統(tǒng)等 (5)家用電器。由于單片機(jī)的價(jià)格低廉、體積小、 邏輯判斷的控制功能強(qiáng),且內(nèi)部具有定時(shí) / 計(jì)數(shù)器,所以廣泛應(yīng)用于家用設(shè)備??傊?, 單片機(jī)將使人類的生活更加方便舒適、豐富 多彩。⑴ 1.2紅外通信技術(shù)概述 1.2.1紅外概述 從光學(xué)的角度而言,紅外是頻率低于紅色光的 不

17、可見光,的無線光譜的整個(gè)頻率中占有很小一個(gè) 頻率段,波長為0.75—100微秒之間,其中0.75— 3 微秒之間的紅外光稱為近紅外,3— 30微秒之間的紅 外光稱為中紅外,30—100微秒之間的稱為遠(yuǎn)紅外。 紅外光就其性質(zhì)而言很簡單,與普通光線的頻率特 性沒有很大的區(qū)別,但是,由于任何有熱量的物體 均有能量產(chǎn)生,所以紅外的利用非常廣泛,而且不 可取代,能否檢測紅外、能測到多少紅外或者紅外 檢測的技術(shù)是否可以應(yīng)用于任何自然的或想象的場 合是紅外應(yīng)用技術(shù)的關(guān)鍵。I2】 當(dāng)今紅外技術(shù)的一個(gè)重要分支是紅外通信技術(shù) 的應(yīng)用,這個(gè)應(yīng)用的發(fā)展非常迅速,尤其是紅外通 信應(yīng)用于計(jì)算機(jī)設(shè)備中,近幾年的發(fā)展已經(jīng)

18、表現(xiàn)出 其非常成熟的特性[3]。 1.2.2選擇紅外遙控的原因 無線遙控方式可分為無線電波式、聲控式、超聲 波式和紅外線式。由于無線電式容易對(duì)其它電視機(jī)和 無線電通訊設(shè)備造成干擾,而且,系統(tǒng)本身的抗干擾 性能也很差,誤動(dòng)作多,所以未能大量使用。超聲波 式頻帶較窄,易受噪聲干擾,系統(tǒng)抗干擾能力差以及 聲控式識(shí)別正確率低,難度大而未能大量采用。紅外 遙控方式是以紅外線作為載體來傳送控制信息的, 同 時(shí)隨著電子技術(shù)的發(fā)展,單片機(jī)的出現(xiàn),催生了數(shù)字 編碼方式的紅外遙控系統(tǒng)的快速發(fā)展。另外,紅外遙 控具有很多的優(yōu)點(diǎn),例如紅外線發(fā)射裝置采用紅外發(fā) 光二極管,遙控發(fā)射器易于小型化且價(jià)格低廉; 采用 數(shù)

19、字信號(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)在很多無線遙控方式都采用 紅外遙控方式。⑷ 1.2.3紅外的簡單發(fā)射接收原理 在發(fā)射端,輸入信號(hào)經(jīng)放大后送入紅外發(fā)射管 發(fā)射,在接收端,接收管收到紅外信號(hào)后,由放大 器放大處理后還原成信號(hào),這就是紅外的簡單發(fā)射 接收原理。[5] 2系統(tǒng)設(shè)計(jì)方案論證 2.1設(shè)計(jì)目的與原理 目前市場上一般采用的遙控編碼及解碼集成 電路。此方案具有制作簡單、容易等特點(diǎn),但由于 功能鍵數(shù)及功能受

20、到特定的限制,只適合用某一專 用電器產(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ā)射頻率的不同,來識(shí)別不 同的遙控功能。當(dāng)我們按下某一個(gè)按鍵的時(shí)候,由 單片機(jī)識(shí)別出該按鍵后,由 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ù)器得到該紅外光的頻率,然后將該頻 率

21、送往CPU,由CPU對(duì)該信號(hào)進(jìn)行反編碼,識(shí)別 出控制信號(hào),從而對(duì)控制電路實(shí)施控制功能。完成 整個(gè)遙控功能[8] 2.2單片機(jī)紅外遙控發(fā)射器設(shè)計(jì)原理 單片機(jī)紅外遙控發(fā)射器主要有單片機(jī)、行列式 鍵盤、低功耗空閑方式控制電路、紅外管發(fā)射電路 以及單片機(jī)的一些電源、復(fù)位、震蕩子電路組成[9]。 單片機(jī)不工作時(shí)一直處于低功耗狀態(tài), 采用了 空閑節(jié)電工作方式。當(dāng)遙控器的某一按鍵被按下以 后,外部中斷1產(chǎn)生中斷,喚醒單片機(jī)進(jìn)入工作狀 態(tài),查詢鍵盤按下的是哪一個(gè)按鍵,當(dāng)確認(rèn)按鍵后, 控制軟件啟動(dòng)定時(shí)器TO、T1,T1作為發(fā)射時(shí)間控 制器,TO作為紅外線發(fā)射頻率控制器,TO定時(shí)溢 出時(shí)中斷程序使紅外管接口

22、電平反轉(zhuǎn)一次,寫入定 時(shí)器的初值不同,在輸出端口就得到不同的發(fā)射頻 率。T1定時(shí)溢出時(shí)中斷程序關(guān)閉關(guān)閉 TO定時(shí)器, 停止紅外線發(fā)射[10]。其設(shè)計(jì)原理框圖如下。 9 圖2.1單片機(jī)遙控發(fā)射 器設(shè)計(jì)原理圖 2.3單片機(jī)紅外遙控接收器設(shè)計(jì)原理 單片機(jī)紅外遙控接收器主要有單片機(jī)、紅外遙控 接收電路、狀態(tài)指示電路、控制電路以及單片機(jī)的一 些外圍電路組成。 利用單片機(jī)中的TO作為紅外脈沖計(jì)數(shù)器,T1作 為計(jì)數(shù)時(shí)間控制器。當(dāng)電路中紅外接收管接收到第一 個(gè)紅外脈沖時(shí),外部中斷1被觸發(fā),啟動(dòng)計(jì)數(shù)器TO 和定時(shí)器T1。定時(shí)溢出,中斷程序關(guān)閉計(jì)數(shù)器 T0, 讀入計(jì)數(shù)值并進(jìn)行判斷,確定操作對(duì)象

23、(遙控按鍵) 對(duì)其進(jìn)行反轉(zhuǎn)操作,控制電路對(duì)所控制的負(fù)載進(jìn)行開 或關(guān)[11]。還可對(duì)接收電路實(shí)行上鎖功能,對(duì)控制電路 上鎖后,遙控器不能對(duì)控制電路實(shí)施遙控功能[8]。其 11 圖2.2紅外接收遙控電路 原理框圖 3系統(tǒng)硬件電路設(shè)計(jì) 3.1有關(guān)AT89C2051單片機(jī)的介紹 3.1.1簡介 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)

24、大。 AT89C2051只有20個(gè)雙向輸入/輸出(I/O)端口, 其中P1是完整的8位雙向I/O 口,兩個(gè)外中斷,2 個(gè)16位可編程定時(shí)/計(jì)數(shù)器,兩個(gè)全雙向串行通信口, 一個(gè)模擬比較放大器 此外,AT89C2051的時(shí)鐘頻率可為零,即具備可 用軟件設(shè)置的睡眠省電功能,系統(tǒng)的喚醒方式有 RAM、定時(shí)/計(jì)數(shù)器、串行口和外中斷口,系統(tǒng)喚醒 后即進(jìn)入工作狀態(tài),省電模式中,片內(nèi) RAM將被凍 結(jié),時(shí)鐘停止震蕩,所有功能停止工作,直至系統(tǒng)被 硬件系統(tǒng)復(fù)位方可繼續(xù)工作[12] 0 3.1.2引腳介紹 Vcc :接+5V電源正端 GND :接+5V電源地端 P1.XP1.7:完整的雙向串行通信

25、接口,P1.0與P1.1 還有第二種功能 P3.0— P3.7:除 P3.6外,雙向 I/O 口,除 P3.7外,均 有第二功能,第二功能與MCS-51系列單片機(jī)基本相 同 XTAL1 :震蕩器反向放大器內(nèi)部工作時(shí)鐘輸入端 XTAL2 :震蕩器反向放大器的輸出端 RST:復(fù)位引腳,震蕩器工作時(shí),該引腳上兩個(gè)機(jī) 器周期的高電平復(fù)位[10] 14 PD1P/SOIC RST匚 J 1 20 (RXD) P3.0 匚 2 19 (TXD) P3.1 一 3 18 XTAL2 匚 4 17 □ XTAL1 IC 5 16 h (INT

26、O) P3.2 二 6 15 (INT1) P3.3 一 7 14 □ (TO) P3.4 ir 8 13 □ (T1) P3.5 ir 9 12 □ GND匚 10 11 □ VCC PV7 P16 P1.5 P1.4 P1.3 P1.2 P1,1 (AIN1) P1.0 (AINO) P37 圖 3.1 AT89C2051 引腳圖 16 主要功能特性 ?兼容

27、MCS51指令系統(tǒng) ? 15個(gè)雙向I/O 口 ?兩個(gè)16位可編成定時(shí)/計(jì)數(shù)器 ?時(shí)鐘頻率0—24MHz ?兩個(gè)外部中斷源 ?可直接驅(qū)動(dòng)LED ?低功耗睡眠功能 ?可編程URRL通道 ? 2KB可反復(fù)擦寫Flash ROM ?6個(gè)中斷源 ? 2.7—6.0V寬工作電壓范圍 ? 128*8位內(nèi)部RAM ?兩個(gè)串行中斷 ?兩級(jí)加密位 ?內(nèi)置一個(gè)模擬比較放大器 ?軟件設(shè)置睡眠和喚醒功能 3.1.3 AT89C2051單片機(jī)的主要組成部分 1. CPU CPU是單片機(jī)的核心部分,他的作用是讀入和分 析每條指令,根據(jù)每條指令的功能要求,控制各個(gè)部件 執(zhí)行相應(yīng)的操作。AT

28、89C2051單片機(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)算器主要用來實(shí)現(xiàn)數(shù)據(jù)的傳送、數(shù)據(jù)的算術(shù)運(yùn)算、 邏輯運(yùn)算和位變量處理等。 B .控制器 控制器包括時(shí)鐘發(fā)生器、定時(shí)控制邏輯、指令寄 存器指令譯碼器、程序計(jì)數(shù)器PC、程序地址寄存器、 數(shù)據(jù)指針寄存器DPTR和堆棧指針SP等。 控制器是用來統(tǒng)一指揮和控制計(jì)算機(jī)進(jìn)行工作 的部件。它的功能是從程序存儲(chǔ)器中提取指令,送到 指令寄存器,再進(jìn)入指令譯碼

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

30、002H :是所有執(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ī)將其分為兩個(gè)區(qū):00H — FFH的128B單 元為片內(nèi)RAM區(qū),

31、可以讀、寫任何數(shù)據(jù);80H— FFH 的高128B單元為專用寄存器區(qū)。在低128B的內(nèi)部 RAM中,前32個(gè)單元(地址為 00H—1FH)為通用 工作寄存器區(qū),共分為四組(寄存器 0組、1組、2 組、3組),每組8個(gè)工作寄存器由R0— R7組成,共 占32個(gè) 單元。選用哪一組由程序狀態(tài)字 PSW中的 RS1、RS0這兩位的設(shè)置決定,若程序并不需要四個(gè) 4組工作寄存器,那么剩下的工作寄存器可作一般的 存儲(chǔ)器來使用。CPU在復(fù)位時(shí)自動(dòng)選中0組20H— 2FH的16個(gè)單元為位尋址區(qū),每個(gè)單元8位,共128 位。其位尋址范圍為00H — 7FH。位尋址區(qū)的每一位 都可當(dāng)作軟件觸發(fā)器,由程序直接進(jìn)行處理

32、。程序中 通常把各種程序狀態(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中; 除法運(yùn)算時(shí),B中存放除數(shù),出發(fā)操作后,B中又存 放余數(shù)。在其他指令中,寄存器B可作為一般的寄存 器使用,用于暫存數(shù)據(jù)[1

33、4]。 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)寄存器 特殊功能寄存器TMOD和TCON分別是定時(shí)/計(jì) 數(shù)器0和1的控制和狀態(tài)寄存器,用于控制和確定各 定時(shí)/計(jì)數(shù)器的功能和工作模式

34、。 1 ?模式控制寄存器TMOD TMOD用于控制T0和T1的工作方式和4種工 作模式。其中低4位用于控制T0,高4位用于控制 T1。其格式如下: GAT C/T GAT C/T E 非 M1 M0 E 非 M1 M0 GATE位:門控位。 當(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ù)器就被選通,而不管INT0非或INT1非的電 平是高還是低 C/T非位:計(jì)數(shù)/定時(shí)功能選擇位。 C/T非=0,設(shè)置為定時(shí)器方式,計(jì)數(shù)

35、器的輸入是內(nèi) 部時(shí)鐘脈沖,其周期等于機(jī)器周期。 C/T非=1,設(shè)置為計(jì)數(shù)器方式,計(jì)數(shù)器的輸入來自 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在此方式無實(shí)用意義 2. 控制寄存器TCON TCON用來控制T0和T1的啟、停,并給出相應(yīng) 的控制狀態(tài),

36、高4位用于控制定時(shí)器0、1的運(yùn)行; 低4位用于控制外部中斷。格式如下: TF TR1 TF0 TR0 IT IE 1 IE1 1 0 IT0 TF1:定時(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)志位,其功能和操作情況 類同于TF1。 TR0位:定時(shí)器0運(yùn)行控制位,其功能和

37、操作類 同于TR1。 IE位:外部中斷請(qǐng)求標(biāo)志位。 當(dāng)CPU采樣到INTO非(或INT1 非)端出現(xiàn)有 效中斷請(qǐng)求時(shí),IE0 (或IE1 )由硬件置1,中斷響應(yīng) 完成后轉(zhuǎn)向中斷服務(wù)時(shí),再由硬件自動(dòng)清零。 IT位:外部中斷請(qǐng)求出發(fā)方式位。 ITO(IT1)=1為脈沖觸發(fā)方式,后負(fù)跳有效。 ITO( 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寄存器賦值,以確定定時(shí)器的工 作模式; (2) 置定時(shí)/計(jì)數(shù)器

38、初值,直接將初值寫入寄存 器的 TH0,TL0 或 TH1,TL1 ; (3) 根據(jù)需要,對(duì)寄存器IE置初值,開放定時(shí) 器中斷; (4) 對(duì)TCON寄存器中的TRO或TR1置位, 啟動(dòng)定時(shí)/計(jì)數(shù)器,置位以后,計(jì)數(shù)器即按規(guī) 定的工作模式和初值進(jìn)行計(jì)數(shù)或開始定時(shí)。 在初始化過程中,要置入定時(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), 則置入的初值可以這樣來計(jì)算。 計(jì)數(shù)方式時(shí)

39、 X=M —記數(shù)值 定時(shí)方式時(shí) (M — X)T=定時(shí)值 所以 X=M —定時(shí)值/T 式中,T為計(jì)數(shù)周期,是單片機(jī)的機(jī)器周期[13]。 3.2.3 TO和T1的4種工作方式 方式0: 13位定時(shí)/計(jì)數(shù)器,TL1 (或TL0 )的低5 位和TH1 (或THO)的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位也參與了計(jì)數(shù)。 方式2:把TL配置成一個(gè)可以自

40、動(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)簡單,但I(xiàn)/O 口線浪費(fèi)較大[16]。 獨(dú)立式按鍵配置靈活,軟件結(jié)構(gòu)簡單,上拉電阻 保證了按鍵斷開時(shí),I/O 口線有確定的高電平,其電 路原理圖如下 1 RST VCC RXD/P3.0 P1.7 TXDJP3.1 Plf XTAL2 Pl.5 XTAL1

41、 Pl.4 INT3/P3.2 Pl .3 INTL/P3.3 Pl .2 T3/P3.1 P1.1/AIN1 T1/P3.5 P1 .a/AINO GND P3 7 4 6 8 la AT83C2D51 vcc I 4.7 2D 19 1S 1? 16 15 14 13 12 LL 2 圖3.2獨(dú)立式按鍵電路 3.4低功耗控制電路 3.4.1低功耗的實(shí)現(xiàn)方法 AT89C2

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

43、將會(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ù)具體操作過程如下。 單片機(jī)應(yīng)用系統(tǒng)的電壓檢測電路檢測到電源電壓 下降時(shí),觸發(fā)外部中斷(INTO或INT1),在中斷服 務(wù)子程序中將外部 RAM中的有用數(shù)據(jù)送入內(nèi)部 RAM保存。因單片機(jī)電源入口的濾波電容的儲(chǔ)能作 用,可以有足夠的時(shí)間來完成中斷操作。 備用電源自 切換電路屬于單片機(jī)內(nèi)部電路。它由兩個(gè)二極管組 成,當(dāng)電源電壓高于 VPD引腳的備用電源電壓時(shí), VD1導(dǎo)通,VD2截止,單片機(jī)由電源供電;當(dāng)電

44、源 電壓降到比備用電源電壓低時(shí),二極管 VD1截止, VD2導(dǎo)通,單片機(jī)由備用電源供電[15]。 備用電源只為單片機(jī)內(nèi)部 RAM和專用寄存器提 供維持電流,這時(shí)單片機(jī)外部的全部電路因停電而停 止工作,時(shí)鐘電路也停止工作,CPU因無時(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ù)過來。 當(dāng)用戶檢測到一個(gè)掉電保護(hù)電路時(shí),立即通過外 部中斷輸入線INTO來中斷單片機(jī)現(xiàn)行操作。外部中 斷0服務(wù)程序?qū)⒂嘘P(guān)數(shù)據(jù)信息送入片內(nèi) RAM保存, 然后向P1.0寫入0,P1.0輸出的

45、這個(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ù)過程則不同。當(dāng)電壓檢測電路檢 測到電源電壓降低時(shí),也觸發(fā)外部中斷,在中斷服務(wù) 子程序中,除了要將外部RAM中的有用數(shù)據(jù)保存以 外,還要將特殊功能寄存器的有用內(nèi)容保護(hù)起來, 然 后對(duì)電源控制寄存器PCON進(jìn)行設(shè)置。PCON寄存器 的各位定義如下。 D

46、2 D1 DO SMO GF GF0 PD IDL D 1 其中,SMOD是波特率倍增位,在串行通信中使 D7 D6 D5 D4 D3 用。 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í)的備 用電源是通過VCC引腳接入的。當(dāng)電源恢復(fù)正常后, 系統(tǒng)要維持10ms的恢復(fù)時(shí)間后才能退出掉

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

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

49、復(fù)位退出。復(fù)位時(shí),各個(gè)專用寄存 器都恢復(fù)默認(rèn)狀態(tài),電源控制寄存器 PCON也不例 外,復(fù)位使IDL清零,退出空閑工作方式。 MCS—51的掉電保護(hù)也是一種節(jié)電工作方式,它 和空閑工作方式一起構(gòu)成了低功耗工作方式。一旦用 戶檢測到掉電發(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即

50、能使單片機(jī)退出掉電 方式[17]。 在該電路中,退出空閑工作方式采用中斷的方法。 當(dāng)遙控鍵盤上的人任一個(gè)按鍵按下以后,與門輸出即 為低電平,觸發(fā)INT1引腳,外部中斷1響應(yīng),使IDL 位清零,退出空閑工作方式,恢復(fù)正常狀態(tài)。其硬件 電路如下 vcc RST VCC RXD/P3.0 P1 7 TXD/P3 1 P1.6 ZTAL2 P1.5 XTALL P1 4 INT0/P32 P13 IMT1/P33 P1 2 T0/P3.4 P1.1/AINI TI/P3 5 F1J0UJN0 GND P3 7 1 4 5 7 8 ID

51、 AT89C2051 圖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í)鐘發(fā)生器,見下圖,外接晶振時(shí), C1、C2值通常選擇為30pF左右;外接陶瓷振蕩器時(shí), C1、C2約為47pF。C1、C2對(duì)頻率有微調(diào)作用,震 蕩頻率范圍是1.

52、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í)鐘輸入均采用內(nèi)部時(shí)鐘方 式,外接一個(gè)震蕩電路,本系統(tǒng)采用內(nèi)部時(shí)鐘方式, 晶振采用12MHz,其電路如下。 RST vcc RXDXP3.0 Pl .7 T

53、XD/P3.1 P16 XTAL2 Pl.5 XTAL1 Pl.4 INT0/P32 Pl 3 INT1^3 3 Pl 2 T0/P3.4 PllMOTl T1/P3.5 PL.O/AINO GND P3.7 AT69C2051 20 Is Te 11 圖 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)各寄存器初值 專用寄存

54、器 復(fù)位狀態(tài) 專用寄存 器 復(fù)位狀態(tài) PC 0000H TMOD 00H ACC 00H TCON 00H B 00H TH0 00H PSW 00H TL0 00H SP 07H TH1 00H DPTR 0000H TL1 00H P0^ P3 FFH SCON 00H IP XXX0 SBUF XXXX IE 0000B PCON XXXXB 0XX0 0XXX 0000B 0000B 3.6.2復(fù)位電路 單片機(jī)復(fù)位電路包括片內(nèi)、片外兩部分,片外復(fù) 位電路通過引腳加到內(nèi)部復(fù)

55、位電路上, 內(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電路充電過程 中,RST端出現(xiàn)正脈沖,從而使單片機(jī)復(fù)位。 按鍵手動(dòng)復(fù)位又分為按鍵電平復(fù)位和按鍵脈沖復(fù) 位,按鍵電平復(fù)位是將復(fù)位端通過電阻與 Vcc相連, 按鍵脈沖復(fù)位是利用RC微分電路產(chǎn)生正脈沖來達(dá)到 復(fù)位的目的。 本系統(tǒng)設(shè)計(jì)時(shí)米用的是上電復(fù)位方式,其電路 原理圖如下。 9^19

56、.U 圖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)算后,通過三極管的功率驅(qū)動(dòng)到紅外發(fā)光二 極管上[18]。 紅外發(fā)送電路由4001MOS或非門38KHz振蕩器, 單片機(jī)發(fā)送控制電路和紅外發(fā)送管驅(qū)動(dòng)輸出電路組 成,當(dāng)單片機(jī)P3.4 口輸出為“0”時(shí),發(fā)射管不發(fā)光, 當(dāng)單片機(jī)P3.4 口輸出為“

57、1”時(shí),紅外發(fā)送管發(fā)出 38KHZ調(diào)制紅外線[19]。 具體的發(fā)射波形與電路如下 朝波信號(hào) 39 # 發(fā)射信號(hào) n^ 的波形 nnji 圖3.7調(diào)制過程中 # io RST VCC Pl .7 TXD/P3.1 Pl .6 XTAL2 Pl .5 XTAL1 Pl .4 INT0/P3.2 Pl .3 INT1/P3.3 Pl .2 T0/P34 P1.UAIN1 T1/P3 5 P1.D/AIN0 GND P3.7 ATE9C2051 1 4 6 7 20 T? T

58、b 17 Te Ts 13 12 IT 圖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) RPM6938收到第一個(gè)紅外脈沖時(shí),觸發(fā)INT1產(chǎn)生中 斷,使單片機(jī)退出低功耗狀態(tài),進(jìn)入工作狀態(tài),同時(shí) 使記數(shù)器0和定時(shí)器1開始工作[21] AT89C2051 圖3.9 紅外接收電 3.9完整的系統(tǒng)

59、電路設(shè)計(jì)圖 完整的電路圖見附錄1 42 4系統(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)采用單片機(jī)制作,采用編程 的方法,由于編程具有靈活性,故應(yīng)用范圍較廣,操 作碼可隨意設(shè)定[22]。 本系統(tǒng)采用的是按紅外發(fā)射頻率的不同,來識(shí)別 不同的按鍵

60、。操作鍵設(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來定時(shí),時(shí)間為100ms,當(dāng)100ms 時(shí)間到定時(shí)器1發(fā)生中斷,停止計(jì)時(shí),紅外光也停止 發(fā)射。由定時(shí)/計(jì)數(shù)器0來控制發(fā)射頻率,T0作為定 時(shí)器,當(dāng)T0定時(shí)時(shí)間到,中斷程序使P3.4斷口的電 平反轉(zhuǎn)一次,然后T0重新工作定時(shí)值與前相同,時(shí) 間到中斷程序使 P3.4端口翻轉(zhuǎn)一次,如此往復(fù),紅 外信號(hào)就按一定的時(shí)間間隔發(fā)射出去。通過設(shè)定 T0

61、 的定時(shí)時(shí)間來控制紅外信號(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ù)程序組成。主程序流 程圖如下: 44 N 46 圖4.1遙控發(fā)射主程序流程圖 當(dāng)K2至K7鍵按下時(shí),執(zhí)行的程序類似于按下 K1 鍵所執(zhí)行的程序。 4.1.2偽指令和初始化程序 在初始化程序前,需要定義一些相關(guān)的偽指 令,偽指令不能命令CPU執(zhí)行某中操作,也沒有對(duì) 應(yīng)的機(jī)器代碼,

62、它的作用僅用來給匯編程序提供某 中信息。偽指令是匯編程序能夠識(shí)別的匯編命令。 控制信號(hào)的輸入口 P1.0-P1.7分別用按鍵開關(guān)鍵號(hào) K0 — K7來定義;各頻率紅外信號(hào)對(duì)應(yīng)的定時(shí)器 T0 的初值分別用 K0H、K0L -- K7H、K7L來定義, 這樣做不影響整個(gè)程序的執(zhí)行,但便于閱讀和理解 程序。定義格式如下: KO BIT P1.0 K7 BIT P1.7 由于P1.0至P1.7對(duì)應(yīng)的紅外發(fā)射頻率分別為 300Hz、600 Hz、900 Hz、1200 Hz、1500 Hz、1800 Hz、2100 Hz、2400 Hz,而 T1 的定時(shí)時(shí)間是 50ms 故在這七種狀態(tài)下

63、面, P3.4端口狀態(tài)分別反轉(zhuǎn) 15 次、30次、45次、60 次、75次、90次、105次、120 次。故定時(shí)器T0對(duì)應(yīng)的定時(shí)時(shí)間分別為 50ms/15、 50ms/30、50ms/45、50ms/60、50ms/75、50ms/90、 50ms/105、50ms/120,即分別為:3.33ms 1.67ms、 1.11ms、0.833ms、0.667ms、0.556ms、0.476ms、 0.417ms。由前述定時(shí)器初值計(jì)算方法可算出各狀態(tài) 定時(shí)器的初值。 定時(shí)器T1的定時(shí)初值計(jì)算如下: 由于工作在方式一,時(shí)鐘頻率為 12MHz,故定時(shí)最 大值M為65536 初值 X=M —定時(shí)

64、值/T X=65536—50000/ 仁 15536 即T1的初值為15536,轉(zhuǎn)化為十六進(jìn)制為3CB0H 各情況下,定時(shí)T0的定時(shí)初值計(jì)算如下: 當(dāng)按下K0鍵時(shí),定時(shí)時(shí)間為 3.33ms,此時(shí)定時(shí) 器初值為 X0= 65536—3330/ 仁62206 轉(zhuǎn)化為十六進(jìn)制為0F2FEH 當(dāng)按下K1鍵時(shí),定時(shí)時(shí)間為1.67ms,此時(shí)定時(shí) 器初值為 X1=65536—1670/ 仁63866 轉(zhuǎn)化為十六進(jìn)制為0F97AH 當(dāng)按下K2鍵時(shí),定時(shí)時(shí)間為1.11ms,此時(shí)定時(shí) 器初值為 X2=65536-1110/ 仁64426 轉(zhuǎn)化為十六進(jìn)制為0FBAAH 當(dāng)按下鍵K3時(shí),定時(shí)時(shí)間為0.833ms,此時(shí)定時(shí) 器初值為 X3=65536-833/ 仁64703 轉(zhuǎn)化為十六進(jìn)制為0FCBFH 當(dāng)按下鍵K4時(shí),定時(shí)時(shí)間為0.667ms,此時(shí)定時(shí) 器初值為 X4=65536-667/ 仁64869 轉(zhuǎn)化為十六進(jìn)制為0FD65H 51

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!