單片機(jī)控制流水燈_第1頁
單片機(jī)控制流水燈_第2頁
單片機(jī)控制流水燈_第3頁
單片機(jī)控制流水燈_第4頁
單片機(jī)控制流水燈_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)控制流水燈 z 、.前言隨著人們生活環(huán)境的不斷改善和美化, 在許多場合可以看到彩色霓虹燈不斷變化閃爍。LED燈由于其豐富的燈光色彩,低廉的造價(jià)以及控制簡單等特點(diǎn)而得到了廣泛的應(yīng)用, 用彩燈來裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。 但目前市場上各式樣的LED燈控制器大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮, 不能根據(jù)不同場合、 不同時(shí)間段的需要來調(diào)節(jié)亮燈時(shí)間、 模式、 閃爍頻率等動態(tài)參數(shù)。 這種彩燈控制器結(jié)構(gòu)往往有芯片過多、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上看,亮燈模式少而且樣式單調(diào), 缺乏用戶可操作性, 影響亮燈效果。 因此有必要對

2、現(xiàn)有的彩燈控制器進(jìn)行改進(jìn)。流水燈是一串按一定的規(guī)律像流水一樣連續(xù)閃亮。 流水燈控制是可編程控制器的一個應(yīng)用, 其控制思想在工業(yè)控制技術(shù)領(lǐng)域也同樣適用。 流水燈控制可用多種方法實(shí)現(xiàn), 但對現(xiàn)代可編程控制器而言, 利用移位寄存器實(shí)現(xiàn)最為便利。 通常用左移寄存器實(shí)現(xiàn)燈的單方向移動; 用雙向移位寄存器實(shí)現(xiàn)燈的雙向移動。 本案例利用價(jià)格低廉的AT89C52系列單片機(jī)控制基色LED丁泡從而實(shí)現(xiàn)豐富的變化。前言 1.1課程設(shè)計(jì)的目的和要求3.設(shè)計(jì)目的 3.設(shè)計(jì)要求 3.2設(shè)計(jì)方案選擇4.3硬件設(shè)計(jì)4.設(shè)計(jì)思路 4.流水燈電路原理圖 4.元件清單 5.硬件電路模塊分析 6.主要元件說明 9.振蕩器特性1.2.

3、芯片擦除 1.2.4軟件設(shè)計(jì)1.3.主程序設(shè)計(jì)1.3.程序流程圖 1.3.5 使用 keil proteus 軟件調(diào)試仿真說明 1. 3仿真過程 1.3.仿真結(jié)果 1.3.6 結(jié)束語 1.4.7參考文獻(xiàn)1.5.1、課程設(shè)計(jì)的目的和要求設(shè)計(jì)目的近年來隨著科技的發(fā)展, 單片機(jī)的應(yīng)用正在不斷走向深入, 同時(shí)帶動傳統(tǒng)控制檢測日新月異更新, 在實(shí)時(shí)檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中, 單片機(jī)往往是作為一個核心部件來使用, 單片機(jī)方面知識是不夠的, 還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象點(diǎn)的軟件結(jié)合,加以完善。流水燈,可以更簡單、方便的使用。 通過本課程設(shè)計(jì)使學(xué)生進(jìn)一步鞏固單片機(jī)原理及應(yīng)用的基本概念、

4、基本理論, 分析問題的基本方法, 增強(qiáng)系統(tǒng)地運(yùn)用已學(xué)的理論知識解決實(shí)際問題的能力和查閱資料的能力。 培養(yǎng)一定的自學(xué)能力和獨(dú)立分析問題、 解決問題的能力, 能 通過獨(dú)立思考、查閱工具書、參考文獻(xiàn),尋找解決方案。設(shè)計(jì)要求設(shè)計(jì)流水燈的基本要求:設(shè)計(jì)一個16個LED燈的流水久T,應(yīng)用AT89C51實(shí)驗(yàn)開發(fā)板的定時(shí)器功能實(shí)現(xiàn),電路開啟后LED燈在時(shí)鐘信號作用下按一定規(guī)律轉(zhuǎn) 換狀態(tài)。2、設(shè)計(jì)方案選擇根據(jù)設(shè)計(jì)的基本要求, 要實(shí)現(xiàn)其基本要求有兩種設(shè)計(jì)方案的選擇, 這兩種設(shè)計(jì)方案都是基于AT89C51單片機(jī)的基礎(chǔ)上設(shè)計(jì)的。一種是使用兩片74LS138譯碼 器芯片擴(kuò)展成為4線一16線具有16種輸出狀態(tài),從而可以控

