遙控器控制的交通燈設(shè)計(jì)_第1頁(yè)
遙控器控制的交通燈設(shè)計(jì)_第2頁(yè)
遙控器控制的交通燈設(shè)計(jì)_第3頁(yè)
遙控器控制的交通燈設(shè)計(jì)_第4頁(yè)
遙控器控制的交通燈設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(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、學(xué) 號(hào) 單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)設(shè)計(jì)說(shuō)明書(shū)遙控器控制的交通燈設(shè)計(jì)起止日期: 2014 年 1 月 6 日 至 2014 年 1 月 17 日學(xué)生姓名班級(jí)成績(jī)指導(dǎo)教師(簽字)計(jì)算機(jī)與信息工程學(xué)院2014年 1月 17日天津城建大學(xué)課程設(shè)計(jì)任務(wù)書(shū)20132014學(xué)年 第1學(xué)期專業(yè) 班級(jí) 學(xué)號(hào) 課程設(shè)計(jì)名稱: 單片機(jī)原理及接口技術(shù) 設(shè)計(jì)題目: 遙控器控制的交通燈設(shè)計(jì) 完成期限:自 2014 年 1 月 6 日至 2014 年 1 月 17 日共 2 周設(shè)計(jì)依據(jù)、要求及主要內(nèi)容:一設(shè)計(jì)的目的1.進(jìn)一步熟悉和掌握單片機(jī)系統(tǒng)設(shè)計(jì)和編程原理。2.掌握單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外特性、控制方法。3.

2、通過(guò)設(shè)計(jì),掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù)。4.通過(guò)實(shí)際程序設(shè)計(jì)和調(diào)試,掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。5.通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序開(kāi)發(fā)的完整過(guò)程,了解開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)的全過(guò)程,為今后從事相應(yīng)開(kāi)發(fā)打下基礎(chǔ)。二設(shè)計(jì)的基本要求1.認(rèn)真認(rèn)識(shí)設(shè)計(jì)的意義,掌握設(shè)計(jì)工作程序,學(xué)會(huì)使用工具書(shū)和技術(shù)參考資料,并培養(yǎng)科學(xué)的設(shè)計(jì)思想和良好的設(shè)計(jì)作風(fēng)。2.提高模型建立和設(shè)計(jì)能力,學(xué)會(huì)應(yīng)用相關(guān)設(shè)計(jì)資料進(jìn)行設(shè)計(jì)計(jì)算的方法。3.提高獨(dú)立分析、解決問(wèn)題的能力,逐步增強(qiáng)實(shí)際應(yīng)用訓(xùn)練。4.設(shè)計(jì)的說(shuō)明書(shū)要求簡(jiǎn)潔、通順,電路圖內(nèi)容完整、清楚、規(guī)范。三設(shè)計(jì)主要內(nèi)容a) 設(shè)計(jì)實(shí)現(xiàn)功能STC12C5A60S2(引腳排

3、序及基本功能同AT89S51)作為主控芯片,設(shè)計(jì)交通燈控制電路。一是交通燈的正常指示設(shè)計(jì);二是擴(kuò)展遙控接收電路,實(shí)現(xiàn)交通燈運(yùn)行的人為干預(yù)(可設(shè)有全紅燈按鍵、延長(zhǎng)某方向信號(hào)按鍵、快速進(jìn)入另一方向通行按鍵、恢復(fù)按鍵等功能);三是根據(jù)需要擴(kuò)展DS12C887、LCD1602等相應(yīng)的外圍電路。b) 原理圖設(shè)計(jì)1.原理圖設(shè)計(jì)要符合項(xiàng)目的工作原理,連線要正確。2.圖中所使用的元器件要合理選用,電阻、電容等器件的參數(shù)要正確標(biāo)明。3.原理圖要完整,CPU、外圍器件、外擴(kuò)接口、輸入/輸出裝置要一應(yīng)俱全。c) 程序調(diào)計(jì)1.根據(jù)要求,將總體功能分解成若干個(gè)子功能模塊,每個(gè)功能模塊完成一個(gè)特定的功能。2.根據(jù)總體要求

