單片機課程設(shè)計(論文)花樣流水燈的設(shè)計_第1頁
單片機課程設(shè)計(論文)花樣流水燈的設(shè)計_第2頁
單片機課程設(shè)計(論文)花樣流水燈的設(shè)計_第3頁
單片機課程設(shè)計(論文)花樣流水燈的設(shè)計_第4頁
單片機課程設(shè)計(論文)花樣流水燈的設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計說明書第15頁花樣流水燈的設(shè)計摘 要城市夜景中,變幻多姿的霓虹燈歷來是一道亮麗的風景。利用單片機的自動控制功能,設(shè)計出相應(yīng)不同的電路,可以實現(xiàn)彩燈不同模式的流水效果。單片機具有體積小、功能強、成本低、應(yīng)用面廣等優(yōu)點,可以說,智能控制與自動控制的核心即使單片機。單片機的最明顯的優(yōu)勢,就是想入到各種儀器,設(shè)備中。本課程是利用at80c51單片機的自動控制功能,并結(jié)合其它電子元器件以及軟件實現(xiàn)的流水燈,實現(xiàn)不同種類的流水現(xiàn)象。關(guān)鍵字:at80c51單片機,led,花樣流水燈目錄1緒論12 相關(guān)元件及電路設(shè)計12.1 at89c51芯片功能特性及應(yīng)用12.2 mcs-51單片機22.2.1 內(nèi)

2、部結(jié)構(gòu)22.2.2 引腳定義22.2.3 外部總線構(gòu)成52.3單片機時鐘電路及時鐘時序單位62.4單片機的復(fù)位82.4.1 復(fù)位狀態(tài)82.4.2 復(fù)位電路83電路及程序設(shè)計103.1電路原理圖設(shè)計103.2電路程序設(shè)計11總結(jié)18致謝19參考文獻20片機已經(jīng)滲透到了我們生活的各個領(lǐng)域。在at89c51芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為引腳xtal1,輸出端為引腳xtal2,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調(diào)電容c1、c2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率通常是1.212mhz。若晶體振蕩器頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也

3、就快2.2 mcs-51單片機2.2.1 內(nèi)部結(jié)構(gòu)mcs-51系列單片機內(nèi)部采用模塊式結(jié)構(gòu),其結(jié)構(gòu)組成框圖如圖1所示。圖1 mcs-51系列單片機組成框圖由圖1可見,mcs-51系列單片機主要由以下部件通過片內(nèi)總線連接而成:中央處理器(cpu)、數(shù)據(jù)存儲器(ram)、程序存儲器(rom)、并行輸入/輸出口(p0口p3口)、串行口、定時器/計數(shù)器、中斷控制、總線控制及時鐘電路。2.2.2 引腳定義引腳是單片機和外界進行通信的通道連接點,用戶只能通過引腳組建控制系統(tǒng)。從應(yīng)用的角度來看,引腳的應(yīng)用是單片機應(yīng)用的一個重要基礎(chǔ)。因此熟悉引腳是學習應(yīng)用單片機的基礎(chǔ)。 mcs-51系列單片機的引腳封裝主要有

4、: pdip40、plcc44和pqfp/tqfp44。不同封裝的芯片其引腳的排列位置有所不同,但他們的功能和特性都相同。方形封裝(plcc44和pofp/tqfp44)有44引腳,其中4個nc為空引腳。采用40引腳pdip封裝的80c51單片機的引腳排列及邏輯符號如圖2所示。由于工藝及標準化等原因,芯片的引腳數(shù)量是有限的,但單片機為實現(xiàn)控制所需要的信號數(shù)目卻遠遠超過其引腳數(shù)目。為解決這一矛盾,單片機的某些信號引腳被賦以雙重功能。1)電源及電源復(fù)位引腳:(1)vcc(40腳):正常操作時接+5v直流電源。(2)vss (20腳):接地端。圖2 40引腳pdip封裝的80c51單片機的引腳排列及

