閃爍燈 單片機控制的花樣流水燈課外學(xué)分_第1頁
閃爍燈 單片機控制的花樣流水燈課外學(xué)分_第2頁
閃爍燈 單片機控制的花樣流水燈課外學(xué)分_第3頁
閃爍燈 單片機控制的花樣流水燈課外學(xué)分_第4頁
閃爍燈 單片機控制的花樣流水燈課外學(xué)分_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電子工程學(xué)院課外學(xué)分設(shè)計報告題目:閃爍燈姓 名: 劉 祥 學(xué) 號: 11111010133 專 業(yè): 電子信息 實 驗 室: 開放實驗室 班 級: A1121 設(shè)計時間:2014年03月25日 2014年 06月03日評定成績: 審閱教師: 目 錄引言31緒論42相關(guān)元件及電路設(shè)計42.1 AT89C52芯片功能特性及應(yīng)用42.2 AT89C5252單片機52.2.1 AT89C52單片機的硬件結(jié)構(gòu)52.2.2主要性能參數(shù)62.2.3 AT89C52管腳說明72.2.4 外部總線構(gòu)成112.3 單片機時鐘電路及時鐘時序單位122.4單片機的復(fù)位132.4.1 復(fù)位狀態(tài)132.4.2 復(fù)位電路1

2、43Keil C51開發(fā)系統(tǒng)基本知識Keil C51開發(fā)系統(tǒng)基本知識154電路及程序設(shè)計164.1 電路原理圖設(shè)計16總結(jié)18參考文獻19附錄20引言單片機微型計算機是微型計算機的一個重要分支,也是頗具生命力的機種。單片機微型計算機簡稱單片機,特別適用于控制領(lǐng)域,故又稱為微控制器。隨著電子技術(shù)和微機計算機的迅速發(fā)展,單片機的檔次不斷提高,其應(yīng)用領(lǐng)域也在不斷的擴大,已在工業(yè)控制、尖端科學(xué)、智能儀器儀表、日用家電、汽車電子系統(tǒng)、辦公自動化設(shè)備、個人信息終端及通信產(chǎn)品中得到了廣泛的應(yīng)用,成為現(xiàn)代電子系統(tǒng)中最重要的智能化的核心部件。通常,單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計算機的基本功能部件:中

3、央處理器、存儲器和I/O接口電路等。因此,單片機只需要和適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。單片機經(jīng)過1、2、3、3代的發(fā)展,目前單片機正朝著高性能和多品種方向發(fā)展,它們的CPU功能在增強,內(nèi)部資源在增多,引角的多功能化,以及低電壓底功耗。當(dāng)今時代是一個新技術(shù)層出不窮的時代,在電子領(lǐng)域尤其是自動化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機智能控制系統(tǒng)所取代。單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心就是單片機。目前,一個學(xué)習(xí)與應(yīng)用單片機的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。學(xué)習(xí)單片機的

4、最有效方法就是理論與實踐并重,本文筆者用AT89C52單片機自制了一款簡易的流水燈,重點介紹了其軟件編程方法,以期給單片機初學(xué)者以啟發(fā)更快地成為單片機領(lǐng)域的優(yōu)秀人才。1. 緒論當(dāng)今時代是一個新技術(shù)層出不窮的時代,在電子領(lǐng)域尤其是自動化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機智能控制系統(tǒng)所取代。目前,一個學(xué)習(xí)與應(yīng)用單片機的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。本設(shè)計用AT89C51單片機自制了一款簡易的花樣流水燈,介紹了其硬件電路及軟件編程方法,在實踐中體驗單片機的自動控制功能。該設(shè)計具有實際意義,可以在廣告業(yè)、媒體宣傳、裝飾業(yè)等領(lǐng)域得到廣泛應(yīng)用