4、及分解的功能模塊,確定各功能模塊之間的關(guān)系,設(shè)計(jì)出完整的程序流程圖。d) 程序調(diào)試1.編寫(xiě)相關(guān)程序,并進(jìn)行仿真。2.將程序下載到單片機(jī),進(jìn)行運(yùn)行調(diào)試。e) 設(shè)計(jì)說(shuō)明書(shū)1.原理圖設(shè)計(jì)說(shuō)明簡(jiǎn)要說(shuō)明設(shè)計(jì)目的,原理圖中所使用的元器件功能及在圖中的作用,各器件的工作過(guò)程及順序。2.程序設(shè)計(jì)說(shuō)明對(duì)程序設(shè)計(jì)總體功能及結(jié)構(gòu)進(jìn)行說(shuō)明,對(duì)各子模塊的功能以及各子模塊之間的關(guān)系作較詳細(xì)的描述。3.畫(huà)出工作原理圖,程序流程圖并給出相應(yīng)的程序清單。指導(dǎo)教師(簽字): 教研室主任(簽字): 批準(zhǔn)日期: 2014 年 1 月 2 日目 錄第1章 單片機(jī)及調(diào)試軟件的介紹11.1單片機(jī)的簡(jiǎn)介11.1.1單片機(jī)的發(fā)展歷程11.1.

5、2單片機(jī)的特點(diǎn)11.1.3 MCS51單片機(jī)內(nèi)部結(jié)構(gòu)11.2 keil 軟件介紹21.2.1 keil的概述21.2.2 Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)3第2章 設(shè)計(jì)要求及原理32.1 設(shè)計(jì)實(shí)現(xiàn)的功能32.2設(shè)計(jì)的要求42.3設(shè)計(jì)的原理42.4 設(shè)計(jì)流程圖4第3章 紅外遙控電路的設(shè)計(jì)63.1 紅外通信原理63.2 紅外接收部分73.3 紅外發(fā)射部分8第4章 系統(tǒng)軟件程序的設(shè)計(jì)與調(diào)試94.1 程序主體設(shè)計(jì)思路94.2系統(tǒng)延時(shí)設(shè)計(jì)94.3 系統(tǒng)中斷設(shè)計(jì)94.4紅外遙控設(shè)計(jì)104.5設(shè)計(jì)的調(diào)試11總 結(jié)12參考文獻(xiàn)13附 錄14第1章 單片機(jī)及調(diào)試軟件的介紹1.1單片機(jī)的簡(jiǎn)介1.1.1

6、單片機(jī)的發(fā)展歷程 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。 在MCS-51系列單片機(jī)中,有兩個(gè)子系列:51子系列和52子系列。每個(gè)子系列有諾干中型號(hào)。51系列有8051、8751和8031三個(gè)型號(hào),后來(lái)經(jīng)過(guò)改進(jìn)產(chǎn)生了80c51、87c51、80c31三個(gè)型號(hào);52系列有5021、8752、8032三個(gè)型號(hào),改進(jìn)后的型號(hào)是80c52/87c52、80c32。改進(jìn)后的型號(hào)更加省電。52系列比對(duì)應(yīng)的51系列增加了定時(shí)器T2并將內(nèi)部程序存貯器增加到8KB。Inter公司停止生產(chǎn)MCS-51系列單片機(jī)之后將生產(chǎn)權(quán)

7、轉(zhuǎn)讓給了許多其他公司,于是出現(xiàn)了許多與Mcs-51兼容的單片機(jī)?,F(xiàn)在生產(chǎn)mcs-51兼容單片機(jī)的公司對(duì)其進(jìn)行了不同程度的改進(jìn)和提高。我們現(xiàn)在使用比較的多的是AT89C51/AT89s51等。 通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件:中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。單片機(jī)經(jīng)過(guò)1、2、3、3代的發(fā)展,目前單片機(jī)正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強(qiáng),內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。1.1.2單片機(jī)的特點(diǎn)(1)性價(jià)比高,開(kāi)發(fā)周期短,易于產(chǎn)品化,(2)集成度高,

