單片機(jī)課程設(shè)計(jì)花樣流水燈_第1頁(yè)
單片機(jī)課程設(shè)計(jì)花樣流水燈_第2頁(yè)
單片機(jī)課程設(shè)計(jì)花樣流水燈_第3頁(yè)
單片機(jī)課程設(shè)計(jì)花樣流水燈_第4頁(yè)
單片機(jī)課程設(shè)計(jì)花樣流水燈_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、提供全套畢業(yè)論文,各專業(yè)都有鄭州工業(yè)應(yīng)用設(shè)計(jì)學(xué)院課程設(shè)計(jì)說(shuō)明書題目: 花樣流水燈設(shè)計(jì)姓 名: 院 (系):機(jī)電工程學(xué)院 專業(yè)班級(jí):11級(jí)電氣工程及其自動(dòng)化四班學(xué) 號(hào): 指導(dǎo)教師: 成 績(jī): 時(shí)間: 2014 年 12 月 23 日至 2014 年 12 月 29日鄭州工業(yè)應(yīng)用設(shè)計(jì)學(xué)院課程設(shè)計(jì)任務(wù)書題 目: 花樣流水燈設(shè)計(jì) 專業(yè)、班級(jí) 12級(jí)電氣工程及其自動(dòng)化四班學(xué)號(hào) 姓名 主要內(nèi)容、基本要求、主要參考資料等:主要內(nèi)容:利用單片機(jī)控制16個(gè)發(fā)光二極管模擬的彩燈按照一定的規(guī)律點(diǎn)亮、熄滅、閃爍。基本要求:1.實(shí)現(xiàn)發(fā)光二極管的多樣化顯示;2.利用proteus軟件完成設(shè)計(jì)電路和仿真;3.掌握相關(guān)芯片和

2、電子元件的使用方法;4.通過(guò)此次設(shè)計(jì)將單片機(jī)軟硬件結(jié)合起來(lái)對(duì)程序進(jìn)行編輯、校驗(yàn),鍛煉實(shí)踐能力和理論聯(lián)系實(shí)際的能力。主要參考資料:1李全利,單片機(jī)原理及接口技術(shù)M,高等教育出版社2王文杰,單片機(jī)應(yīng)用技術(shù)M,冶金工業(yè)出版社3朱清慧,PROTEUS教程電子線路設(shè)計(jì)、制版與仿真M,清華大學(xué)出版社4單片機(jī)實(shí)驗(yàn)指導(dǎo)書,天煌教儀5彭偉,單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例M,電子工業(yè)出版社完 成 期 限: 2014.12.23-2014.12.29 指導(dǎo)教師簽名: 課程負(fù)責(zé)人簽名: 年 月 日目錄緒論11 課程設(shè)計(jì)的目的和要求21.1 設(shè)計(jì)目的21.2 設(shè)計(jì)要求22 總體設(shè)計(jì)32.1 硬件總體設(shè)計(jì)32.1.1

3、設(shè)計(jì)思想32.1.2 原件清單32.1.3 模塊分析32.2軟件總體設(shè)計(jì)43 硬件設(shè)計(jì)53.1 AT89C51單片機(jī)的硬件結(jié)構(gòu)53.1.1主要特性63.1.2主要引腳功能63.1.3外部總線結(jié)構(gòu)73.1.4振蕩器特性83.1.5芯片擦除83.2硬件電路設(shè)計(jì)83.2.1震蕩電路83.2.2LED電路顯示103.2.3復(fù)位電路114軟件設(shè)計(jì)134.1主程序設(shè)計(jì)134.2子程序設(shè)計(jì)144.3流水燈控制碼程序設(shè)計(jì)144.4程序流程圖155使用proteus軟件調(diào)試仿真說(shuō)明165.1 Proteus的介紹165.2 Proteus的特點(diǎn)165.3 Proteus的使用方法165.4電路原理圖的設(shè)計(jì)方法1