5、。學(xué)習(xí)單片機的最有效方法就是理論與實踐并重,現(xiàn)在我把單片機流水燈設(shè)計作為一個課程設(shè)計,需要更深的去了解單片機的很多功能,努力的去查找資料。本課題將以發(fā)光二極管作為發(fā)光器件,用單片機自動控制,實現(xiàn)一個簡易的花樣流水燈設(shè)計。2 相關(guān)元件及電路設(shè)計2.1 AT89C52芯片功能特性及應(yīng)用單片機在我們的日常生活和工作中無處不在、無處不有:家用電器中的電子表、洗衣機、電飯褒、豆?jié){機、電子秤;住宅小區(qū)的監(jiān)控系統(tǒng)、電梯智能化控制系統(tǒng);汽車電子設(shè)備中的ABS、GPS、ESP、TPMS;醫(yī)用設(shè)備中的呼吸機,各種分析儀,監(jiān)護儀,病床呼叫系統(tǒng);公交汽車、地鐵站的IC卡讀卡機、滾動顯示車次和時間的LED點陣顯示屏;電

6、腦的外設(shè),如鍵盤、鼠標(biāo)、光驅(qū)、打印機、復(fù)印件、傳真機、調(diào)制解調(diào)器;計算機網(wǎng)絡(luò)的通訊設(shè)備;智能化儀表中的萬用表,示波器,邏輯分析儀;工廠流水線的智能化管理系統(tǒng),成套設(shè)備中關(guān)鍵工作點的分布式監(jiān)控系統(tǒng);導(dǎo)彈的導(dǎo)航裝置,飛機上的各種儀表等等。有資料表明:2007年全球單片機的產(chǎn)值達到151億美元,我國單片機的銷售額達到400億元人民幣,我國每年單片機的需求量達50至60億片,是全球單片機的最大市場??梢哉f單片機已經(jīng)滲透到了我們生活的各個領(lǐng)域。AT89C52是美國Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,片內(nèi)含8KB的可反復(fù)檫寫的程序存儲器和12B的隨機存取數(shù)據(jù)存儲器(RAM),器件采用A

7、tmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)配置通用8位中央處理器(CPU)和Flash存儲單元,功能強大的AT89C52單片機可靈活應(yīng)用于各種控制領(lǐng)域。AT89C52單片機屬于AT89C51單片機的增強型,與Intel公司的80C52在引腳排列、硬件組成、工作特點和指令系統(tǒng)等方面兼容。其主要工作特性是:(1)片內(nèi)程序存儲器內(nèi)含8KB的Flash程序存儲器,可擦寫壽命為1000次;(2)片內(nèi)數(shù)據(jù)存儲器內(nèi)含256字節(jié)的RAM;(3)具有32根可編程I/O口線;(4)具有3個可編程定時器;(5)中斷系統(tǒng)是具有8個中斷源、6個中斷矢量、2個級優(yōu)先權(quán)的中斷結(jié)構(gòu);(6)

8、串行口是具有一個全雙工的可編程串行通信口;(7)具有一個數(shù)據(jù)指針DPTR;(8)低功耗工作模式有空閑模式和掉電模式;(9)具有可編程的3級程序鎖定位;(10)AT89C52工作電源電壓為5(1+0.2)V,且典型值為5V;在AT89C52芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率通常是24MHz。若晶體振蕩器頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也就快2.2 AT89C5252單片機2.2.1 AT89C52單片機的

9、硬件結(jié)構(gòu)AT8952系列單片機內(nèi)部采用模塊式結(jié)構(gòu),其結(jié)構(gòu)組成框圖如圖1所示。圖1 AT8952系列單片機組成框圖由圖1可見,MCS-52系列單片機主要由以下部件通過片內(nèi)總線連接而成:中央處理器(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)、并行輸入/輸出口(P0口P3口)、串行口、定時器/計數(shù)器、中斷控制、總線控制及時鐘電路。2.2.2主要性能參數(shù) 8K字節(jié)可重擦寫Flash閃速存儲器 1000次可擦寫周期 全靜態(tài)操作:0Hz-24MHz 三級加密程序存儲器 2568字節(jié)內(nèi)部RAM 32個可編程I/O口線 3個16位定時/計數(shù)器 8個中斷源 可編程串行UART通道 低功耗空閑和掉電模式

10、圖 2 AT89C52外部引腳圖2.2.3 AT89C52管腳說明VCC:電源GND:接地P0口:P0口是一個8位漏級開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0口端口寫“1”時,引腳作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接受指令字節(jié):在程序效驗時,輸出指令字節(jié)。程序效驗時,需要外部上拉電阻。 P1口:P1口是一個具有內(nèi)部上拉電阻的8位是雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯電平。對P1口寫“1”時,內(nèi)部上拉電阻的原因,將輸出電流I