8、可靠性好,抗干擾性強(qiáng),(3)功能完善,接口多樣,(4)低功耗、低電壓一般電源供電電壓在53V范圍內(nèi)單片機(jī)都能正常工作,供電的下限可達(dá)12V。(5)總線多樣,易于擴(kuò)展單片機(jī)外部的典型三總線結(jié)構(gòu),方便系統(tǒng)構(gòu)擴(kuò)展,構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng)。外部總線增加了I2C及SPI等串行總線方式, 可根據(jù)需要進(jìn)行并行或者串行擴(kuò)展。1.1.3 MCS51單片機(jī)內(nèi)部結(jié)構(gòu) .一個(gè)8 位的中央處理器 CPU(又稱為微處理器)有 128字節(jié) 的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM。 .4KB片內(nèi) 程序存儲(chǔ)器ROM或EPROM .片內(nèi) 18個(gè) 特殊功能寄存器(SFR).4個(gè)8位 的并行輸入輸出I/O口(PIO).1個(gè) 串行口I/O(SIO/U

9、ART)完成單片機(jī)與其他微機(jī)的之間的串行通信.2/3個(gè)16位 定時(shí)器/計(jì)數(shù)器(TIMER/COUNTER).可處理 5個(gè)中斷源,兩級(jí)可程序優(yōu)先級(jí)的中斷系統(tǒng)圖1 單片機(jī)的內(nèi)部結(jié)構(gòu)圖1.2 keil 軟件介紹1.2.1 keil的概述 Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到

10、Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種Keil軟件圖標(biāo)是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支

11、持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具

12、也會(huì)令你事半功倍。1.2.2 Keil C51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),其中uVision與Ishell分別是C51 for Windows和for Dos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使

13、用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。使用獨(dú)立的Keil仿真器時(shí),注意事項(xiàng)* 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時(shí)只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。第2章 設(shè)計(jì)要求及原理2.1 設(shè)計(jì)實(shí)現(xiàn)的功能 STC12C5A60S2(引腳排序及基本功能同AT89S51)作為

14、主控芯片,設(shè)計(jì)交通燈控制電路。 一是交通燈的正常指示設(shè)計(jì); 二是擴(kuò)展遙控接收電路,實(shí)現(xiàn)交通燈運(yùn)行的人為干預(yù)(可設(shè)有全紅燈按鍵、延長(zhǎng)某方向信號(hào)按鍵、快速進(jìn)入另一方向通行按鍵、恢復(fù)按鍵等功能); 三是根據(jù)需要擴(kuò)展DS12C887、LCD1602等相應(yīng)的外圍電路。2.2設(shè)計(jì)的要求利用AT89C51單片機(jī)的P1端口的接LED來(lái)模擬交通路口的紅綠黃燈,用遙控按鍵來(lái)模擬有突發(fā)情況是的情形。P1端口的P1.0到P1.2所接的LED分別表示東西路口的紅、黃、綠燈,P1.3到P1.5所接的LED分別表示南北路口的紅、黃、綠燈。P3.2接按鈕,模擬產(chǎn)生外部中斷。正常情況下按照正常指示進(jìn)行點(diǎn)亮當(dāng)發(fā)生突發(fā)情況時(shí)外部產(chǎn)

15、生中斷,單片機(jī)響應(yīng)中斷并轉(zhuǎn)向中斷程序,完成后返回原程序。2.3設(shè)計(jì)的原理 設(shè)在十字路口,分為東西向和南北向,在任一時(shí)刻只有一個(gè)方向通行,另一方向禁行,持續(xù)一定時(shí)間,經(jīng)過(guò)短暫的過(guò)渡時(shí)間,將通行禁行方向?qū)Q。其具體狀態(tài)如下圖所示。說(shuō)明:黑色表示亮,白色表示滅。圖2 交通燈的正常指示2.4 設(shè)計(jì)流程圖 開(kāi) 始 東西路口綠燈亮,南北路口紅燈亮外部中斷初始化置口地址 延時(shí)20秒突發(fā)情況遙控按鍵進(jìn)行相應(yīng)的處理延時(shí)5秒東西路口紅燈亮,南北路口黃燈亮延時(shí)20秒東西路口紅燈亮,南北路口綠燈亮延時(shí)5秒東西路口黃燈亮,南北路口紅燈亮 NO YES 圖 3 流程圖中斷入口有關(guān)寄存器入棧執(zhí)行相應(yīng)的程序延時(shí)10秒取中斷前