5、制16個LED燈; 另一種是直接使用單片機(jī)的兩個I /O端口控制,這樣也可以實(shí)現(xiàn)控制16個LED燈。比較這兩種設(shè)計(jì)方案, 我們小組選用了后者。 因?yàn)檫@個設(shè)計(jì)只是簡單的要求實(shí)現(xiàn)16個LED燈循環(huán)點(diǎn)亮的流水功能,不用實(shí)現(xiàn)其他的功能,即不需要考慮占用I/O 口多的問題;而前者的設(shè)計(jì)方案需要外添加兩個74LS138芯片,這樣就增加了硬件電路的復(fù)雜性。3、硬件設(shè)計(jì)設(shè)計(jì)思路如果要讓接在口的LED1亮起來,那么只要把口的電平變?yōu)榈碗娖骄涂梢粤耍?相反,如果要接在口的LED1熄滅,就要把口的電平變?yōu)楦唠娖?;同理,接?和口的其他15個LED的點(diǎn)亮和熄滅的方法同LED2因此,要實(shí)現(xiàn)流水燈功能, 我們只要將發(fā)光二

6、極管LED卜LED16依次點(diǎn)亮、熄滅,16只LED燈便會一亮一 暗的做流水燈了。 在此我們還應(yīng)注意一點(diǎn), 由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短, 我們在控制二極管亮滅的時(shí)候應(yīng)該延時(shí)一段時(shí)間, 否 則我們就看不到“流水”效果了。流水燈電路原理圖4-r-i.電皿- HUM; P*J Mj的. K曲*i*n»TfiM -i格 MM1 Fi "I PABi:PtiH-l- ,學(xué)”1*再"不 Ml 3 Mjjnr wnr的H"uPJLBffiTnmr圖3-1硬件接線圖利用單片機(jī)的P0、P2 口高低電平控制LED燈的發(fā)光閃爍,再利用編程實(shí)現(xiàn) 流水燈

7、的功能。用軟件來實(shí)現(xiàn)對LED的控制,實(shí)現(xiàn)的軟硬件結(jié)合。每個LED燈接 一個限流電阻,來控制流入LED發(fā)光管的電流。閃爍系統(tǒng)AT89C5假心部件硬件系統(tǒng)方框圖元件清單表3-1元件清單名稱型號個數(shù)AT89C51122pF電容210uF電解電容1220歐姆電阻1610k電阻1晶振1發(fā)光二極管16連接線硬件電路模塊分析(1)核心部件89C51單片機(jī)是整個流水燈循環(huán)系統(tǒng)的核心功能的部件,其中內(nèi)部有ROM、有RAM、有并行I/O 口等,在51單片機(jī)內(nèi)部有一個CPU用來運(yùn)算、控制,有四 個并行I/O 口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有 RAM,用 來存放中間結(jié)果,此外還有定時(shí)/計(jì)數(shù)

8、器,串行I/O 口,中斷系統(tǒng),以及一個內(nèi) 部的時(shí)鐘電路。(2)復(fù)位系統(tǒng)電路中C1、R1、VCC等組成復(fù)位電路,它的作用是將單片機(jī)內(nèi)部特殊功能 寄存器和端口寄存器恢復(fù)到初始狀態(tài),從內(nèi)部FLASH#儲器的初始狀態(tài)開始執(zhí)行。如圖所示,當(dāng)要對晶片重置時(shí),只要按此開關(guān)就能完成LED和開關(guān)的重置。復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)的RST管腳為主機(jī)提供了一個外部復(fù)位信號輸 入口。復(fù)位信號是高電平有效,高電平有效的持續(xù)時(shí)間為2個機(jī)器周期以上。單 片機(jī)的復(fù)位方式可由手動復(fù)位方式完成。RSHI腳是復(fù)位信號輸入端,復(fù)位信號為高電平有效,其有

9、效時(shí)間應(yīng)持續(xù)24 個振蕩周期以上才能完成復(fù)位操作,若使用 6MHz晶振,則需持續(xù)4S以上才 能完成復(fù)位操作。圖中,在通電瞬間,由于 RC的充電過程,在RST®出現(xiàn)一定 寬度的正脈沖,只要該正脈沖保持 10ms以上,就能使單片機(jī)自動復(fù)位CPU在第二個機(jī)器周期內(nèi)執(zhí)行內(nèi)部復(fù)位操作,以后每個機(jī)器周期重復(fù)一次, 直至RS礎(chǔ)電平變低。在單片機(jī)復(fù)位期間,AlE和函函 信號都不產(chǎn)生。復(fù)位操 作將對部分專用寄存器產(chǎn)生影響,復(fù)位后,這些內(nèi)部寄存器狀態(tài)如表2-6 o表1-2部分專用寄存器復(fù)位狀態(tài)寄存器值寄存器值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0 P30FFHIP