11、LL。此外,與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸出(P1.1/T2EX),具體如下表所示。表 1 P1.0和P1.1的第二功能引腳號功能特性P1.0T2(定時/計數(shù)器2外部計數(shù)脈沖輸入),時鐘輸出P1.1T2EX定時/計數(shù)2捕獲/重裝載觸發(fā)和方向控制在Flash編程和校驗時,P1口接收低8位地址字節(jié)。 P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖級可驅(qū)動吸收或輸出電流4個TTL邏輯電平。對P2口寫“1”時,通過內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電

12、阻的原因,將輸出電流ILL。 在訪問外部好曾許存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,P2口送出高8位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在Flash編程和校驗時,P2口接收低8位地址字節(jié)和一些控制信號。P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯電平。對P3口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入端口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流ILL。P3口除了作為一般、的I/O口線外,更重要的是它的第二功能,

13、如下表所示。表 2 P3口引腳第二功能引腳號第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)在Flash編程和校驗時,P3口也接收一些控制信號。 RST:復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期以高電平將使用單片機復(fù)位。 ALE/:地址鎖存器控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳()也使用作編程輸入脈沖。 在一般情況下,ALE以

14、晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。 如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標(biāo)志位的設(shè)置對微控制器處于外部執(zhí)行模式下無效。 :外部程序儲存器選通信號()是外部程序存儲器選通信號。當(dāng)AT89C52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)儲存器時,將不被激活。 :訪問外部程序存儲器控制信號。為使能從0000HFFFFH的外部程序存儲器讀取指令,

15、端必須保持低電平(接地)。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。 在flash編程期間,也接受12伏VPP電壓。 XTA L1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。 XTA L2:振蕩器反相放大器的輸出端。MCS-52系列單片機的引腳封裝主要有: PDIP40、PLCC44和PQFP/TQFP44。不同封裝的芯片其引腳的排列位置有所不同,但他們的功能和特性都相同。方形封裝(PLCC44和POFP/TQFP44)有44引腳,其中4個NC為空引腳。采用40引腳PDIP封裝的80C52單片機的引腳排列及邏輯符號如圖2所示。由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)量是有限的,但單片機為實現(xiàn)控制所需要的

16、信號數(shù)目卻遠(yuǎn)遠(yuǎn)超過其引腳數(shù)目。為解決這一矛盾,單片機的某些信號引腳被賦以雙重功能。1)電源及電源復(fù)位引腳:(1)VCC(40腳):正常操作時接+5V直流電源。(2)VSS (20腳):接地端。圖3 40引腳PDIP封裝的80C52單片機的引腳排列及邏輯符號圖(3)RST/VPD(9腳):復(fù)位信號輸入端。在該引腳上輸入一定時間(約兩個機器周期)的高電平將使單片機復(fù)位。該引腳的第二功能是VPD,即備用電源輸入端。當(dāng)主電源發(fā)生故障,降低到低電平規(guī)定值時,可將+5V備用電源自動接入VPD端,以保護片內(nèi)RAM中的信息不丟失,使復(fù)電后能繼續(xù)正常運行。(4)/VPP(31腳):訪問程序存儲器控制信號/編程電

17、源輸入。當(dāng)保持高電平時,訪問內(nèi)部程序存儲器,訪問地址范圍在04KB內(nèi);當(dāng)PC(程序計數(shù)器)值超過0FFFH,即訪問地址超出4KB時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序;當(dāng)保持低電平時,不管單片機內(nèi)部是否有程序存儲器,則只訪問外部程序存儲器(從0000H地址開始)。由此可見,對片內(nèi)有可用程序存儲器的單片機而言,端應(yīng)接高電平,而對片內(nèi)無程序存儲器的單片機,可將接地。對于EPROM型單片機,在EPROM編程期間,此引腳用于施加21V的編程電源(VPP)。2)時鐘振蕩電路引腳XTAL1和XTAL2:(1)XTAL1(19腳):外接石英晶體和微調(diào)電容引腳1。它是片內(nèi)振蕩電路反向放大器的輸入端。采用外部