16、所保存的數(shù)據(jù)輸入,恢復(fù)原始狀態(tài)有關(guān)寄存器出棧 外部中斷允許標(biāo)志置位中斷返回 圖 4 中斷流程圖第3章 紅外遙控電路的設(shè)計(jì)3.1 紅外通信原理 紅外遙控有發(fā)送和接收兩部分組成。發(fā)送端采用單片機(jī)將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制為一系列的脈沖信號(hào),通過(guò)紅外發(fā)射管發(fā)射紅外信號(hào)。紅外接收完成對(duì)紅外信號(hào)的接收,放大,檢波,整形,并輸出遙控編碼脈沖。為了減少干擾,采用的是價(jià)格便宜性能可靠地一體化紅外接頭(HS30038),它接收紅外的頻率為38KHZ,周期為26 us 接收紅外信號(hào),它同時(shí)對(duì)信號(hào)進(jìn)行放大,檢波,整形得到TTL電平的編碼。在送給單片機(jī),單片機(jī)進(jìn)行解碼并執(zhí)行控制相關(guān)對(duì)象。具體實(shí)現(xiàn)過(guò)程如下: 在這里特

17、別強(qiáng)調(diào):編碼與解碼是一對(duì)逆過(guò)程,不僅在原理上是一對(duì)逆過(guò)程,在碼的發(fā)收過(guò)程也是互反的,即以前發(fā)射端原始信號(hào)是高電平,那接收頭輸出的就是低電平,反之亦然。因此為了保證解碼過(guò)程簡(jiǎn)單方便,在編碼時(shí)應(yīng)該直接換算成其反碼。)圖 5 碼值與電平轉(zhuǎn)換3.2 紅外接收部分一體化紅外接收頭 內(nèi)部電路包括紅外監(jiān)測(cè)二極管,放大器,限副器,帶通濾波器,積分電路,比較器等。紅外監(jiān)測(cè)二極管監(jiān)測(cè)到紅外信號(hào), 然后把信號(hào)送到放大器和限幅器,限幅器把脈沖幅度控制在一定的水平,而不論紅外發(fā)射器和接收器的距離遠(yuǎn)近。交流 信號(hào)進(jìn)入帶通濾波器,帶通濾波器可以通過(guò)30khz到60khz的負(fù)載波,通過(guò)解調(diào)電路和

18、積分電路進(jìn)入比較器,比較器輸出 高低電平,還原出發(fā)射端的信號(hào)波形。注意輸出的高低電平和發(fā)射端是反相的,這樣的目的是為了提高接收的靈敏度。 圖 6 紅外接收示意圖3.3 紅外發(fā)射部分 紅外遙控是以調(diào)制的方式發(fā)射數(shù)據(jù),就是把數(shù)據(jù)和一定頻率的載波進(jìn)行“與”操作,這樣既可以提高發(fā)射效率又可以降低電源調(diào)制載波頻率一般在30khz到60khz之間,大多數(shù)使用的是38kHz,占空比1/3的方波,如圖2所示,這是由發(fā)射端所使用的 455kHz晶振決定的。在發(fā)射端要對(duì)晶振進(jìn)行整數(shù)分頻,分頻系數(shù)一般取12,所以455kHz÷1237.9 kHz38kHz。目前有很多種芯片可