5、邏輯符號圖(3)rst/vpd(9腳):復(fù)位信號輸入端。在該引腳上輸入一定時間(約兩個機器周期)的高電平將使單片機復(fù)位。該引腳的第二功能是vpd,即備用電源輸入端。當主電源發(fā)生故障,降低到低電平規(guī)定值時,可將+5v備用電源自動接入vpd端,以保護片內(nèi)ram中的信息不丟失,使復(fù)電后能繼續(xù)正常運行。(4)/vpp(31腳):訪問程序存儲器控制信號/編程電源輸入。當保持高電平時,訪問內(nèi)部程序存儲器,訪問地址范圍在04kb內(nèi);當pc(程序計數(shù)器)值超過0fffh,即訪問地址超出4kb時,將自動轉(zhuǎn)向執(zhí)行外部程序存儲器內(nèi)的程序;當保持低電平時,不管單片機內(nèi)部是否有程序存儲器,則只訪問外部程序存儲器(從00

6、00h地址開始)。由此可見,對片內(nèi)有可用程序存儲器的單片機而言,端應(yīng)接高電平,而對片內(nèi)無程序存儲器的單片機,可將接地。對于eprom型單片機,在eprom編程期間,此引腳用于施加21v的編程電源(vpp)。2)時鐘振蕩電路引腳xtal1和xtal2:(1)xtal1(19腳):外接石英晶體和微調(diào)電容引腳1。它是片內(nèi)振蕩電路反向放大器的輸入端。采用外部振蕩器時此引腳接地。(2)xtal2(18腳):外接石英晶體和微調(diào)電容引腳2。它是片內(nèi)振蕩電路反向放大器的輸出端。采用外部振蕩器時此引腳為外部振蕩信號輸入端。3) (30腳):低8位地址鎖存控制信號/編程脈沖輸入。在系統(tǒng)擴展時,ale用于把p0口輸

7、出的低8位地址鎖存起來,以實現(xiàn)低8位地址和數(shù)據(jù)的隔離。在訪問外部程序存儲器期間,ale信號兩次有效;而在訪問外部數(shù)據(jù)存儲器期間,ale信號一次有效。對于eprom型單片機,在eprom編程期間,此引腳用于輸入編程脈沖。4)(29腳):外部程序存儲器的讀選通信號輸出端,低電平有效。在從外部程序存儲器取指令(或常數(shù))期間,此引腳定時輸出負脈沖作為讀取外部程序存儲器的信號,每個機器周期兩次有效,此時地址總線上送出的地址為外部程序存儲器地址;在此期間,如果訪問外部數(shù)據(jù)存儲器和內(nèi)部程序存儲器,不會產(chǎn)生信號。5)并行雙向輸入/輸出(i/o)口引腳:(1)p0口的p0.0p0.7引腳(3932腳):8位通用

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.3 外部總線構(gòu)成所謂總線,就是連接單片機與各外部器件的一組公共的信號線。當系統(tǒng)要求擴展時,單片機要與一定數(shù)量的外部器件和外圍設(shè)備連接。如果各部件及每一種外圍設(shè)備都分別用各自的一組線路與cpu直接連接,那么連線將會錯綜復(fù)雜,甚至難以實現(xiàn)。為了簡化硬件電路的設(shè)計和系統(tǒng)結(jié)構(gòu),常用一組線路

9、,并配以適當?shù)慕涌陔娐穪砼c各個外部器件和外圍設(shè)備連接,這組共用的連接線路就是總線。采用總線結(jié)構(gòu)便于擴展外部器件和外圍設(shè)備,而統(tǒng)一的總線標準則使不同設(shè)備間的互連更容易實現(xiàn)。利用片外引腳可以構(gòu)造mcs-51系列單片機的三總線結(jié)構(gòu)。單片機的引腳除了電源端vcc、接地端vss、復(fù)位端rst、晶振接入端xtal1和xtal2、通用i/o口的p1.0p1.7以外,其余的引腳都是為實現(xiàn)系統(tǒng)擴展而設(shè)置的。用這些引腳構(gòu)造的單片機系統(tǒng)的三總線結(jié)構(gòu)如3所示。圖3 mcs-51系列單片機片外三總線結(jié)構(gòu)1)地址總線(address bus,ab):mcs-51系列單片機總共有16根地址線a15 a0,片外存儲器可尋址范

10、圍達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,cb):控制總線由p3口的第二功能(p3.6)、(p3.7)和3根獨立的控制線、ale、組成。2.3單片機時鐘電路及時鐘時序單位1) 時鐘電路單片機本身如同一個復(fù)雜的同步時序電路,為了保證同步工作,電路應(yīng)在唯一的時鐘信號控制下,嚴格地按規(guī)定時序工作