18、振蕩器時此引腳接地。(2)XTAL2(18腳):外接石英晶體和微調(diào)電容引腳2。它是片內(nèi)振蕩電路反向放大器的輸出端。采用外部振蕩器時此引腳為外部振蕩信號輸入端。3) (30腳):低8位地址鎖存控制信號/編程脈沖輸入。在系統(tǒng)擴展時,ALE用于把P0口輸出的低8位地址鎖存起來,以實現(xiàn)低8位地址和數(shù)據(jù)的隔離。在訪問外部程序存儲器期間,ALE信號兩次有效;而在訪問外部數(shù)據(jù)存儲器期間,ALE信號一次有效。對于EPROM型單片機,在EPROM編程期間,此引腳用于輸入編程脈沖。4)(29腳):外部程序存儲器的讀選通信號輸出端,低電平有效。在從外部程序存儲器取指令(或常數(shù))期間,此引腳定時輸出負(fù)脈沖作為讀取外部

19、程序存儲器的信號,每個機器周期兩次有效,此時地址總線上送出的地址為外部程序存儲器地址;在此期間,如果訪問外部數(shù)據(jù)存儲器和內(nèi)部程序存儲器,不會產(chǎn)生信號。5)并行雙向輸入/輸出(I/O)口引腳:(1)P0口的P0.0P0.7引腳(3932腳):8位通用輸入/輸出端口和片外8位數(shù)據(jù)/低8位地址復(fù)用總線端口。(2)P1口的P1.0P1.7引腳(18腳):8位通用輸入/輸出端口。(3)P2口的P2.0P2.7引腳(2821腳):8位通用輸入/輸出端口和片外高8位地址總線端口。(4)P3口的P3.0P3.7引腳(1017腳):8位通用輸入/輸出端口,具有第二功能。2.2.4 外部總線構(gòu)成所謂總線,就是連接

20、單片機與各外部器件的一組公共的信號線。當(dāng)系統(tǒng)要求擴展時,單片機要與一定數(shù)量的外部器件和外圍設(shè)備連接。如果各部件及每一種外圍設(shè)備都分別用各自的一組線路與CPU直接連接,那么連線將會錯綜復(fù)雜,甚至難以實現(xiàn)。為了簡化硬件電路的設(shè)計和系統(tǒng)結(jié)構(gòu),常用一組線路,并配以適當(dāng)?shù)慕涌陔娐穪砼c各個外部器件和外圍設(shè)備連接,這組共用的連接線路就是總線。采用總線結(jié)構(gòu)便于擴展外部器件和外圍設(shè)備,而統(tǒng)一的總線標(biāo)準(zhǔn)則使不同設(shè)備間的互連更容易實現(xiàn)。利用片外引腳可以構(gòu)造MCS-51系列單片機的三總線結(jié)構(gòu)。單片機的引腳除了電源端VCC、接地端VSS、復(fù)位端RST、晶振接入端XTAL1和XTAL2、通用I/O口的P1.0P1.7以外

21、,其余的引腳都是為實現(xiàn)系統(tǒng)擴展而設(shè)置的。用這些引腳構(gòu)造的單片機系統(tǒng)的三總線結(jié)構(gòu)如3所示。圖4 MCS-51系列單片機片外三總線結(jié)構(gòu)1)地址總線(Address Bus,AB):MCS-51系列單片機總共有16根地址線A15 A0,片外存儲器可尋址范圍達64KB(216=65536字節(jié)),由P2口直接提供高8位地址A15 A8,P0口經(jīng)地址鎖存器提供低8位地址A7 A0。2)數(shù)據(jù)總線(Data Bus,DB):MCS-51系列單片機總共有8根數(shù)據(jù)線D7D0,全由P0口提供。由于P0口是分時復(fù)用總線,分時輸送低8位地址(通過地址鎖存器鎖存)和高8位數(shù)據(jù)信息。 3)控制總線(Control Bus,

22、CB):控制總線由P3口的第二功能(P3.6)、(P3.7)和3根獨立的控制線、ALE、組成。2.3 單片機時鐘電路及時鐘時序單位1) 時鐘電路單片機本身如同一個復(fù)雜的同步時序電路,為了保證同步工作,電路應(yīng)在唯一的時鐘信號控制下,嚴(yán)格地按規(guī)定時序工作。而時鐘電路就用于產(chǎn)生單片機工作所需要的時鐘信號。MCS-52單片機時鐘電路示意圖如圖4所示。圖5 MCS-52單片機時鐘振蕩電路示意圖在MCS-52芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,可構(gòu)成穩(wěn)定的自激振