19、以實(shí)現(xiàn)紅外發(fā)射,可以根據(jù)選擇發(fā)出不同種類的編碼。由于發(fā)射系統(tǒng)一般用電池供電,這就要求芯片的功耗要很低,芯片大多都設(shè)計(jì)成可以處于休眠狀態(tài),當(dāng)有按鍵按下時(shí)才工作,這樣可以降低功耗芯片所用的晶振應(yīng)該有 足夠的耐物理撞擊能力,不能選用普通的石英晶體,一般是選用陶瓷共鳴器,陶瓷共鳴器準(zhǔn)確性沒(méi)有石英晶體高,但通常 一點(diǎn)誤差可以忽略不計(jì)。第4章 系統(tǒng)軟件程序的設(shè)計(jì)與調(diào)試4.1 程序主體設(shè)計(jì)思路 全部控制程序?qū)嶋H上分為若干模塊:遙控鍵盤(pán)設(shè)置處理程序,狀態(tài)燈控制程序,LED顯示程序緊停程序,中斷服務(wù)子程序,紅綠燈時(shí)間調(diào)整程序等。 整個(gè)軟件程序方面主要分兩大部分:主程序部分和遙控中斷處理程序。

20、設(shè)計(jì)說(shuō)明:該智能交通燈控制系統(tǒng)的軟件設(shè)計(jì)采用的是順序執(zhí)行并反復(fù)循環(huán)的方法。智能交通燈控制系統(tǒng)在正常工作的情況下,每20s循環(huán)變化一次。每個(gè)循環(huán)周期在還剩5s時(shí),正在通行路口的黃燈同時(shí)點(diǎn)亮并開(kāi)始閃爍,以提醒路人上的行人及車輛,交通燈即將發(fā)生變化。在此期間若中斷按鍵按下則轉(zhuǎn)入中斷服務(wù)子程序進(jìn)行相關(guān)操作。通過(guò)擴(kuò)展遙控接收電路,當(dāng)發(fā)生突發(fā)狀況時(shí),實(shí)現(xiàn)交通燈運(yùn)行的人為干預(yù)(可設(shè)有全紅燈按鍵、延長(zhǎng)某方向信號(hào)按鍵、快速進(jìn)入另一方向通行按鍵、恢復(fù)按鍵等功能)。4.2系統(tǒng)延時(shí)設(shè)計(jì)MCS-51的工作頻率為12MHZ,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12MHZ)=1u

21、s。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1秒的時(shí)間,但同時(shí)由于單片機(jī)的運(yùn)行速度很快其他的指令執(zhí)行時(shí)間可以忽略不計(jì)。延時(shí)子程序模塊:void Delay(WORD n) WORD x;while(n-) x=500;while(x-);4.3 系統(tǒng)中斷設(shè)計(jì)本系統(tǒng)主要使用了外部中斷,中斷信號(hào)有引腳INT0和INT1輸入,低電平有效,CPU每個(gè)時(shí)鐘周期都會(huì)檢測(cè)INT0和INT1上的信號(hào),8051允許外部中斷以電平方式或負(fù)邊沿方式兩種中斷方式輸入中斷請(qǐng)求信號(hào),可由用戶通過(guò)設(shè)置TCON中IT0和IT1位的狀態(tài)來(lái)實(shí)現(xiàn)。以IT0為例,IT0=0,為電平觸發(fā)方式,IT0=1

22、,為負(fù)邊沿觸發(fā)方式,本設(shè)計(jì)采用電平方式,IE0為其中斷標(biāo)志位,有中斷信號(hào)則置位,中斷服務(wù)子程序響應(yīng)后,IE0自動(dòng)清零。IE中的EA為允許中斷的總控制位,為1開(kāi)啟,EX0為外部中斷允許控制位,為1開(kāi)啟。 在優(yōu)先級(jí)的允許下,一旦有外部中斷信號(hào)產(chǎn)生,單片機(jī)CPU首先保護(hù)斷點(diǎn),PC值進(jìn)棧,然后執(zhí)行相應(yīng)的中斷服務(wù)子程序,執(zhí)行完后,用RETI指令返回,此時(shí)CPU會(huì)從堆棧中取保存的斷點(diǎn)地址,送回PC,程序再正常執(zhí)行。 中斷子程序模塊:void EX0_ISR (void) interrupt 0 /外部中斷0服務(wù)函數(shù) static unsigned char i; /接收紅外信號(hào)處理 /static bit