10、XXX00000IE0XX00000TMOD00HTCON00HTL0, TL100HTH0, TH100HSCON00HSBUF不定PCON0XXX0000上電瞬間由于電容C上無儲能,其端電壓近似為零,RS松得高電平,隨著 電容器C的充電,RSHI腳上的高電平將逐漸下降,當(dāng) RST引腳上的電壓小于某 一數(shù)值后,單片機(jī)就脫離復(fù)位狀態(tài),進(jìn)入正常工作模式。只要高電平能保持復(fù)位 所需要的時(shí)間(約兩個機(jī)器周期),單片機(jī)就能實(shí)現(xiàn)復(fù)位。(3)振蕩系統(tǒng)單片機(jī)本身如同一個復(fù)雜的同步時(shí)序電路,為了保證同步工作,電路應(yīng)在唯一的時(shí)鐘信號控制下,嚴(yán)格地按規(guī)定時(shí)序工作。而時(shí)鐘電路就用于產(chǎn)生單片機(jī)工 作所需要的時(shí)鐘信號。

11、為LED燈循環(huán)系統(tǒng)提供穩(wěn)定頻率波在由多片單片機(jī)組成的系統(tǒng)中,為了各單 片機(jī)之間時(shí)鐘信號的同步,引入唯一的外部脈沖信號作為各單片機(jī)的振蕩脈沖。這時(shí)外部的脈沖信號是經(jīng)單片機(jī) 89C51的XTAL2弓|腳注入的;在 MCS-51單片機(jī)片內(nèi)有一個高增益的反相放大器,反相放大器的輸入端為XTAL1輸出端為XTAL2在芯片的外部通過這兩個引腳E接晶體振蕩器和微調(diào)電容 C1、C2形成反 饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率范圍通常是 12MHz。晶體振蕩頻 率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。由該放大器構(gòu)成的振蕩電路和時(shí)鐘電路一起構(gòu)成了單片機(jī)的時(shí)鐘方式。如圖所示圖3-3振蕩電路晶體振蕩器

12、的振蕩信號從XTAL淵送入內(nèi)部時(shí)鐘電路,它將該振蕩信號二分頻,產(chǎn)生一個兩相時(shí)鐘信號A和B供單片機(jī)使用。時(shí)鐘信號的周期稱為狀態(tài)時(shí)間S振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用。振蕩脈沖在片內(nèi)通過一個時(shí)鐘發(fā)生電路二分頻后才作為系統(tǒng)的時(shí)鐘信號。片內(nèi)時(shí)鐘發(fā)生電路實(shí)質(zhì)上是一個二分頻的觸發(fā)器,其輸入來自振蕩器,輸出為二相時(shí)鐘信號, 即狀態(tài)時(shí)鐘信號,其頻率為fosc/2;狀態(tài)時(shí)鐘三分頻后為ALE信號,其頻率為fosc/6;狀態(tài)時(shí)鐘六分頻后為機(jī)器周期,其頻率為fosc/12(4)顯示電路如圖3-4所示,P0 口控制LED燈D1D8的顯示,P2 口控制LED燈D10D17 的顯示。限流電阻為2

13、20歐姆,經(jīng)過的電流大概為15mA。E.*iknuum BMW HUJLDQ ,,一m PQMQ WJUBi UBJUB FQ.UEirFZDa 口 gnUAIB FSaA1 , Pl向卬工 FSaA13 PSN FMwainflfWF3.I« 113 iwaffFoP9 9inr aFV2 FliMr圖3-4LED顯示電路主要元件說明此電路主要元件是AT89C51單片機(jī),單片機(jī)內(nèi)部主要包含下列幾個部件:一個8位CPU一個時(shí)鐘電路;4Kbyte程序存儲器;128byte數(shù)據(jù)存儲器;兩個16位定時(shí)/計(jì)數(shù)器;64Kbyte擴(kuò)展總線控制電路;四個8-bit并行I/O端口;一個可編程串行接口