23、蕩器,振蕩頻率范圍通常是1.212MHz。晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也就快。振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用。振蕩脈沖在片內(nèi)通過一個時鐘發(fā)生電路二分頻后才作為系統(tǒng)的時鐘信號。片內(nèi)時鐘發(fā)生電路實質(zhì)上是一個二分頻的觸發(fā)器,其輸入來自振蕩器,輸出為二相時鐘信號,即狀態(tài)時鐘信號,其頻率為fosc/2;狀態(tài)時鐘三分頻后為ALE信號,其頻率為fosc/6;狀態(tài)時鐘六分頻后為機器周期,其頻率為fosc/12。在圖4中,使用晶體振蕩器時,C1、C2取值3010pF;使用陶瓷振蕩器時,C1、C2取值4010pF。C1、C2的取值雖然沒有嚴(yán)格的要求,但電容的

24、大小影響振蕩電路的穩(wěn)定性和快速性,通常取值2030pF。在設(shè)計印制電路板時,晶振和電容等應(yīng)盡可能靠近芯片,以減少分布電容,保證振蕩器振蕩的穩(wěn)定性。也可以由外部時鐘電路向片內(nèi)輸入脈沖信號作為單片機的振蕩脈沖。這時外部脈沖信號是經(jīng)XTAL1引腳引入的,而XTAL2引腳懸空或接地。對外部信號的占空比沒有要求,但高低電平持續(xù)的時間不應(yīng)小于20ns。這種方式常用于多塊芯片同時工作,便于同步。其外部脈沖接入方式如圖5所示。圖6 MCS-52單片機外部時鐘輸入接線圖所謂時序,是指在指令執(zhí)行過程中,CPU的控制器所發(fā)出的一系列特定的控制信號在時間上的先后關(guān)系。CPU發(fā)出的控制信號有兩類:一類是用于單片機內(nèi)部的

25、,用戶不能直接接觸此類信號,不必對它作過多了解;另一類是通過控制總線送到片外的,人們通常以時序圖的形式來表示相關(guān)信號的波形及出現(xiàn)的先后次序。為了說明信號的時間關(guān)系,需要定義時序單位。89C52的時序單位共有四個,從小到大依次是拍節(jié)、狀態(tài)、機器周期和指令周期。如圖4所示。2.4單片機的復(fù)位2.4.1 復(fù)位狀態(tài)復(fù)位是單片機的初始化操作,其主要功能是將程序計數(shù)器PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化外,當(dāng)程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,也須重新啟動單片機,使其復(fù)位。 單片機復(fù)位后,除P3P0的端口鎖存器被設(shè)置成FFH、堆棧指針SP設(shè)置成07

26、H和串行口的SBUF無確定值外,其它各專用寄存器包括程序計數(shù)器PC均被設(shè)置成00H。片內(nèi)RAM不受復(fù)位的影響,上電后RAM中的內(nèi)容是隨機的。記住這些特殊功能寄存器的復(fù)位狀態(tài),對熟悉單片機操作,簡短應(yīng)用程序中的初始化部分是十分必要的。2.4.2 復(fù)位電路單片機的復(fù)位操作有上電自動復(fù)位和手動按鍵復(fù)位兩種方式。上電自動復(fù)位操作要求接通電源后自動實現(xiàn)復(fù)位操作。如圖1.5-1所示。圖6(a)所示為最簡單的復(fù)位電路。上電瞬間由于電容C上無儲能,其端電壓近似為零,RST獲得高電平,隨著電容器C的充電,RST引腳上的高電平將逐漸下降,當(dāng)RST引腳上的電壓小于某一數(shù)值后,單片機就脫離復(fù)位狀態(tài),進入正常工作模式。