4、75.5仿真過(guò)程186測(cè)試數(shù)據(jù)207附錄217.1花樣流水燈程序217.2花樣流水燈總線路圖22結(jié)束語(yǔ)24參考文獻(xiàn)25I緒論隨著人們生活環(huán)境的不斷改善和美化,在許多場(chǎng)合可以看到彩色霓虹燈不斷變化閃爍。LED燈由于其豐富的燈光色彩,低廉的造價(jià)以及控制簡(jiǎn)單等特點(diǎn)而得到了廣泛的應(yīng)用,用彩燈來(lái)裝飾街道和城市建筑物已經(jīng)成為一種時(shí)尚。但目前市場(chǎng)上各式樣的LED燈控制器大多數(shù)用全硬件電路實(shí)現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場(chǎng)合、不同時(shí)間段的需要來(lái)調(diào)節(jié)亮燈時(shí)間、模式、閃爍頻率等動(dòng)態(tài)參數(shù)。這種彩燈控制器結(jié)構(gòu)往往有芯片過(guò)多、電路復(fù)雜、功率損耗大等缺點(diǎn)。此外從功能效果上

5、看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對(duì)現(xiàn)有的彩燈控制器進(jìn)行改進(jìn)。流水燈是一串按一定的規(guī)律像流水一樣連續(xù)閃亮。流水燈控制是可編程控制器的一個(gè)應(yīng)用,其控制思想在工業(yè)控制技術(shù)領(lǐng)域也同樣適用。流水燈控制可用多種方法實(shí)現(xiàn),但對(duì)現(xiàn)代可編程控制器而言,利用移位寄存器實(shí)現(xiàn)最為便利。通常用左移寄存器實(shí)現(xiàn)燈的單方向移動(dòng);用雙向移位寄存器實(shí)現(xiàn)燈的雙向移動(dòng)。本案例利用價(jià)格低廉的AT89C51系列單片機(jī)控制基色LED燈泡從而實(shí)現(xiàn)豐富的變化。關(guān)鍵詞:AT89C51,LED燈,單片機(jī),花樣流水燈1 課程設(shè)計(jì)的目的和要求1.1 設(shè)計(jì)目的近年來(lái)隨著科技的發(fā)展,單片機(jī)的應(yīng)用正在不斷走向深入,同時(shí)

6、帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新,在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來(lái)使用,單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象點(diǎn)的軟件結(jié)合,加以完善。流水燈,可以更簡(jiǎn)單、方便的使用。通過(guò)本課程設(shè)計(jì)使學(xué)生進(jìn)一步鞏固單片機(jī)原理及應(yīng)用的基本概念、基本理論,分析問(wèn)題的基本方法,增強(qiáng)系統(tǒng)地運(yùn)用已學(xué)的理論知識(shí)解決實(shí)際問(wèn)題的能力和查閱資料的能力。培養(yǎng)一定的自學(xué)能力和獨(dú)立分析問(wèn)題、解決問(wèn)題的能力,能通過(guò)獨(dú)立思考、查閱工具書、參考文獻(xiàn),尋找解決方案。1.2 設(shè)計(jì)要求設(shè)計(jì)流水燈的基本要求:設(shè)計(jì)一個(gè)流水燈,應(yīng)用AT89C51試驗(yàn)系統(tǒng),電路開啟后紅、綠兩種顏色的燈在時(shí)鐘信

7、號(hào)作用下按一定規(guī)律轉(zhuǎn)換狀態(tài)。 2 總體設(shè)計(jì)2.1 硬件總體設(shè)計(jì)2.1.1 設(shè)計(jì)思想整個(gè)系統(tǒng)工作由軟件程序控制運(yùn)行,根據(jù)需要,可以上電后系統(tǒng)經(jīng)過(guò)初始化,入用戶設(shè)定模式狀態(tài)?;贏T89C51單片機(jī)的彩燈控制方案,實(shí)現(xiàn)對(duì)LED彩燈的控制。本方案以AT89C51單片機(jī)作為主控核心,與驅(qū)動(dòng)等模塊組成核心主控制模塊。在主控模塊上設(shè)有晶振電路和16個(gè)LED顯示二極管,根據(jù)需要編寫若干種亮燈模式,根據(jù)各種亮燈時(shí)間的不同需要,在不同時(shí)刻輸出燈亮或燈滅的控制信號(hào)。2.1.2 原件清單2.1.3 模塊分析(1)核心部件89C51單片機(jī)是整個(gè)彩燈循環(huán)系統(tǒng)的核心是控制彩燈循環(huán)閃爍等等一切功能的部件;其中內(nèi)部有ROM、