11、。而時鐘電路就用于產(chǎn)生單片機工作所需要的時鐘信號。mcs-51單片機時鐘電路示意圖如圖4所示。圖4 mcs-51單片機時鐘振蕩電路示意圖在mcs-51芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為引腳xtal1,輸出端為引腳xtal2,在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調(diào)電容c1、c2形成反饋電路,可構(gòu)成穩(wěn)定的自激振蕩器,振蕩頻率范圍通常是1.212mhz。晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也就快。振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用。振蕩脈沖在片內(nèi)通過一個時鐘發(fā)生電路二分頻后才作為系統(tǒng)的時鐘信號。片內(nèi)時鐘發(fā)生電路實質(zhì)

12、上是一個二分頻的觸發(fā)器,其輸入來自振蕩器,輸出為二相時鐘信號,即狀態(tài)時鐘信號,其頻率為fosc/2;狀態(tài)時鐘三分頻后為ale信號,其頻率為fosc/6;狀態(tài)時鐘六分頻后為機器周期,其頻率為fosc/12。在圖4中,使用晶體振蕩器時,c1、c2取值3010pf;使用陶瓷振蕩器時,c1、c2取值4010pf。c1、c2的取值雖然沒有嚴格的要求,但電容的大小影響振蕩電路的穩(wěn)定性和快速性,通常取值2030pf。在設(shè)計印制電路板時,晶振和電容等應(yīng)盡可能靠近芯片,以減少分布電容,保證振蕩器振蕩的穩(wěn)定性。也可以由外部時鐘電路向片內(nèi)輸入脈沖信號作為單片機的振蕩脈沖。這時外部脈沖信號是經(jīng)xtal1引腳引入的,而

13、xtal2引腳懸空或接地。對外部信號的占空比沒有要求,但高低電平持續(xù)的時間不應(yīng)小于20ns。這種方式常用于多塊芯片同時工作,便于同步。其外部脈沖接入方式如圖5所示。圖5 mcs-51單片機外部時鐘輸入接線圖所謂時序,是指在指令執(zhí)行過程中,cpu的控制器所發(fā)出的一系列特定的控制信號在時間上的先后關(guān)系。cpu發(fā)出的控制信號有兩類:一類是用于單片機內(nèi)部的,用戶不能直接接觸此類信號,不必對它作過多了解;另一類是通過控制總線送到片外的,人們通常以時序圖的形式來表示相關(guān)信號的波形及出現(xiàn)的先后次序。為了說明信號的時間關(guān)系,需要定義時序單位。89c51的時序單位共有四個,從小到大依次是拍節(jié)、狀態(tài)、機器周期和指

14、令周期。如圖4所示。2.4單片機的復(fù)位2.4.1 復(fù)位狀態(tài)復(fù)位是單片機的初始化操作,其主要功能是將程序計數(shù)器pc初始化為0000h,使單片機從0000h單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化外,當程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,也須重新啟動單片機,使其復(fù)位。 單片機復(fù)位后,除p3p0的端口鎖存器被設(shè)置成ffh、堆棧指針sp設(shè)置成07h和串行口的sbuf無確定值外,其它各專用寄存器包括程序計數(shù)器pc均被設(shè)置成00h。片內(nèi)ram不受復(fù)位的影響,上電后ram中的內(nèi)容是隨機的。記住這些特殊功能寄存器的復(fù)位狀態(tài),對熟悉單片機操作,簡短應(yīng)用程序中的初始化部分是十分必要的。2.4.2 復(fù)位電

15、路單片機的復(fù)位操作有上電自動復(fù)位和手動按鍵復(fù)位兩種方式。上電自動復(fù)位操作要求接通電源后自動實現(xiàn)復(fù)位操作。如圖1.5-1所示。圖6(a)所示為最簡單的復(fù)位電路。上電瞬間由于電容c上無儲能,其端電壓近似為零,rst獲得高電平,隨著電容器c的充電,rst引腳上的高電平將逐漸下降,當rst引腳上的電壓小于某一數(shù)值后,單片機就脫離復(fù)位狀態(tài),進入正常工作模式。只要高電平能保持復(fù)位所需要的時間(約兩個機器周期),單片機就能實現(xiàn)復(fù)位。相比于圖6(a),圖6(b)所示的電路只是增加了外接二極管vd和電阻r。其優(yōu)越性在于停電后,二極管vd給電容c提供了快速放電通路,保證再上電時rst為高電平,從而保證單片機可靠復(fù)