27、只要高電平能保持復(fù)位所需要的時間(約兩個機器周期),單片機就能實現(xiàn)復(fù)位。相比于圖6(a),圖6(b)所示的電路只是增加了外接二極管VD和電阻R。其優(yōu)越性在于停電后,二極管VD給電容C提供了快速放電通路,保證再上電時RST為高電平,從而保證單片機可靠復(fù)位。正常工作時,二極管反偏,對電路沒影響。斷電后,VCC逐漸下降,當(dāng)VCC=0時,電容C通過VD迅速放電,恢復(fù)到無電量的初始狀態(tài),為下次上電復(fù)位做好準(zhǔn)備。(a) (b)圖6 上電自動復(fù)位電路手動按鍵復(fù)位要求在電源接通的條件下,用按鈕開關(guān)操作使單片機復(fù)位,如圖7所示。其工作原理為:復(fù)位鍵按下后,電容C通過R2放電,放電結(jié)束后,RST引腳的電位由R1和

28、R2 分壓決定,由于R2R1,因此,RST引腳為高電平,單片機進入復(fù)位狀態(tài),松開按鍵后,電容充電,RST上的電位降低,經(jīng)過一定的延時,單片機就脫離復(fù)位狀態(tài),進入正常工作模式。R2的作用在于限流,避免按鍵按下的瞬間電容C放電產(chǎn)生火花,保護按鍵的觸點。圖7 手動按鍵復(fù)位電路系統(tǒng)上電運行后,若需要復(fù)位,一般是通過手動復(fù)位來實現(xiàn)的。通常采用手動復(fù)位和上電自動復(fù)位結(jié)合。復(fù)位電路雖然簡單,但其作用十分重要。一個單片機系統(tǒng)能否正常運行,首先要檢查是否能復(fù)位成功。初步檢查可用示波器探頭監(jiān)視RST引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出(瞬時的),還可以通過改變復(fù)位電路阻容值的方法進行檢測。3.Keil

29、C51開發(fā)系統(tǒng)基本知識Keil C51開發(fā)系統(tǒng)基本知識系統(tǒng)概述Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能

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

31、用直接對目標(biāo)板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中。使用獨立的Keil仿真器時,注意事項* 仿真器標(biāo)配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 * 仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 * 仿真芯片的31腳(/EA)已接至高電平,所以仿真時只能使用片內(nèi)ROM,不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標(biāo)系統(tǒng)中使用。4 電路及程序設(shè)計4.1 電路原理圖設(shè)計按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗

32、系統(tǒng)及典型系統(tǒng)等。AT89C52單片機是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機,具有豐富的內(nèi)部資源:4kB閃存、128BRAM、32根I/O口線、2個16位定時/計數(shù)器、5個向量兩級中斷結(jié)構(gòu)、2個全雙工的串行口,具有4.255.50V的電壓工作范圍和024MHz工作頻率,使用AT89C52單片機時無須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。從原理圖中可以看出,如果要讓接在P1.0口的LED1亮起來,那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.

33、0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖?;同理,接在P1.1P1.7口的其他7個LED的點亮和熄滅的方法同LED1。因此,要實現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1LED8依次點亮、熄滅,8只LED燈便會一亮一暗的做流水燈了。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。設(shè)計原理圖如圖8所示:圖8流水燈硬件原理圖總結(jié)本次課外學(xué)分設(shè)計我的課題是閃爍燈的設(shè)計,開始的幾個星期我針對這個課題的任務(wù)要求從圖書館、上網(wǎng)等渠道獲取相關(guān)信息,查找相關(guān)的參考資料,然后設(shè)定了本課題的設(shè)計方案。經(jīng)過近多日的努力,終于將本次課程設(shè)計做完了,但由于水平有限,肯定有很多不恰當(dāng)?shù)牡胤?,請老師指出其中的錯誤和不當(dāng)之處,使我能做出改正,我會虛心接受。在本次課程設(shè)計過程中,我增強了自己的動手能力和分析能力。在以后的學(xué)習(xí)生活中,我會努力學(xué)習(xí)專業(yè)知識,完善自我,為將來的發(fā)展做好充分的準(zhǔn)備??傊?,在這次可外學(xué)分設(shè)計中,我受益匪淺,學(xué)到了很多書本上所沒有的東西,懂得了理論和實際聯(lián)系的重要性。在以后的學(xué)習(xí)中,我不僅要把理論知識掌握牢固,更要提高自己的動手能力和分析能力。參考文獻1 胡漢才單片機原理與接口技術(shù)M北京:清華大學(xué)出版社,1995.62 樓然苗等51系列單片機設(shè)計實例M北京

溫馨提示

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

評論

0/150

提交評論