8、有RAM、有并行I/O口等,在51單片機(jī)內(nèi)部有一個(gè)CPU用來(lái)運(yùn)算、控制,有四個(gè)并行I/O口,分別是P0、P1、P2、P3,有ROM,用來(lái)存放程序,有RAM,用來(lái)存放中間結(jié)果,此外還有定時(shí)/計(jì)數(shù)器,串行I/O口,中斷系統(tǒng),以及一個(gè)內(nèi)部的時(shí)鐘電路。(2)復(fù)位系統(tǒng) 電路中C1、R2組成復(fù)位電路,它的作用是將單片機(jī)內(nèi)部特殊功能寄存器和端口寄存器恢復(fù)到初始狀態(tài),從內(nèi)部FLASH存儲(chǔ)器的初始狀態(tài)開始執(zhí)行(3)震蕩系統(tǒng) 單片機(jī)本身如同一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作,電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格地按規(guī)定時(shí)序工作。而時(shí)鐘電路就用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào)。(4)閃爍系統(tǒng)利用單片機(jī)的P口控制

9、LED的發(fā)光閃爍,再利用編程實(shí)現(xiàn)流水燈的電路,用軟件來(lái)實(shí)現(xiàn)對(duì)LED的控制,每個(gè)LED接一個(gè)限流電阻,來(lái)控制流入LED發(fā)光管的電流。復(fù)位電路AT89C51核心部件閃爍系統(tǒng)震蕩系統(tǒng)圖2-1 硬件系統(tǒng)方框圖2.2軟件總體設(shè)計(jì)用查表的方法控制點(diǎn)亮流水燈 DB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H,0FFH DB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H DB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H DB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,

10、7H,0FH,3FH,7H,0FFH 3 硬件設(shè)計(jì)3.1 AT89C51單片機(jī)的硬件結(jié)構(gòu)由圖3-1可以看出,單片機(jī)內(nèi)部主要包含下列幾個(gè)部件:u 一個(gè)8位CPU; u 一個(gè)時(shí)鐘電路; u 4Kbyte程序存儲(chǔ)器; u 128byte數(shù)據(jù)存儲(chǔ)器; u 兩個(gè)16位定時(shí)/計(jì)數(shù)器; u 64Kbyte擴(kuò)展總線控制電路; u 四個(gè)8-bit并行I/O端口; u 一個(gè)可編程串行接口; u 五個(gè)中斷源,其中包括兩個(gè)優(yōu)先級(jí)嵌套中斷。 圖3-1 AT89C51硬件結(jié)構(gòu)框圖3.1.1主要特性AT89C51是一種低功耗/低電壓、高性能的八位CMOS單片機(jī),片內(nèi)有一個(gè)4KB的FLASH可編程可擦除只讀存儲(chǔ)器(FPERO

11、MFlash Programmable and Erasable Read Only Memory),它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲(chǔ)器技術(shù),而且其輸出引腳和指令系統(tǒng)都與MSC51兼容。片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲(chǔ)單元,片內(nèi)的存儲(chǔ)器允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲(chǔ)器編程。因此,AT89C51是一種功能強(qiáng)、靈活性高且價(jià)格合理的單片機(jī),可方便的應(yīng)用于各種控制領(lǐng)域。3.1.2主要引腳功能1.電源引腳Vcc和Vss Vcc:電源端,接5V。 Vss:接地端。 通常在Vcc和Vss引腳之間接0.1高頻濾波電容。 2.時(shí)鐘電路引腳XTAL1和XTAL

12、2 XTAL1:接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,若使用外部TTL時(shí)鐘時(shí),該引腳必須接地。 XTAL2:接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,若使用外部TTL時(shí)鐘時(shí),該引腳為外部時(shí)鐘的輸入端。 3.地址鎖存允許ALE 在系統(tǒng)擴(kuò)展時(shí),ALE用于控制地址鎖存器鎖存P0口輸出的低8位地址,從而實(shí)現(xiàn)數(shù)據(jù)與低位地址的復(fù)用。當(dāng)單片機(jī)上電正常工作后,ALE端就周期性地以時(shí)鐘頻率的1/6的固定頻率向外輸出正脈沖信號(hào),ALE的負(fù)載能力為8個(gè)LSTTL器件。 4.外部程序存儲(chǔ)器讀選通信號(hào) 是讀外部程序存儲(chǔ)器的選通信號(hào),低電平有效。CPU從外部存儲(chǔ)器取指令時(shí),它

