版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 自計(jì)算機(jī)問世以來,單片機(jī)技術(shù)在社會(huì)各領(lǐng)域中得到了廣泛的應(yīng)用。在流水燈控制系統(tǒng)中,單片機(jī)更是取代了由齒輪調(diào)節(jié)延遲時(shí)間的舊式市發(fā)展速度,成為日后此系統(tǒng)中的核心部分。由于單片機(jī)具有一些突出的優(yōu)點(diǎn):體積小、重量輕、電源單一、功耗低;功能強(qiáng)、價(jià)格低;數(shù)據(jù)大都在單片機(jī)內(nèi)部傳送,運(yùn)行速度快、抗干擾能力強(qiáng)、可靠性高,所以單片機(jī)被廣泛的應(yīng)用于測(cè)控
2、系統(tǒng)、數(shù)據(jù)采集、智能儀器儀表、機(jī)電一體化產(chǎn)品、智能接口、計(jì)算機(jī)通信以及單片機(jī)的多級(jí)系統(tǒng)等領(lǐng)域。本文主要講的是單片機(jī),課題名稱為多按鍵花樣流水燈,它使我們學(xué)會(huì)了如何使用單片機(jī)控制我們?nèi)粘I钪械亩嘣O(shè)備設(shè)施的應(yīng)用。通過本課題的設(shè)計(jì)以后,使我了解到了單片機(jī)的許多方面的應(yīng)用。</p><p> 關(guān)鍵詞: 單片機(jī)、可編程控制器、交通型號(hào)燈、可靠性高。</p><p><b> 目 錄
3、</b></p><p><b> 緒論1</b></p><p> 1. 相關(guān)元件及電路設(shè)計(jì)2</p><p> 1.1 AT89C51芯片功能特性及應(yīng)用2</p><p> 1.2 MCS-51單片機(jī)3</p><p> 1.2.1 內(nèi)部結(jié)構(gòu)3</p&g
4、t;<p> 1.2.2 引腳定義3</p><p> 1.2.3 外部總線構(gòu)成5</p><p> 1.3 單片機(jī)時(shí)鐘電路及時(shí)鐘時(shí)序單位6</p><p> 1.4單片機(jī)的復(fù)位8</p><p> 1.4.1 復(fù)位狀態(tài)8</p><p> 1.4.2 復(fù)位電路9</
5、p><p> 2. 流水燈電路及程序設(shè)計(jì)10</p><p> 2.1 電路原理圖設(shè)計(jì)10</p><p> 3.2電路程序設(shè)計(jì)12</p><p><b> 總結(jié)17</b></p><p><b> 參考文獻(xiàn)18</b></p><p
6、><b> 。。</b></p><p><b> 緒論</b></p><p> 當(dāng)今時(shí)代是一個(gè)新技術(shù)層出不窮的時(shí)代,在電子領(lǐng)域尤其是自動(dòng)化智能控制領(lǐng)域,傳統(tǒng)的分立元件或數(shù)字邏輯電路構(gòu)成的控制系統(tǒng),正以前所未見的速度被單片機(jī)智能控制系統(tǒng)所取代。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮正在工廠、學(xué)校及企事業(yè)單位大規(guī)模地興起。本設(shè)計(jì)用AT89C
7、51單片機(jī)自制了一款簡(jiǎn)易的花樣流水燈,介紹了其硬件電路及軟件編程方法,在實(shí)踐中體驗(yàn)單片機(jī)的自動(dòng)控制功能。該設(shè)計(jì)具有實(shí)際意義,可以在廣告業(yè)、媒體宣傳、裝飾業(yè)等領(lǐng)域得到廣泛應(yīng)用。</p><p> 學(xué)習(xí)單片機(jī)的最有效方法就是理論與實(shí)踐并重,現(xiàn)在我把單片機(jī)流水燈設(shè)計(jì)作為一個(gè)課程設(shè)計(jì),需要更深的去了解單片機(jī)的很多功能,努力的去查找資料。本課題將以發(fā)光二極管作為發(fā)光器件,用單片機(jī)自動(dòng)控制,實(shí)現(xiàn)一個(gè)簡(jiǎn)易的花樣流水燈設(shè)計(jì)。&
8、lt;/p><p> 1. 相關(guān)元件及電路設(shè)計(jì)</p><p> 1.1 AT89C51芯片功能特性及應(yīng)用</p><p> 單片機(jī)在我們的日常生活和工作中無(wú)處不在、無(wú)處不有:家用電器中的電子表、洗衣機(jī)、電飯褒、豆?jié){機(jī)、電子秤;住宅小區(qū)的監(jiān)控系統(tǒng)、電梯智能化控制系統(tǒng);汽車電子設(shè)備中的ABS、GPS、ESP、TPMS;醫(yī)用設(shè)備中的呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,病床呼
9、叫系統(tǒng);公交汽車、地鐵站的IC卡讀卡機(jī)、滾動(dòng)顯示車次和時(shí)間的LED點(diǎn)陣顯示屏;電腦的外設(shè),如鍵盤、鼠標(biāo)、光驅(qū)、打印機(jī)、復(fù)印件、傳真機(jī)、調(diào)制解調(diào)器;計(jì)算機(jī)網(wǎng)絡(luò)的通訊設(shè)備;智能化儀表中的萬(wàn)用表,示波器,邏輯分析儀;工廠流水線的智能化管理系統(tǒng),成套設(shè)備中關(guān)鍵工作點(diǎn)的分布式監(jiān)控系統(tǒng);導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上的各種儀表等等。有資料表明:2007年全球單片機(jī)的產(chǎn)值達(dá)到151億美元,我國(guó)單片機(jī)的銷售額達(dá)到400億元人民幣,我國(guó)每年單片機(jī)的需求量達(dá)50至
10、60億片,是全球單片機(jī)的最大市場(chǎng)??梢哉f單片機(jī)已經(jīng)滲透到了我們生活的各個(gè)領(lǐng)域。</p><p> 在AT89C51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部通過這兩個(gè)引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率通常是1.2~12MHz。若晶體振蕩器頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也
11、就快</p><p> 1.2 MCS-51單片機(jī)</p><p> 1.2.1 內(nèi)部結(jié)構(gòu)</p><p> MCS-51系列單片機(jī)內(nèi)部采用模塊式結(jié)構(gòu),其結(jié)構(gòu)組成框圖如圖1所示。</p><p> 圖1 MCS-51系列單片機(jī)組成框圖</p><p> 由圖1可見,MCS-51系列單片機(jī)主要由以下部件通過片
12、內(nèi)總線連接而成:中央處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM)、并行輸入/輸出口(P0口~P3口)、串行口、定時(shí)器/計(jì)數(shù)器、中斷控制、總線控制及時(shí)鐘電路。</p><p> 1.2.2 引腳定義</p><p> 引腳是單片機(jī)和外界進(jìn)行通信的通道連接點(diǎn),用戶只能通過引腳組建控制系統(tǒng)。從應(yīng)用的角度來看,引腳的應(yīng)用是單片機(jī)應(yīng)用的一個(gè)重要基礎(chǔ)。因此熟悉引腳是學(xué)習(xí)應(yīng)用單片機(jī)
13、的基礎(chǔ)。 </p><p> MCS-51系列單片機(jī)的引腳封裝主要有: PDIP40、PLCC44和PQFP/TQFP44。不同封裝的芯片其引腳的排列位置有所不同,但他們的功能和特性都相同。方形封裝(PLCC44和POFP/TQFP44)有44引腳,其中4個(gè)NC為空引腳。采用40引腳PDIP封裝的80C51單片機(jī)的引腳排列及邏輯符號(hào)如圖2所示。</p><p> 由于工藝及標(biāo)準(zhǔn)化等原因
14、,芯片的引腳數(shù)量是有限的,但單片機(jī)為實(shí)現(xiàn)控制所需要的信號(hào)數(shù)目卻遠(yuǎn)遠(yuǎn)超過其引腳數(shù)目。為解決這一矛盾,單片機(jī)的某些信號(hào)引腳被賦以雙重功能。</p><p> 1)電源及電源復(fù)位引腳:</p><p> ?。?)VCC(40腳):正常操作時(shí)接+5V直流電源。</p><p> ?。?)VSS (20腳):接地端。</p><p> 圖2 4
15、0引腳PDIP封裝的80C51單片機(jī)的引腳排列及邏輯符號(hào)圖</p><p> ?。?)RST/VPD(9腳):復(fù)位信號(hào)輸入端。在該引腳上輸入一定時(shí)間(約兩個(gè)機(jī)器周期)的高電平將使單片機(jī)復(fù)位。該引腳的第二功能是VPD,即備用電源輸入端。當(dāng)主電源發(fā)生故障,降低到低電平規(guī)定值時(shí),可將+5V備用電源自動(dòng)接入VPD端,以保護(hù)片內(nèi)RAM中的信息不丟失,使復(fù)電后能繼續(xù)正常運(yùn)行。</p><p> ?。?
16、)/VPP(31腳):訪問程序存儲(chǔ)器控制信號(hào)/編程電源輸入。當(dāng)保持高電平時(shí),訪問內(nèi)部程序存儲(chǔ)器,訪問地址范圍在0~4KB內(nèi);當(dāng)PC(程序計(jì)數(shù)器)值超過0FFFH,即訪問地址超出4KB時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序;當(dāng)保持低電平時(shí),不管單片機(jī)內(nèi)部是否有程序存儲(chǔ)器,則只訪問外部程序存儲(chǔ)器(從0000H地址開始)。由此可見,對(duì)片內(nèi)有可用程序存儲(chǔ)器的單片機(jī)而言,端應(yīng)接高電平,而對(duì)片內(nèi)無(wú)程序存儲(chǔ)器的單片機(jī),可將接地。</p>
17、<p> 對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳用于施加21V的編程電源(VPP)。</p><p> 2)時(shí)鐘振蕩電路引腳XTAL1和XTAL2:</p><p> ?。?)XTAL1(19腳):外接石英晶體和微調(diào)電容引腳1。它是片內(nèi)振蕩電路反向放大器的輸入端。采用外部振蕩器時(shí)此引腳接地。</p><p> ?。?)XTAL2(18
18、腳):外接石英晶體和微調(diào)電容引腳2。它是片內(nèi)振蕩電路反向放大器的輸出端。采用外部振蕩器時(shí)此引腳為外部振蕩信號(hào)輸入端。</p><p> 3) (30腳):低8位地址鎖存控制信號(hào)/編程脈沖輸入。在系統(tǒng)擴(kuò)展時(shí),ALE用于把P0口輸出的低8位地址鎖存起來,以實(shí)現(xiàn)低8位地址和數(shù)據(jù)的隔離。在訪問外部程序存儲(chǔ)器期間,ALE信號(hào)兩次有效;而在訪問外部數(shù)據(jù)存儲(chǔ)器期間,ALE信號(hào)一次有效。對(duì)于EPROM型單片機(jī),在EPROM編程
19、期間,此引腳用于輸入編程脈沖。</p><p> 4)(29腳):外部程序存儲(chǔ)器的讀選通信號(hào)輸出端,低電平有效。在從外部程序存儲(chǔ)器取指令(或常數(shù))期間,此引腳定時(shí)輸出負(fù)脈沖作為讀取外部程序存儲(chǔ)器的信號(hào),每個(gè)機(jī)器周期兩次有效,此時(shí)地址總線上送出的地址為外部程序存儲(chǔ)器地址;在此期間,如果訪問外部數(shù)據(jù)存儲(chǔ)器和內(nèi)部程序存儲(chǔ)器,不會(huì)產(chǎn)生信號(hào)。</p><p> 5)并行雙向輸入/輸出(I/O)口
20、引腳:</p><p> ?。?)P0口的P0.0~P0.7引腳(39~32腳):8位通用輸入/輸出端口和片外8位數(shù)據(jù)/低8位地址復(fù)用總線端口。</p><p> ?。?)P1口的P1.0~P1.7引腳(1~8腳):8位通用輸入/輸出端口。</p><p> ?。?)P2口的P2.0~P2.7引腳(28~21腳):8位通用輸入/輸出端口和片外高8位地址總線端口。&l
21、t;/p><p> (4)P3口的P3.0~P3.7引腳(10~17腳):8位通用輸入/輸出端口,具有第二功能。</p><p> 1.2.3 外部總線構(gòu)成</p><p> 所謂總線,就是連接單片機(jī)與各外部器件的一組公共的信號(hào)線。當(dāng)系統(tǒng)要求擴(kuò)展時(shí),單片機(jī)要與一定數(shù)量的外部器件和外圍設(shè)備連接。如果各部件及每一種外圍設(shè)備都分別用各自的一組線路與CPU直接連接,那么連
22、線將會(huì)錯(cuò)綜復(fù)雜,甚至難以實(shí)現(xiàn)。為了簡(jiǎn)化硬件電路的設(shè)計(jì)和系統(tǒng)結(jié)構(gòu),常用一組線路,并配以適當(dāng)?shù)慕涌陔娐穪砼c各個(gè)外部器件和外圍設(shè)備連接,這組共用的連接線路就是總線。采用總線結(jié)構(gòu)便于擴(kuò)展外部器件和外圍設(shè)備,而統(tǒng)一的總線標(biāo)準(zhǔn)則使不同設(shè)備間的互連更容易實(shí)現(xiàn)。</p><p> 利用片外引腳可以構(gòu)造MCS-51系列單片機(jī)的三總線結(jié)構(gòu)。單片機(jī)的引腳除了電源端VCC、接地端VSS、復(fù)位端RST、晶振接入端XTAL1和XTAL2、
23、通用I/O口的P1.0~P1.7以外,其余的引腳都是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。用這些引腳構(gòu)造的單片機(jī)系統(tǒng)的三總線結(jié)構(gòu)如3所示。</p><p> 圖3 MCS-51系列單片機(jī)片外三總線結(jié)構(gòu)</p><p> 1)地址總線(Address Bus,AB):MCS-51系列單片機(jī)總共有16根地址線A15~ A0,片外存儲(chǔ)器可尋址范圍達(dá)64KB(216=65536字節(jié)),由P2口直接提供高8
24、位地址A15~ A8,P0口經(jīng)地址鎖存器提供低8位地址A7~ A0。</p><p> 2)數(shù)據(jù)總線(Data Bus,DB):MCS-51系列單片機(jī)總共有8根數(shù)據(jù)線D7~D0,全由P0口提供。由于P0口是分時(shí)復(fù)用總線,分時(shí)輸送低8位地址(通過地址鎖存器鎖存)和高8位數(shù)據(jù)信息。 </p><p> 3)控制總線(Control Bus,CB):控制總線由P3口的第二功能(P3.6)、
25、(P3.7)和3根獨(dú)立的控制線、ALE、組成。</p><p> 1.3 單片機(jī)時(shí)鐘電路及時(shí)鐘時(shí)序單位</p><p><b> 1) 時(shí)鐘電路</b></p><p> 單片機(jī)本身如同一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作,電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格地按規(guī)定時(shí)序工作。而時(shí)鐘電路就用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào)。MCS-5
26、1單片機(jī)時(shí)鐘電路示意圖如圖4所示。</p><p> 圖4 MCS-51單片機(jī)時(shí)鐘振蕩電路示意圖</p><p> 在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部通過這兩個(gè)引腳跨接晶體振蕩器和微調(diào)電容C1、C2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率范圍通常是1.2~12MHz。晶體振蕩頻
27、率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。</p><p> 振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用。振蕩脈沖在片內(nèi)通過一個(gè)時(shí)鐘發(fā)生電路二分頻后才作為系統(tǒng)的時(shí)鐘信號(hào)。片內(nèi)時(shí)鐘發(fā)生電路實(shí)質(zhì)上是一個(gè)二分頻的觸發(fā)器,其輸入來自振蕩器,輸出為二相時(shí)鐘信號(hào),即狀態(tài)時(shí)鐘信號(hào),其頻率為fosc/2;狀態(tài)時(shí)鐘三分頻后為ALE信號(hào),其頻率為fosc/6;狀態(tài)時(shí)鐘六分頻后為機(jī)器周期,其頻率為fosc
28、/12。</p><p> 在圖4中,使用晶體振蕩器時(shí),C1、C2取值30±10pF;使用陶瓷振蕩器時(shí),C1、C2取值40±10pF。C1、C2的取值雖然沒有嚴(yán)格的要求,但電容的大小影響振蕩電路的穩(wěn)定性和快速性,通常取值20~30pF。在設(shè)計(jì)印制電路板時(shí),晶振和電容等應(yīng)盡可能靠近芯片,以減少分布電容,保證振蕩器振蕩的穩(wěn)定性。</p><p> 也可以由外部時(shí)鐘電路向
29、片內(nèi)輸入脈沖信號(hào)作為單片機(jī)的振蕩脈沖。這時(shí)外部脈沖信號(hào)是經(jīng)XTAL1引腳引入的,而XTAL2引腳懸空或接地。對(duì)外部信號(hào)的占空比沒有要求,但高低電平持續(xù)的時(shí)間不應(yīng)小于20ns。這種方式常用于多塊芯片同時(shí)工作,便于同步。其外部脈沖接入方式如圖5所示。</p><p> 圖5 MCS-51單片機(jī)外部時(shí)鐘輸入接線圖</p><p> 所謂時(shí)序,是指在指令執(zhí)行過程中,CPU的控制器所發(fā)出的一系
30、列特定的控制信號(hào)在時(shí)間上的先后關(guān)系。CPU發(fā)出的控制信號(hào)有兩類:一類是用于單片機(jī)內(nèi)部的,用戶不能直接接觸此類信號(hào),不必對(duì)它作過多了解;另一類是通過控制總線送到片外的,人們通常以時(shí)序圖的形式來表示相關(guān)信號(hào)的波形及出現(xiàn)的先后次序。為了說明信號(hào)的時(shí)間關(guān)系,需要定義時(shí)序單位。89C51的時(shí)序單位共有四個(gè),從小到大依次是拍節(jié)、狀態(tài)、機(jī)器周期和指令周期。如圖4所示。</p><p><b> 1.4單片機(jī)的復(fù)位&
31、lt;/b></p><p> 1.4.1 復(fù)位狀態(tài)</p><p> 復(fù)位是單片機(jī)的初始化操作,其主要功能是將程序計(jì)數(shù)器PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化外,當(dāng)程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),也須重新啟動(dòng)單片機(jī),使其復(fù)位。</p><p> 單片機(jī)復(fù)位后,除P3~P0的端口鎖存器被設(shè)置成
32、FFH、堆棧指針SP設(shè)置成07H和串行口的SBUF無(wú)確定值外,其它各專用寄存器包括程序計(jì)數(shù)器PC均被設(shè)置成00H。片內(nèi)RAM不受復(fù)位的影響,上電后RAM中的內(nèi)容是隨機(jī)的。記住這些特殊功能寄存器的復(fù)位狀態(tài),對(duì)熟悉單片機(jī)操作,簡(jiǎn)短應(yīng)用程序中的初始化部分是十分必要的。</p><p> 1.4.2 復(fù)位電路</p><p> 單片機(jī)的復(fù)位操作有上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式。上電自動(dòng)復(fù)
33、位操作要求接通電源后自動(dòng)實(shí)現(xiàn)復(fù)位操作。如圖1.5-1所示。圖6(a)所示為最簡(jiǎn)單的復(fù)位電路。上電瞬間由于電容C上無(wú)儲(chǔ)能,其端電壓近似為零,RST獲得高電平,隨著電容器C的充電,RST引腳上的高電平將逐漸下降,當(dāng)RST引腳上的電壓小于某一數(shù)值后,單片機(jī)就脫離復(fù)位狀態(tài),進(jìn)入正常工作模式。只要高電平能保持復(fù)位所需要的時(shí)間(約兩個(gè)機(jī)器周期),單片機(jī)就能實(shí)現(xiàn)復(fù)位。</p><p> 相比于圖6(a),圖6(b)所示的電路
34、只是增加了外接二極管VD和電阻R。其優(yōu)越性在于停電后,二極管VD給電容C提供了快速放電通路,保證再上電時(shí)RST為高電平,從而保證單片機(jī)可靠復(fù)位。正常工作時(shí),二極管反偏,對(duì)電路沒影響。斷電后,VCC逐漸下降,當(dāng)VCC=0時(shí),電容C通過VD迅速放電,恢復(fù)到無(wú)電量的初始狀態(tài),為下次上電復(fù)位做好準(zhǔn)備。</p><p> (a)
35、 (b)</p><p> 圖6 上電自動(dòng)復(fù)位電路</p><p> 手動(dòng)按鍵復(fù)位要求在電源接通的條件下,用按鈕開關(guān)操作使單片機(jī)復(fù)位,如圖7所示。其工作原理為:復(fù)位鍵按下后,電容C通過R2放電,放電結(jié)束后,RST引腳的電位由R1和R2 分壓決定,由于R2<<R1,因此,RST引腳為高電平,單片機(jī)進(jìn)入復(fù)位狀態(tài),松開按鍵后,電容充電,RST上的電位降低,經(jīng)過一定的延時(shí),
36、單片機(jī)就脫離復(fù)位狀態(tài),進(jìn)入正常工作模式。R2的作用在于限流,避免按鍵按下的瞬間電容C放電產(chǎn)生火花,保護(hù)按鍵的觸點(diǎn)。</p><p> 圖7 手動(dòng)按鍵復(fù)位電路</p><p> 系統(tǒng)上電運(yùn)行后,若需要復(fù)位,一般是通過手動(dòng)復(fù)位來實(shí)現(xiàn)的。通常采用手動(dòng)復(fù)位和上電自動(dòng)復(fù)位結(jié)合。復(fù)位電路雖然簡(jiǎn)單,但其作用十分重要。一個(gè)單片機(jī)系統(tǒng)能否正常運(yùn)行,首先要檢查是否能復(fù)位成功。初步檢查可用示波器探頭監(jiān)視R
37、ST引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出(瞬時(shí)的),還可以通過改變復(fù)位電路阻容值的方法進(jìn)行檢測(cè)。</p><p> 2. 流水燈電路及程序設(shè)計(jì)</p><p> 2.1 電路原理圖設(shè)計(jì)</p><p> 按照單片機(jī)系統(tǒng)擴(kuò)展與系統(tǒng)配置狀況,單片機(jī)應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。AT89C51單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低電壓、高
38、性能CMOS 8位單片機(jī),具有豐富的內(nèi)部資源:4kB閃存、128BRAM、32根I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、5個(gè)向量?jī)杉?jí)中斷結(jié)構(gòu)、2個(gè)全雙工的串行口,具有4.25~5.50V的電壓工作范圍和0~24MHz工作頻率,使用AT89C51單片機(jī)時(shí)無(wú)須外擴(kuò)存儲(chǔ)器。因此,本流水燈實(shí)際上就是一個(gè)帶有八個(gè)發(fā)光二極管的單片機(jī)最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個(gè)單片機(jī)。從原理圖中可以看出,如果要讓接在P1.
39、0口的LED1亮起來,那么只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖?;同理,接在P1.1~P1.7口的其他7個(gè)LED的點(diǎn)亮和熄滅的方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~LED8依次點(diǎn)亮、熄滅,8只LED燈便會(huì)一亮一暗的做流水燈了。在此我們還應(yīng)注意一點(diǎn),由于人眼的視覺暫留效應(yīng)以及單片機(jī)執(zhí)行每條指令的時(shí)間很短,</p>&
40、lt;p> 設(shè)計(jì)原理圖如圖8所示:</p><p> 圖8流水燈硬件原理圖</p><p><b> 3.2電路程序設(shè)計(jì)</b></p><p> 程序流程圖如圖9所示:</p><p> 程序中LIGHT7為多種亮燈方式結(jié)合循環(huán)</p><p> 延時(shí)子程序DELAY為100毫
41、秒延時(shí),延時(shí)子程序DELAY1為100毫秒延時(shí)</p><p> LIGHT1~LIGHT6亮燈方式程序中有標(biāo)注</p><p><b> 圖9 程序流程圖</b></p><p><b> 程序如下:</b></p><p><b> ORG 0000H</b><
42、;/p><p> AJMP MAIN ;系統(tǒng)上電,執(zhí)行主程序</p><p> ORG 0003H ;外部中斷0入口</p><p> AJMP LOOP ;轉(zhuǎn)移至中斷服務(wù)程序</p><p><b> MAIN:</b></p><
43、;p> SETB EX0 ;允許INT0中斷</p><p> SETB IT0 ;INT0中斷選用電平觸發(fā)</p><p> SETB EA ;CPU開中斷</p><p> HALT: SJMP HALT ;等待中斷</p><
44、p> LOOP: ;判0轉(zhuǎn)移到相應(yīng)亮燈方式</p><p><b> SETB P3.2</b></p><p> JNB P3.0 ,LIGHT1</p><p> JNB P3.1 ,LIGHT2</p><p> JNB P3.3 ,LIGHT3</p
45、><p> JNB P3.4 ,LIGHT4</p><p> JNB P3.5 ,LIGHT5</p><p> JNB P3.6 ,LIGHT6</p><p> JNB P3.7 ,LIGHT7</p><p> LIGHT1: ;一個(gè)正流水(100毫秒延時(shí))&
46、lt;/p><p><b> SETB P3.0</b></p><p> MOV DPTR,#TAB1</p><p><b> MOV R0,#8</b></p><p> LIGHT11:MOVX A,@DPTR</p><p><b> MOV P1,
47、A</b></p><p> LCALL DELAY</p><p><b> INC DPTR</b></p><p> DJNZ R0,LIGHT11</p><p> JNB P3.0,LOOP</p><p> SJMP LIGHT1</p><p
48、> LIGHT2: ;兩個(gè)正流水(100毫秒延時(shí))</p><p><b> SETB P3.1</b></p><p> MOV DPTR,#TAB2</p><p><b> MOV R0,#4</b></p><p> LIGHT
49、22:MOVX A,@DPTR</p><p><b> MOV P1,A</b></p><p> LCALL DELAY</p><p><b> INC DPTR</b></p><p> DJNZ R0,LIGHT22</p><p> SJMP LIGHT
50、2</p><p> LIGHT3: ;隔一個(gè)正流水(100毫秒延時(shí))</p><p><b> SETB P3.3</b></p><p> MOV DPTR,#TAB3</p><p><b> MOV R0,#8</b></p
51、><p> LIGHT33:MOVX A,@DPTR</p><p><b> MOV P1,A</b></p><p> LCALL DELAY</p><p><b> INC DPTR</b></p><p> DJNZ R0,LIGHT33</p>
52、<p> JNB P3.0,LOOP</p><p> SJMP LIGHT3</p><p> LIGHT4: 隔一個(gè)倒流水(0.5秒延時(shí))</p><p><b> SETB P3.5</b></p><p> MOV DPTR,#TA
53、B5</p><p><b> MOV R0,#4</b></p><p> LIGHT55:MOVX A,@DPTR</p><p><b> MOV P1,A</b></p><p> LCALL DELAY1</p><p><b> INC DPT
54、R</b></p><p> DJNZ R0,LIGHT55</p><p> JNB P3.0,LOOP</p><p> SJMP LIGHT5</p><p> LIGHT5: ;多樣式流水(2秒延時(shí))</p><p>
55、<b> SETB P3.7</b></p><p> MOV DPTR,#TAB7</p><p> MOV R0,#74</p><p> LIGHT77:MOVX A,@DPTR</p><p><b> MOV P1,A</b></p><p> LCAL
56、L DELAY</p><p><b> INC DPTR</b></p><p> DJNZ R0,LIGHT77</p><p> JNB P3.0,LOOP</p><p> SJMP LIGHT7</p><p> DELAY1:MOV R3,#10 //0.5秒的延時(shí)子程序&
57、lt;/p><p> D1:MOV R7,#200</p><p> D2:MOV R6,#123</p><p> D3:DJNZ R6,D3</p><p><b> NOP</b></p><p> DJNZ R7,D2</p><p> DJNZ R3,D1
58、</p><p><b> RET</b></p><p> DELAY:MOV R2,#40 //2秒的延時(shí)子程序</p><p> D4:MOV R1,# 200</p><p> D5:MOV R4,#123</p><p> D6:DJNZ R4,D6</p>&
59、lt;p><b> NOP</b></p><p> DJNZ R1,D5</p><p> DJNZ R2,D4</p><p><b> RET</b></p><p> TAB1: ;一個(gè)正流水</p>
60、<p> DB 01H 02H 04H 08H 10H 20H 40H 80H</p><p> TAB2: ;兩個(gè)正流水</p><p> DB 03H 0CH 30H 0C0H</p><p> TAB3: ;隔一個(gè)正流水&l
61、t;/p><p> DB 01H 04H 10H 40H </p><p> TAB4: ;隔一個(gè)倒流水</p><p> DB 80H 20H 08H 02H</p><p> TAB5: ;多樣式流水</p&g
62、t;<p> DB 0FFH ;全滅</p><p> DB 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 07FH ;依次逐個(gè)點(diǎn)亮</p><p> DB 0FEH 0FCH 0F8H 0F0H 0E0H 0C0H 080H 000H ;依次逐個(gè)疊加</p><p> DB 080H 0C0H 0E0H 0F0H 0F
63、8H 0FCH 0FEH 0FFH ;依次逐個(gè)遞減</p><p> DB 0FEH 0FCH 0F8H 0F0H 0E0H 0C0H 080H 000H ;依次逐個(gè)疊加</p><p> DB 080H 0C0H 0E0H 0F0H 0F8H 0FCH 0FEH 0FFH ;依次逐個(gè)遞減</p><p> DB 07EH 0BDH 0DBH 0E7H 0E7
64、H 0DBH 0BDH 07EH ;兩邊靠攏后分開</p><p> DB 07EH 03CH 018H 000H 000H 018H 03CH 07EH ;兩邊疊加后遞減</p><p> DB 07EH 0BDH 0DBH 0E7H 0E7H 0DBH 0BDH 07EH ;兩邊靠攏后分開</p><p> DB 07EH 03CH 018H 000H 0
65、00H 018H 03CH 07EH ;兩邊疊加后遞減</p><p> DB 000H ;全亮</p><p> END ;程序結(jié)束指令</p><p><b> 總結(jié)</b></p><p> 本次課程設(shè)計(jì)我的課題是花樣流水燈的設(shè)計(jì),開始的幾個(gè)星期我針對(duì)這個(gè)課題的任務(wù)要求從圖書館、上網(wǎng)等
66、渠道獲取相關(guān)信息,查找相關(guān)的參考資料,然后設(shè)定了本課題的設(shè)計(jì)方案。經(jīng)過近多日的努力,終于將本次課程設(shè)計(jì)做完了,但由于水平有限,文中肯定有很多不恰當(dāng)?shù)牡胤?,?qǐng)老師指出其中的錯(cuò)誤和不當(dāng)之處,使我能做出改正,我會(huì)虛心接受。在本次課程設(shè)計(jì)過程中,我增強(qiáng)了自己的動(dòng)手能力和分析能力。在以后的學(xué)習(xí)生活中,我會(huì)努力學(xué)習(xí)專業(yè)知識(shí),完善自我,為將來的發(fā)展做好充分的準(zhǔn)備。</p><p> 總之,在這次課程設(shè)計(jì)中,我受益匪淺,學(xué)到了
67、很多書本上所沒有的東西,懂得了理論和實(shí)際聯(lián)系的重要性。在以后的學(xué)習(xí)中,我不僅要把理論知識(shí)掌握牢固,更要提高自己的動(dòng)手能力和分析能力。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 胡漢才.單片機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,1995.6.</p><p> [2] 樓然苗等.51系列單片機(jī)設(shè)計(jì)實(shí)例[M
68、].北京:北京航空航天出版社,2003.3.</p><p> [3] 何立民. 單片機(jī)高級(jí)教程[M].北京:北京航空航天大學(xué)出版社,2001.</p><p> [4] 趙曉安. MCS-51單片機(jī)原理及應(yīng)用[M]. 天津:天津大學(xué)出版社,2001.3.</p><p> [5] 肖洪兵. 跟我學(xué)用單片機(jī)[M]. 北京:北京航空航天大學(xué)出版社,2002.8.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)控制的花樣流水燈設(shè)計(jì)畢業(yè)論文
- 單片機(jī)控制的花樣流水燈設(shè)計(jì)畢業(yè)論文
- 單片機(jī)控制的花樣流水燈設(shè)計(jì)畢業(yè)論文
- 單片機(jī)控制的花樣流水燈設(shè)計(jì)畢業(yè)論文
- 單片機(jī)控制的花樣流水燈畢業(yè)設(shè)計(jì)
- led流水燈單片機(jī)的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文—led流水燈單片機(jī)的設(shè)計(jì)
- 畢業(yè)論文---led流水燈單片機(jī)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--花樣流水燈設(shè)計(jì)
- 基于51單片機(jī)led流水燈設(shè)計(jì)畢業(yè)論文
- 電子專業(yè)畢業(yè)論文--led流水燈單片機(jī)的設(shè)計(jì)
- 51單片機(jī)流水燈畢業(yè)設(shè)計(jì)論文
- 電子專業(yè)的畢業(yè)論文--led流水燈單片機(jī)的設(shè)計(jì)運(yùn)用
- 畢業(yè)論文-基于單片機(jī)的音樂流水燈設(shè)計(jì)【精校排版】
- 用單片機(jī)實(shí)現(xiàn)流水燈的控制畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的流水燈設(shè)計(jì)
- 單片機(jī)流水燈課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---流水燈
- 花樣流水燈畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的音樂流水燈
評(píng)論
0/150
提交評(píng)論