23、 startflag=1; /是否開(kāi)始處理標(biāo)志位/if(startflag) / if(irtime>=33&&irtime<63) /引導(dǎo)碼 TC9012的頭碼,9ms+4.5ms i=0; irdatai=irtime; /存儲(chǔ)每個(gè)電平的持續(xù)時(shí)間,用于以后判斷是0還是1 irtime=0; i+; if(i=33) irok=1; i=0; /* elseirtime=0;startflag=1; */4.4紅外遙控設(shè)計(jì)子程序模塊:紅外碼值處理void Ircordpro(void)/紅外碼值處理函數(shù) unsigned char i, j, k; unsigne

24、d char cord,value;k=1; for(i=0;i<4;i+) /處理4個(gè)字節(jié) for(j=1;j<=8;j+) /處理1個(gè)字節(jié)8位 cord=irdatak; /此處去除頭碼 故從一開(kāi)始 if(cord>7) /大于某值為1,這個(gè)和晶振有絕對(duì)關(guān)系,這里使用12M計(jì)算,此值可以有一定誤差 value|=0x80; /2.25>256X7>1.125ms if(j<8) value>>=1; /數(shù)據(jù)串行發(fā)送,低位(bit0)在前,高位(bit7)在后 k+; IRcordi=value; value=0; irpro_ok=1;/處理

25、完畢標(biāo)志位置14.5設(shè)計(jì)的調(diào)試圖 10 設(shè)計(jì)調(diào)試演示總 結(jié)經(jīng)過(guò)兩周的努力工作,終于完成了自己的單片機(jī)課程設(shè)計(jì)。雖說(shuō)忙碌了點(diǎn),但我覺(jué)得這樣的生活充實(shí)且有成就感,當(dāng)然,也獲益匪淺。回顧起這一次的課程設(shè)計(jì),至今我仍感慨頗多。在這段日子里,從理論到實(shí)踐,可以說(shuō)得是苦多于甜,但是我還是可以學(xué)到了很多的內(nèi)容,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。我在設(shè)計(jì)的過(guò)程中也遇到了不少的問(wèn)題,可以說(shuō)得是困難重重,但可喜

26、的是最終都得到了解決。 實(shí)驗(yàn)過(guò)程中,此次設(shè)計(jì)也讓我明白了思路即出路,有什么不懂不明白的地方要及時(shí)請(qǐng)教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒(méi)有弄不懂的知識(shí),收獲頗豐。通過(guò)本次的課程設(shè)計(jì),充分意識(shí)到自己所學(xué)的東西還是非常有限的,不過(guò)通過(guò)設(shè)計(jì),還是學(xué)到了一些書(shū)本上沒(méi)有學(xué)到的東西,為自己以后的學(xué)習(xí)起了很大的幫助。就我個(gè)人而言,很深刻地體會(huì)到一點(diǎn),那就是我們?cè)谠O(shè)計(jì)過(guò)程中一定要有一個(gè)整體的清晰的思路,知道自己的設(shè)計(jì)的對(duì)象的基本功能和核心器件的適用及其作用,只要把握住這些主要方面,一些小問(wèn)題都將圍繞著這些主要問(wèn)題而逐步得到解決。同時(shí)我也懂得,在整個(gè)設(shè)計(jì)過(guò)程中,生活中也一樣,一定要意志堅(jiān)