13、在每個(gè)機(jī)器周期中兩次有效。 5.程序存儲(chǔ)器地址允許輸入端 /VPP 當(dāng) 為高電平時(shí),CPU執(zhí)行片內(nèi)程序存儲(chǔ)器指令,但當(dāng)PC中的值超過(guò)0FFFH時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行片外程序存儲(chǔ)器指令。當(dāng) 為低電平時(shí),CPU只執(zhí)行片外程序存儲(chǔ)器指令。對(duì)于8031,由于其無(wú)片內(nèi)ROM,故 必須接低電平。 6.復(fù)位信號(hào)RST 該信號(hào)高電平有效,在輸入端保持兩個(gè)機(jī)器周期的高電平后,就可以完成復(fù)位操作。此外,該引腳還有掉電保護(hù)功能,若在該端接5V備用電源,在使用中若Vcc掉電,可保護(hù)片內(nèi)RAM中信息不丟失。 7.輸入/輸出口引腳P0、P1、P2和P3 P0口(P0.0P0.7):該端口為漏極開路的8位準(zhǔn)雙向口,負(fù)載能力位8

14、高LSTTL負(fù)載,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端口。 P1口(P1.0P1.7):它是一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P1口的驅(qū)動(dòng)能力為4個(gè)LSTTL負(fù)載。 P2口(P2.0P2.7):它為一個(gè)內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P2口的驅(qū)動(dòng)能力也為4個(gè)LSTTL負(fù)載。在訪問(wèn)外部程序存儲(chǔ)器時(shí),它作存儲(chǔ)器的高8位地址線。 P3口(P3.0P3.7):P3口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口,P3口除了作為一般的I/O口使用之外,其還具有特殊功能。3.1.3外部總線結(jié)構(gòu)所謂總線,就是連接單片機(jī)與各外部器件的一組公共的信號(hào)線。當(dāng)系統(tǒng)要求擴(kuò)展時(shí),單片機(jī)要與一定數(shù)量的外部器件和外圍設(shè)備

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

16、圖3-2 MCS-51系列單片機(jī)片外三總線結(jié)構(gòu)(1)地址總線(Address Bus,AB):MCS-51系列單片機(jī)總共有16根地址線A15 A0,片外存儲(chǔ)器可尋址范圍達(dá)64KB(216=65536字節(jié)),由P2口直接提供高8位地址A15 A8,P0口經(jīng)地址鎖存器提供低8位地址A7 A0。(2)數(shù)據(jù)總線(Data Bus,DB):MCS-51系列單片機(jī)總共有8根數(shù)據(jù)線D7D0,全由P0口提供。由于P0口是分時(shí)復(fù)用總線,分時(shí)輸送低8位地址(通過(guò)地址鎖存器鎖存)和高8位數(shù)據(jù)信息。 (3)控制總線(Control Bus,CB):控制總線由P3口的第二功能(P3.6)、(P3.7)和3根獨(dú)立的控制線

17、、ALE、組成。3.1.4振蕩器特性 XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度3.1.5芯片擦除AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。3.2硬

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

19、蕩信號(hào)二分頻,產(chǎn)生一個(gè)兩相時(shí)鐘信號(hào)P1和P2供單片機(jī)使用。時(shí)鐘信號(hào)的周期稱為狀態(tài)時(shí)間S,它是振蕩周期的2倍,P1信號(hào)在每個(gè)狀態(tài)的前半周期有效,在每個(gè)狀態(tài)的后半周期P2信號(hào)有效。CPU就是以兩相時(shí)鐘P1和P2為基本節(jié)拍協(xié)調(diào)單片機(jī)各部分有效工作的。 MCS-51單片機(jī)時(shí)鐘電路示意圖如圖4所示。圖3-5 MCS-51單片機(jī)時(shí)鐘振蕩電路示意圖振蕩電路產(chǎn)生的振蕩脈沖并不直接使用,而是經(jīng)分頻后再為系統(tǒng)所用。振蕩脈沖在片內(nèi)通過(guò)一個(gè)時(shí)鐘發(fā)生電路二分頻后才作為系統(tǒng)的時(shí)鐘信號(hào)。片內(nèi)時(shí)鐘發(fā)生電路實(shí)質(zhì)上是一個(gè)二分頻的觸發(fā)器,其輸入來(lái)自振蕩器,輸出為二相時(shí)鐘信號(hào),即狀態(tài)時(shí)鐘信號(hào),其頻率為fosc/2;狀態(tài)時(shí)鐘三分頻后為