14、;五個中斷源,其中包括兩個優(yōu)先級嵌套中斷。外部中斷外部計(jì)數(shù)脈沖程序存貯器一 4K字節(jié)=ROM內(nèi)部PO Pl P2 P3ALE PSEN中新 uAT89C51硬件結(jié)構(gòu)框圖主要特性AT89C51是一種低功耗/低電壓、高性能的八位CMOS單片機(jī),片內(nèi)有一個 4KB的FLASH可編程可擦除只讀存儲器( FPEROM- Flash Programmable and Erasable Read Only Memory),它采用了 CMOS工藝和ATMEL公司的高密度非易 失性存儲器技術(shù),而且其輸出引腳和指令系統(tǒng)都與MSC-51兼容。片內(nèi)置通用8位中央處理器(CPU和FLASH#儲單元,片內(nèi)的存儲器允許在系

15、統(tǒng)內(nèi)改編程 序或用常規(guī)的非易失性存儲器編程。因此,AT89C51是一種功能強(qiáng)、靈活性高且 價(jià)格合理的單片機(jī),可方便的應(yīng)用于各種控制領(lǐng)域。主要引腳功能1 .電源引腳Vcc和VssVcc電源端,接+ 5VoVss接地端。通常在Vcc和Vss引腳之間接仙高頻濾波電容。2 .時(shí)鐘電路引腳XTAL1和XTAL2XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸 入,若使用外部TTL時(shí)鐘時(shí),該引腳必須接地。XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的 輸出,若使用外部TTL時(shí)鐘時(shí),該引腳為外部時(shí)鐘的輸入端。3 .地址鎖存允許ALE在系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖

16、存器鎖存 P0 口輸出的低8位地址,從 而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。當(dāng)單片機(jī)上電正常工作后,ALE端就周期性地以時(shí)鐘頻率的 1/6 的固定頻率向外輸出正脈沖信號, ALE 的負(fù)載能力為8 個 LSTTL器件。4 .外部程序存儲器讀選通信號是讀外部程序存儲器的選通信號,低電平有效。CPU從外部存儲器取指令時(shí),它在每個機(jī)器周期中兩次有效。5 .程序存儲器地址允許輸入端/VPP當(dāng) 為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲器指令,但當(dāng) PC中的值超過0FFFH 時(shí),將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令。當(dāng) 為低電平時(shí), CPU 只執(zhí)行片外程 序存儲器指令。對于8031,由于其無片內(nèi)ROM,故 必須接低電平。6

17、.復(fù)位信號RST該信號高電平有效, 在輸入端保持兩個機(jī)器周期的高電平后, 就可以完成復(fù)位操作。此外,該引腳還有掉電保護(hù)功能,若在該端接 5V 備用電源,在使用 中若Vcc掉電,可保護(hù)片內(nèi)RAM中信息不丟失。7 .輸入/輸出口引腳Po、Pi、P2和P3P0 口():該端口為漏極開路的8位準(zhǔn)雙向口,負(fù)載能力位8高LSTT改 載,它為 8 位地址線和 8 位數(shù)據(jù)線的復(fù)用端口。P1 口():它是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O 口,P1 口的驅(qū)動能 力為4個LSTT改載。P2 口():它為一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O 口,P2 口的驅(qū)動能力也為4個LSTTa載。在訪問外部程序存儲器時(shí),它作

18、存儲器的高8位地址線。P3 口():P3 口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O 口,P3 口除了作 為一般的I/O 口使用之外,具還具有特殊功能P1.。PL 1 PL2 PL 3P1. 4P1. 5PL 6P1JRST (R(D)P3. 0 ED舊.ETOP* 23CTO) PI 4C. 5 (WRPV6 醐P" 1XTAL2XTAL1GOAT8»C51VCCPOl 0/ “DSPD. 17 (ADI)P。. 2/ .W2>PB. 3 皿)PO. 4/(ADJ>PU. S/(ADJ> PE 6/(0 PO. 7/(AD7>ALE/Fact PSP

19、 P2. 7/(A» PL 6/(A14> PL S/UB> 也打41刀 P2. Mae PL 2/M0i P2.P2. 0八AMffl 1 AT89c51的引腳排列振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為 片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動器件,XTAL2 應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號要通過一個二分頻觸發(fā)器,因此對外部時(shí)鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度芯片擦除AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟 件可選的掉電模式。在閑置模式下,CPU停止

20、工作。但RAM,定時(shí)器,計(jì)數(shù)器, 串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。4、軟件設(shè)計(jì)主程序設(shè)計(jì)#include<>#define T 10文件。本設(shè)計(jì)利用Keil pVision4,在新建Keil項(xiàng)目時(shí)選擇AT89C51單片機(jī)作為 CPU,將C語言源程序?qū)?,在“Options For Target對話窗口中,選中“Output” 選項(xiàng)中的“ Create HEX File”,編譯鏈接后就可以生成.HEX文件。在Proteus ISIS 中,選中AT89C51并單擊鼠標(biāo)左鍵,對AT89C51進(jìn)行設(shè)置,設(shè)置單片機(jī)時(shí)鐘頻率 為12MHz,按照正確的文件路徑加載.HEX文件。對單片機(jī)設(shè)置完畢后就可以開 始仿真了。仿真結(jié)果文井由 F M %0n MF 冷屯苴卻與和明(班球向RX1稹變泡要統(tǒng)Ml :玷M H口冷H電 注0 |兇由+ +|守守二電* 下 小聯(lián)/灶產(chǎn) X鐲韜目用血才E B 3-TO0 QI *1D(DO %I,|1| I O "I1Udr>p|目Fjg 5H &quo

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論