資源描述:
《鍵控流水燈設(shè)計(jì).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、單片機(jī)課程設(shè)計(jì)題目基于單片機(jī)的流水燈設(shè)計(jì)姓名:李坤呈班級(jí):學(xué)號(hào):33摘要:?jiǎn)纹瑱C(jī)是一種集成電路芯片,采用超大規(guī)模技術(shù),把具有數(shù)據(jù)處理能力的微處理器、隨機(jī)存取數(shù)據(jù)存儲(chǔ)器、只讀程序存儲(chǔ)器、輸入輸出電路、可能還包括定時(shí)計(jì)數(shù)器、串口通信口、顯示驅(qū)動(dòng)電路,脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等電路集成到一塊芯片上,構(gòu)成一個(gè)最小而完善的計(jì)算機(jī)系統(tǒng)。這些電路在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。鍵控流水燈設(shè)計(jì)通過(guò)編寫(xiě)代碼實(shí)現(xiàn)8個(gè)LED燈3種流水燈顯示方式。在設(shè)計(jì)中主要采用AT89C51這款芯片作為控制主體,用按鈕來(lái)切換流水燈的發(fā)光
2、方式來(lái)顯示流水燈的發(fā)光模式。系統(tǒng)通過(guò)P0口外接8個(gè)發(fā)光二極管,P3口接2個(gè)按鍵,一個(gè)按鍵實(shí)現(xiàn)一種發(fā)光模式,并且兩個(gè)按鍵有優(yōu)先級(jí)。設(shè)計(jì)中輔以簡(jiǎn)單的設(shè)備和必要的電路,設(shè)計(jì)了一款流水燈,最終達(dá)到預(yù)期的目的。關(guān)鍵詞單片機(jī)AT89C51LED鍵控流水燈1引言單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或者數(shù)字電路構(gòu)成的控制系統(tǒng),可以軟件控制來(lái)實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化?,F(xiàn)在的單片機(jī)的控制范疇無(wú)所不在,例如通信產(chǎn)品、家用電器、智能儀器儀表、過(guò)程控制和專用控制裝置等等,單片機(jī)的應(yīng)用領(lǐng)域越來(lái)越廣泛。2中斷系統(tǒng)概述1.中斷概念:中斷是指計(jì)算機(jī)在執(zhí)行某一程序的過(guò)程中,由于
3、計(jì)算機(jī)系統(tǒng)內(nèi)、外的某種原因,而必須中止原來(lái)程序的執(zhí)行,轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,待處理結(jié)束之后,再回來(lái)繼續(xù)執(zhí)行被中止的原程序的過(guò)程。2.中斷作用:采用了中斷技術(shù)后的計(jì)算機(jī),可以解決CPU與外設(shè)之間速度匹配的問(wèn)題,使計(jì)算機(jī)可以及時(shí)處理系統(tǒng)中許多隨機(jī)的參數(shù)和信息,同時(shí),它也提高了計(jì)算機(jī)處理故障與應(yīng)變的能力。3.中斷的處理過(guò)程:分為四步,第一是中斷請(qǐng)求,第二是中斷響應(yīng),第三是中斷服務(wù),第四是中斷返回。3總體設(shè)計(jì)實(shí)現(xiàn)這個(gè)課題我使用AT89C51作為控制主體,使用八個(gè)共陽(yáng)極發(fā)光二極管作為L(zhǎng)ED顯示流水燈,外接兩個(gè)按鈕,一個(gè)按鍵顯示一種花樣。外接一個(gè)晶振來(lái)提供
4、外接時(shí)鐘脈沖。模塊圖如下圖所示系統(tǒng)電路設(shè)計(jì)圖程序流程圖4模塊設(shè)計(jì)主體控制模塊芯片AT89C51是核心,P0、P3口均可以作為I/O口使用。八個(gè)LED燈接在AT89C51的P0口上,P3口的P3.2和P3.3分別接一個(gè)按鍵,P3.2口的按鍵實(shí)現(xiàn)八個(gè)LED燈閃爍五次,P3.3口的按鍵讓LED燈循環(huán)右移。按鍵控制模塊按鍵控制模塊采用獨(dú)立式按鍵接口設(shè)計(jì)。獨(dú)立式按鍵是每一個(gè)按鍵占用一根I/O端線。特點(diǎn):各個(gè)按鍵相互獨(dú)立,電路配置靈活;按鍵數(shù)量較多時(shí),I/O端線耗費(fèi)較多,電路復(fù)雜;軟件結(jié)構(gòu)簡(jiǎn)單。時(shí)鐘模塊時(shí)鐘電路用于產(chǎn)生單片機(jī)工作時(shí)所需的時(shí)鐘信號(hào),在芯片的外部
5、通過(guò)18腳、19腳接晶體振蕩器和微調(diào)電容,形成反饋電路,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。電路中的C1、C2取30Pf左右,二晶體振蕩器的頻率范圍通常是1.2-12MHZ,晶體振蕩器的頻率越高,振蕩頻率越高。顯示模塊顯示模塊主體是八個(gè)LED燈。都是接的高電平。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮。根據(jù)發(fā)光位置和個(gè)數(shù)的不同可顯示出各種花樣。5程序設(shè)計(jì)C語(yǔ)言程序#include"reg51.h"#include"intrins.h"#defineuintunsignedintvoiddelay(uintm){uinti;for(;m
6、>0;m--){for(i=0;i<124;i++){;}}}voidTimer0()interrupt0{statick;P0=0xff;for(k=0;k<10;k++){P0=~P0;delay(500);}}voidTimer2()interrupt2{unsignedcharoutdata=0x7f;while(1){P0=outdata;outdata=_cror_(outdata,1);delay(500);}}voidmain(){unsignedcharg=0xfe;IT0=0;IT1=0;EA=1;EX1=1;EX0=1;PX
7、0=1;while(1){P0=g;g=_crol_(g,1);delay(500);}}匯編程序ORG0000HAJMPSTARTORG0003HAJMPINTR0ORG0013HAJMPINTR1START:MOVIE,#85HMOVIP,#01HMOVTCON,#00HMOVSP,#60HMOVP3,#0FFHMOVA,#0FEHLOOP:MOVP0,ALCALLDELAYRLAAJMPLOOPINTR0:PUSHACCPUSHPSWSETBRS0MOVR3,#05HLP11:MOVP0,#00HLCALLDELAYMOVP0,#0FFHL
8、CALLDELAYDJNZR3,LP11AJMPLP3LP3:NOPPOPPSWPOPACCRETIINTR1:PUSHACCPUSHP