20、ALE信號(hào),其頻率為fosc/6;狀態(tài)時(shí)鐘六分頻后為機(jī)器周期,其頻率為fosc/12。在圖3-4中,使用晶體振蕩器時(shí),C1、C2取值3010pF;使用陶瓷振蕩器時(shí),C1、C2取值4010pF。C1、C2的取值雖然沒(méi)有嚴(yán)格的要求,但電容的大小影響振蕩電路的穩(wěn)定性和快速性,通常取值2030pF。在設(shè)計(jì)印制電路板時(shí),晶振和電容等應(yīng)盡可能靠近芯片,以減少分布電容,保證振蕩器振蕩的穩(wěn)定性。也可以由外部時(shí)鐘電路向片內(nèi)輸入脈沖信號(hào)作為單片機(jī)的振蕩脈沖。這時(shí)外部脈沖信號(hào)是經(jīng)XTAL1引腳引入的,而XTAL2引腳懸空或接地。對(duì)外部信號(hào)的占空比沒(méi)有要求,但高低電平持續(xù)的時(shí)間不應(yīng)小于20ns。這種方式常用于多塊芯片

21、同時(shí)工作,便于同步。其外部脈沖接入方式如圖3-6所示。圖3-6 MCS-51單片機(jī)外部時(shí)鐘輸入接線圖所謂時(shí)序,是指在指令執(zhí)行過(guò)程中,CPU的控制器所發(fā)出的一系列特定的控制信號(hào)在時(shí)間上的先后關(guān)系。CPU發(fā)出的控制信號(hào)有兩類:一類是用于單片機(jī)內(nèi)部的,用戶不能直接接觸此類信號(hào),不必對(duì)它作過(guò)多了解;另一類是通過(guò)控制總線送到片外的,人們通常以時(shí)序圖的形式來(lái)表示相關(guān)信號(hào)的波形及出現(xiàn)的先后次序。為了說(shuō)明信號(hào)的時(shí)間關(guān)系,需要定義時(shí)序單位。89C51的時(shí)序單位共有四個(gè),從小到大依次是拍節(jié)、狀態(tài)、機(jī)器周期和指令周期。如圖3-4所示。3.2.2LED電路顯示 如圖所示,P0口控制LED燈D1D8的顯示,P2口控制L

22、ED燈D9D16的顯示。限流電阻為470歐姆,經(jīng)過(guò)的電流大概為10mA。3.2.3復(fù)位電路當(dāng)要對(duì)晶片重置時(shí),只要按開關(guān)就能完成LED和開關(guān)的重置。復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)的RST管腳為主機(jī)提供了一個(gè)外部復(fù)位信號(hào)輸入口。復(fù)位信號(hào)是高電平有效,高電平有效的持續(xù)時(shí)間為2個(gè)機(jī)器周期以上。單片機(jī)的復(fù)位方式可由手動(dòng)復(fù)位完成。RST引腳是復(fù)位信號(hào)輸入端,復(fù)位信號(hào)為高電平有效,其有效時(shí)間應(yīng)持續(xù)24個(gè)周期以上才能完成復(fù)位操作,若使用6MHZ晶振,則持續(xù)4微秒以上才能完成復(fù)位操作。CPU在第二個(gè)機(jī)器周期內(nèi)執(zhí)行復(fù)位操作,以后每個(gè)機(jī)器

23、周期重復(fù)一次,直至RST端電平變低。在單片機(jī)復(fù)位期間,ALE和PSEN信號(hào)都不產(chǎn)生。復(fù)位操作將對(duì)部分專用寄存器產(chǎn)生影響,復(fù)位后,這些內(nèi)部寄存器狀態(tài)如表3-1.表3-1部分專用寄存器復(fù)位狀態(tài)寄存器值寄存器值PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0P3OFEHIPXXX0000IE0XX0000TMOD00HTCON00HTL0,TL100HTH0,TH100HSCON00HSBUF不定PCON0XX0000上電瞬間由于電容C上無(wú)儲(chǔ)能,其端電壓近似為零,RST獲得高電平,隨著電容器C的充電,RST引腳上的高電平將逐漸下降,當(dāng)RST引腳上的電壓小于某一數(shù)值后,單