27、定,克服自己的畏難情緒,這樣才能將事情做好,才能干出一番成就。在此我非常感謝我的指導(dǎo)老師劉毅老師從一開(kāi)始就耐心的安排我們的進(jìn)度,和之后多次提醒我們一些重要的注意事項(xiàng),以及讓我對(duì)單片機(jī)原理這門(mén)課程有了更深刻的認(rèn)識(shí),讓我對(duì)獨(dú)立做課程設(shè)計(jì)有了信心,同時(shí)我還要感謝我的同學(xué)們,感謝他們幫助,這次課程設(shè)計(jì)才能順利完成。參考文獻(xiàn)1張毅剛,單片機(jī)原理及應(yīng)用第二版,高等教育出版社,2010.(5)2王為青,邱文勛. 51單片機(jī)開(kāi)發(fā)案例精選J.人民郵電出版社,2001,(5):45-47.3張?chǎng)危A臻,陳書(shū)謙. 單片機(jī)原理及應(yīng)用J.電子工業(yè)出版社,2008(5).4張洪潤(rùn),張亞凡.單片機(jī)原理及應(yīng)用J. 清華大學(xué)出

28、版社,2005,(4).5黃智偉.凌陽(yáng)單片機(jī)課程設(shè)計(jì)指導(dǎo)J. 北京航空航天大學(xué)出版社,2007,(6)6蔣輝平,周國(guó)雄. 基于Proteus的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真實(shí)例M.機(jī)械工業(yè)出版社,2009.7張毅坤. 單片微型計(jì)算機(jī)理及接口技術(shù)M.陜西:西安電子科技大學(xué)出版社,2000.79雷麗文 等.微機(jī)原理與原理及應(yīng)用,M西安電子科技大學(xué)出版社 1998 8余錫存 曹國(guó)華.單片機(jī)原接口技術(shù)M.北京:電子工業(yè)出版社,1997.附 錄附錄一 元器件清單 元器件類型 數(shù) 量 STC12C5A60S2芯片 1塊 DS12C887芯片 1塊 1602液晶顯示屏 1塊 一體化紅外接收頭 1個(gè) 2 1鍵紅外遙控器

29、 1個(gè) 發(fā)光二極管 6個(gè) 蜂鳴器 1個(gè) 排針 3排 導(dǎo)線 電容 電阻 若干附錄二 部分程序初始化程序:#include "reg51.h"#include"absacc.h" /#include<1602.h>sbit IR=P32; sbit beep=P16;char code Tab16="0123456789ABCDEF" unsigned char code table='0','1','2','3','4','5',

30、'6','7','8','9'typedef unsigned char BYTE;typedef unsigned int WORD;#define uint unsigned intunsigned char irtime;/紅外用全局變量bit irpro_ok,irok; /irpro_ok處理完成標(biāo)志,接收好了,unsigned char IRcord4;/儲(chǔ)存4個(gè)紅外碼的四個(gè)字節(jié)unsigned char irdata33;/儲(chǔ)存32+1位unsigned char TempData16; /定義零時(shí)數(shù)據(jù)主程序:voi

31、d main(void) BYTE dhi,dli,time0,time1,y,flag=0; int miao2=55,miao1,h=5;SP=0x60; EX0init(); /初始化外部中斷 TIM0init(); /初始化定時(shí)器 lcd_init(); DS_init(); time0=Second; /write_time(); /DS12C887時(shí)間設(shè)置 while(1) if(irok) /如果接收好了進(jìn)行紅外處理 beep=0; Delay(200); beep=1; Ircordpro();/紅外碼處理 irok=0; if (DS_C & 0x10) != 0)/顯示時(shí)間 crt_time(1); time1=Second; if(time0!=time1) time0=time1;/讀取當(dāng)前秒if(flag=0) /紅1、綠2亮,并開(kāi)始倒計(jì)時(shí)if(miao2>0)/此時(shí)miao1>miao2P1=0xff;miao2-; miao1=miao2+h; P1=0xde; /紅1、綠2亮else if(miao1>0) /此時(shí)miao2=0,miao1繼續(xù)5秒倒計(jì)時(shí)P1=0xff;miao1-;miao2=0;P1=0xee; /紅1、黃2亮else/當(dāng)miao1倒計(jì)時(shí)到0flag=1;/紅2、綠1亮miao2=50;mi

溫馨提示

  • 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)論