16、位。正常工作時,二極管反偏,對電路沒影響。斷電后,vcc逐漸下降,當vcc=0時,電容c通過vd迅速放電,恢復(fù)到無電量的初始狀態(tài),為下次上電復(fù)位做好準備。(a) (b)圖6 上電自動復(fù)位電路手動按鍵復(fù)位要求在電源接通的條件下,用按鈕開關(guān)操作使單片機復(fù)位,如圖7所示。其工作原理為:復(fù)位鍵按下后,電容c通過r2放電,放電結(jié)束后,rst引腳的電位由r1和r2 分壓決定,由于r2r1,因此,rst引腳為高電平,單片機進入復(fù)位狀態(tài),松開按鍵后,電容充電,rst上的電位降低,經(jīng)過一定的延時,單片機就脫離復(fù)位狀態(tài),進入正常工作模式。r2的作用在于限流,避免按鍵按下的瞬間電容c放電產(chǎn)生火花,保護按鍵的觸點。圖

17、7 手動按鍵復(fù)位電路系統(tǒng)上電運行后,若需要復(fù)位,一般是通過手動復(fù)位來實現(xiàn)的。通常采用手動復(fù)位和上電自動復(fù)位結(jié)合。復(fù)位電路雖然簡單,但其作用十分重要。一個單片機系統(tǒng)能否正常運行,首先要檢查是否能復(fù)位成功。初步檢查可用示波器探頭監(jiān)視rst引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出(瞬時的),還可以通過改變復(fù)位電路阻容值的方法進行檢測。3電路及程序設(shè)計3.1電路原理圖設(shè)計按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。at89c51單片機是美國atmel公司生產(chǎn)的低電壓、高性能cmos 8位單片機,具有豐富的內(nèi)部資源:4kb閃存、128bram、32根i

18、/o口線、2個16位定時/計數(shù)器、5個向量兩級中斷結(jié)構(gòu)、2個全雙工的串行口,具有4.255.50v的電壓工作范圍和024mhz工作頻率,使用at89c51單片機時無須外擴存儲器。因此,本流水燈實際上就是一個帶有八個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。從原理圖中可以看出,如果要讓接在p1.0口的led1亮起來,那么只要把p1.0口的電平變?yōu)榈碗娖骄涂梢粤耍幌喾?,如果要接在p1.0口的led1熄滅,就要把p1.0口的電平變?yōu)楦唠娖?;同理,接在p1.1p1.7口的其他7個led的點亮和熄滅的方法同led1。因此,要實現(xiàn)流水燈功能,我們

19、只要將發(fā)光二極管led1led8依次點亮、熄滅,8只led燈便會一亮一暗的做流水燈了。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。設(shè)計原理圖如圖8所示:圖8流水燈硬件原理圖3.2電路程序設(shè)計 程序流程圖如圖9所示:程序中l(wèi)ight7為多種亮燈方式結(jié)合循環(huán)延時子程序delay為0.5秒延時,延時子程序delay1為2秒延時light1light6亮燈方式程序中有標注開 始跳至主程序,設(shè)置外部中斷0有效,電平觸發(fā)主程序等待中斷中斷到來?繼續(xù)等待中斷p3.0=0?p3.1=0?p3.3=0?

20、p3.4=0?p3.5=0?p3.6=0?p3.7=0?中斷?繼續(xù)循環(huán)light1light2light3light4light5light6light7相應(yīng)亮燈方式圖9 程序流程圖程序如下:org 0000h ajmp main ;系統(tǒng)上電,執(zhí)行主程序 org 0003h ;外部中斷0入口 ajmp loop ;轉(zhuǎn)移至中斷服務(wù)程序main: setb ex0 ;允許int0中斷 setb it0 ;int0中斷選用電平觸發(fā) setb ea ;cpu開中斷halt: sjmp halt ;等待中斷l(xiāng)oop: ;判0轉(zhuǎn)移到相應(yīng)亮燈方式 setb p3.2 jnb p3.0 ,light1 jnb p3.1 ,light2 jnb p3.3 ,light3

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論