24、片機(jī)就脫離復(fù)位狀態(tài),進(jìn)入正常工作模式,只要高電平能保持復(fù)位所需要的時(shí)間(約兩個(gè)機(jī)器周期),單片機(jī)就能實(shí)現(xiàn)復(fù)位。4軟件設(shè)計(jì)4.1主程序設(shè)計(jì)MAIN:MOV P2,#00H MOV R0,#9 MOV A,#01H CLR CYLOOP1:MOV P0,A ACALL DELAY RLC A DJNZ R0,LOOP1 MOV R1,#9 MOV A,#80HLOOP2:MOV P2,A ACALL DELAY RRC A DJNZ R1,LOOP2 MOV R2,#4LOOP3:MOV P0,#55H MOV P2,#0AAH ACALL DELAY MOV P0,#0AAH MOV P2,#5

25、5H ACALL DELAY DJNZ R2,LOOP3 MOV R3,#3LOOP4:MOV P0,#7EH MOV P2,#7EH ACALL DELAY MOV P0,#0BDH MOV P2,#0BDH ACALL DELAY MOV P0,#0DBH MOV P2,#0DBH ACALL DELAY MOV P0,#0E7H MOV P2,#0E7H ACALL DELAY MOV P0,#0DBH MOV P2,#0DBH ACALL DELAY MOV P0,#0BDH MOV P2,#0BDH ACALL DELAY MOV P0,#7EH MOV P2,#7EH DJNZ R

26、3,LOOP4 MOV R4,#52 MOV R5,#0 MOV A,#0LOOP5:MOV A,R5 MOV DPTR,#TAB MOVC A,A+DPTR ACALL DELAY ACALL DELAY MOV P0,A MOV P2,A INC R5 DJNZ R4,LOOP5 LJMP MAIN4.2子程序設(shè)計(jì)DELAY:MOV R6,#00H L1:MOV R7,#00H L2:DJNZ R7,L2 DJNZ R6,L1 RET END4.3流水燈控制碼程序設(shè)計(jì)設(shè)計(jì)一個(gè)表,讓用查表的方式點(diǎn)亮流水燈,主要代碼如下: TAB:DB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H

27、,1H,7H,0FH,3FH,7H,0FFH DB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H DB 7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H DB 0FFH,7FH,3FH,0FH,7H,1H,0H,0H,1H,7H,0FH,3FH,7H,0FFH在仿真中可以看到led燈按照表中的數(shù)據(jù)點(diǎn)亮。4.4程序流程圖圖4-1程序流程圖5使用proteus軟件調(diào)試仿真說(shuō)明5.1 Proteus的介紹 Proteus軟件由ISIS和ARES兩部分構(gòu)成,其中ISIS是一款便捷的電子系統(tǒng)原理設(shè)計(jì)和仿真平臺(tái)軟件,ARES是一款高級(jí)的P

28、CB布線編輯軟件。Proteus是目前最好的模擬單片機(jī)外圍器件的工具,與其他單片機(jī)仿真軟件不同的是,它不僅能仿真單片機(jī)CPU的工作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其他電路的工作情況。因此在仿真和調(diào)試程序時(shí),關(guān)心的不再是某些語(yǔ)句執(zhí)行時(shí)單片機(jī)寄存器和存儲(chǔ)器內(nèi)容的改變,而是從工程的角度直接看程序運(yùn)行和電路工作的過(guò)程和結(jié)果。對(duì)于這樣的仿真實(shí)驗(yàn),從某種意義上講,解決了實(shí)驗(yàn)和工程應(yīng)用間脫節(jié)的矛盾。5.2 Proteus的特點(diǎn) 實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真的結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)仿真、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤和LC

29、D系統(tǒng)仿真等功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。具有強(qiáng)大的原理圖繪制功能。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。5.3 Proteus的使用方法 點(diǎn)狀的柵格區(qū)域?yàn)榫庉嫶翱冢笊戏綖轭A(yù)覽窗口,左下方為元器件列表區(qū),即對(duì)象選擇器編輯窗口用于放置元器件,進(jìn)行連線,繪制原理圖。預(yù)覽窗口可以顯示全部原理圖。在預(yù)覽窗口中,有兩個(gè)框,藍(lán)框表示當(dāng)前頁(yè)的邊界,綠框表示當(dāng)前編輯窗口顯示的區(qū)域。當(dāng)從

30、對(duì)象選擇器中選中一個(gè)新的對(duì)象時(shí),預(yù)覽窗口可以預(yù)覽選中的對(duì)象。在預(yù)覽窗口上單擊,Proteus ISIS將會(huì)以單擊位置為中心刷新編輯窗口。 5.4電路原理圖的設(shè)計(jì)方法原理圖的具體設(shè)計(jì)步驟如下: (1) 新建設(shè)計(jì)文檔。在進(jìn)入原理圖設(shè)計(jì)之前,首先要構(gòu)思好原理圖,即必須知道所設(shè)計(jì)的項(xiàng)目需要哪些電路來(lái)完成,用何種模板;然后在Proteus ISIS編輯環(huán)境中畫出電路原理圖 。 (2) 設(shè)置工作環(huán)境。根據(jù)實(shí)際電路的復(fù)雜程度來(lái)設(shè)置圖紙的大小等。在電路圖設(shè)計(jì)的整個(gè)過(guò)程中,圖紙的大小可以不斷地調(diào)整。設(shè)置合適的圖紙大小是完成原理圖設(shè)計(jì)的第一步。 (3) 放置元器件。首先從添加元器件對(duì)話框中選取需要添加的元器件,將

31、其布置到圖紙的合適位置,并對(duì)元器件的名稱、標(biāo)注進(jìn)行設(shè)定;再根據(jù)元器件之間的走線等聯(lián)系對(duì)元器件在工作平面上的位置進(jìn)行調(diào)整和修改,使得原理圖美觀、易懂。 (4)對(duì)原理圖進(jìn)行布線。根據(jù)實(shí)際電路的需要,利用Proteus ISIS編輯環(huán)境所提供的各種工具、命令進(jìn)行布線,將工作平面上的元器件用導(dǎo)線連接起來(lái),構(gòu)成一幅完整的電路原理圖。 (5) 建立網(wǎng)絡(luò)表。在完成上述步驟之后,即可看到一張完整的電路圖,但要完成印制版電路的設(shè)計(jì),還需要生成一個(gè)網(wǎng)絡(luò)表文件。網(wǎng)絡(luò)表是印制版電路與電路原理圖之間的紐帶。 (6) 原理圖的電氣規(guī)則檢查。當(dāng)完成原理圖布線后,利用Proteus ISIS編輯環(huán)境所提供的電氣規(guī)則檢查命令對(duì)

32、設(shè)計(jì)進(jìn)行檢查,并根據(jù)系統(tǒng)提示的錯(cuò)誤檢查報(bào)告修改原理圖。 (7) 調(diào)整。如果原理圖已通過(guò)電氣規(guī)則檢查,那么原理圖的設(shè)計(jì)就完成了,但是對(duì)于一般電路設(shè)計(jì)而言,尤其是較大的項(xiàng)目,通常需要對(duì)電路進(jìn)行多次修改才能通過(guò)電氣規(guī)則檢查。 (8) 存盤和輸出報(bào)表。Proteus ISIS提供了多種報(bào)表輸出格式,同時(shí)可以對(duì)設(shè)計(jì)好的原理圖和報(bào)表進(jìn)行存盤和輸出打印。 5.5仿真過(guò)程 Proteus Isis仿真時(shí),單片機(jī)需要加載程序,加載程序?yàn)?HEX文件。本設(shè)計(jì)利用proteus,在proteus中的source下拉框中選擇add/removesource files新建匯編語(yǔ)言程序文件,然后用鼠標(biāo)點(diǎn)擊OK.在sou

33、rce下拉框中新建的匯編語(yǔ)言程序文件里寫入?yún)R編語(yǔ)言程序,寫完之后在“source”選項(xiàng)中選擇“build all”選項(xiàng)進(jìn)行編譯,如有錯(cuò)誤則在剛剛新建的匯編語(yǔ)言程序文件里面進(jìn)行修改,如果正確則會(huì)自動(dòng)生成.HEX文件,然后就可以開始仿真了。 6測(cè)試數(shù)據(jù)通過(guò)程序可以實(shí)現(xiàn)花樣流水燈的不同形式變換,如圖是流水燈的依次點(diǎn)亮圖6-1 花樣流水燈依次點(diǎn)亮7附錄7.1花樣流水燈程序ORG 0000H AJMP MAIN ORG 0010H MAIN:MOV P2,#00H MOV R0,#9 MOV A,#01H CLR CYLOOP1:MOV P0,A ACALL DELAY RLC A DJNZ R0,LOOP1 MOV R1,#9 MOV A,#80HLOOP2:MOV P2,A ACALL DELAY

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論