基于單片機(jī)at89c51的花樣燈設(shè)計(jì)畢業(yè)論文_第1頁(yè)
基于單片機(jī)at89c51的花樣燈設(shè)計(jì)畢業(yè)論文_第2頁(yè)
基于單片機(jī)at89c51的花樣燈設(shè)計(jì)畢業(yè)論文_第3頁(yè)
基于單片機(jī)at89c51的花樣燈設(shè)計(jì)畢業(yè)論文_第4頁(yè)
基于單片機(jī)at89c51的花樣燈設(shè)計(jì)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于AT89C51的把戲跑馬燈一 課設(shè)簡(jiǎn)介1-1. 課設(shè)目的 為了進(jìn)一步穩(wěn)固學(xué)習(xí)的理論知識(shí),增強(qiáng)學(xué)生對(duì)所學(xué)知識(shí)的實(shí)際應(yīng)用能力和運(yùn)用所學(xué)的知識(shí)解決實(shí)際問(wèn)題的能力,開(kāi)始為期兩周的課程設(shè)計(jì)。通過(guò)設(shè)計(jì)使學(xué)生在穩(wěn)固所學(xué)知識(shí)的根底之上具有初步的單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用能力。1、通過(guò)本設(shè)計(jì),使學(xué)生綜合運(yùn)用?單片機(jī)技術(shù)原理與應(yīng)用?、?DSP原理與應(yīng)用?C語(yǔ)言程序設(shè)計(jì)?以及?數(shù)字電路?、?模擬電路?等課程的內(nèi)容,為以后從事電子產(chǎn)品設(shè)計(jì)、軟件編程、系統(tǒng)控制等工作奠定一定的根底。2、學(xué)會(huì)使用KEIL C和PROTEUS等軟件,用C語(yǔ)言或匯編語(yǔ)言編寫(xiě)一個(gè)較完整的實(shí)用程序,并仿真運(yùn)行,保證設(shè)計(jì)的正確性。3、了解單片機(jī)接口應(yīng)

2、用開(kāi)發(fā)的全過(guò)程:分析需求、設(shè)計(jì)原理圖、選用元器件、布線、編程、調(diào)試、撰寫(xiě)報(bào)告等。1-2. 課設(shè)內(nèi)容利用單片機(jī)的自動(dòng)控制功能,設(shè)計(jì)出相應(yīng)不同的電路,可以實(shí)現(xiàn)IED燈不同模式的顯示效果。本課程是利用AT80C51單片機(jī)的自動(dòng)控制功能,并結(jié)合其它電子元器件以及軟件實(shí)現(xiàn)的跑馬燈,實(shí)現(xiàn)不同種類(lèi)的LED燈顯示效果。二硬件電路設(shè)計(jì)2.1AT89C51簡(jiǎn)介及接口說(shuō)明AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器FPEROMFlash Programmable and Erasable Read Only Memory的低電壓、高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編

3、程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51引腳排列圖由于工藝及標(biāo)準(zhǔn)化等原因,芯片的引腳數(shù)量是有限的,但單片機(jī)為實(shí)現(xiàn)控制所需要的信號(hào)數(shù)目卻遠(yuǎn)遠(yuǎn)超過(guò)其引腳數(shù)目。為解決這一矛盾,單片機(jī)的某些信號(hào)引腳被賦以雙重功能。1電源及電源復(fù)位引腳:1VCC40腳

4、:正常操作時(shí)接+5V直流電源。2VSS (20腳):接地端。3RST/VPD9腳:復(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)行。4/VPP31腳:訪問(wèn)程序存儲(chǔ)器控制信號(hào)/編程電源輸入。當(dāng)保持高電平時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,訪問(wèn)地址范圍在04KB內(nèi);當(dāng)PC程序計(jì)數(shù)器值超過(guò)0FFFH,即訪問(wèn)地址超出4KB時(shí),將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序;當(dāng)保持低電平時(shí),不管單片機(jī)內(nèi)部是否有程序存儲(chǔ)器,那么

5、只訪問(wèn)外部程序存儲(chǔ)器從0000H地址開(kāi)始。由此可見(jiàn),對(duì)片內(nèi)有可用程序存儲(chǔ)器的單片機(jī)而言,端應(yīng)接高電平,而對(duì)片內(nèi)無(wú)程序存儲(chǔ)器的單片機(jī),可將接地。對(duì)于EPROM型單片機(jī),在EPROM編程期間,此引腳用于施加21V的編程電源VPP。2時(shí)鐘振蕩電路引腳XTAL1和XTAL2:1XTAL119腳:外接石英晶體和微調(diào)電容引腳1。它是片內(nèi)振蕩電路反向放大器的輸入端。采用外部振蕩器時(shí)此引腳接地。2XTAL218腳:外接石英晶體和微調(diào)電容引腳2。它是片內(nèi)振蕩電路反向放大器的輸出端。采用外部振蕩器時(shí)此引腳為外部振蕩信號(hào)輸入端。3) 30腳:低8位地址鎖存控制信號(hào)/編程脈沖輸入。在系統(tǒng)擴(kuò)展時(shí),ALE用于把P0口輸出

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

7、 位數(shù)據(jù)/低8位地址復(fù)用總線端口。2P1口的P1.0P1.7引腳18腳:8位通用輸入/輸出端口。3P2口的P2.0P2.7引腳2821腳:8位通用輸入/輸出端口和片外高8位地址總線端口。4P3口的P3.0P3.7引腳1017腳:8位通用輸入/輸出端口,具有第二功能。2.2硬件原理框圖X1X2 P0 AT89C51RST P21-8紅色LED9-16綠色LED晶振2.3電路模塊1振蕩電路晶振為單片機(jī)提供時(shí)鐘信號(hào)。設(shè)置為12MHz。2跑馬燈顯示電路P0口連接1-8號(hào)紅色LED燈,根據(jù)輸出的上下電平控制燈的亮滅;P2口接9-16號(hào)綠色LED燈。三軟件電路設(shè)計(jì)本課程設(shè)計(jì)是采用89C51單片機(jī)設(shè)計(jì)的把戲

8、跑馬燈,通過(guò)keil進(jìn)行c語(yǔ)言編程,通過(guò)protues進(jìn)行軟件硬件仿真。仿真時(shí)可以觀察到不同方式的跑馬燈閃爍。開(kāi)始程序程序主體條件判斷跑馬燈延時(shí)程序分支四C語(yǔ)言源程序 #include#define uchar unsigned char#define uint unsigned intuchar code Pattern_P0=0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x8

9、1,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f, 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff, 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff

10、,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff;uchar code Pattern_P2=0xff,0xff,0xff,0xff,0xff

11、,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff, 0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f, 0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,

12、0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, 0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00, 0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0x

13、ff,0xff,0xff,0xff,0xff, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff;/延時(shí)void DelayMS(uint x) uchar i; while(x-) for(i=0;i120;i+); /主程序void main() uchar i; while(1) /從數(shù)組中讀取數(shù)據(jù)送至P0和P2口顯示 for(i=0;i136;i+) P0=Pattern_P0i; P2=Pattern_P2i; DelayMS(100); 五仿真過(guò)程綜述使用proteus isis進(jìn)行硬件連接:AT89C51的X1,X2連接振蕩電路作為時(shí)鐘信號(hào),P0口分

14、別連接LED通過(guò)220歐的電阻到高電平,P2口分別連接綠色LED通過(guò)220歐電阻到高電平。在RST上輸入一定時(shí)間約兩個(gè)機(jī)器周期的高電平將使單片機(jī)復(fù)位。EA引腳連接低電平,實(shí)現(xiàn)編程。硬件連接圖跑馬燈動(dòng)作設(shè)計(jì)依次為:兩盞燈從上向下,跑兩次;中間向兩邊移動(dòng)再收攏;中間向兩邊擴(kuò)散再收攏;單數(shù)編號(hào)燈跳轉(zhuǎn)雙數(shù)編號(hào)燈;上下各亮三盞燈;上邊亮四盞燈跳轉(zhuǎn)下邊四盞燈;三盞亮燈上下移動(dòng);全燈閃爍一次;下邊亮四盞燈跳轉(zhuǎn)上邊四盞燈;一盞燈上下移動(dòng);一盞燈向下擴(kuò)展全燈亮;全燈閃爍幾次;過(guò)程重復(fù)。綠燈和紅燈閃爍情況相同,還可以根據(jù)創(chuàng)意改變LED燈的排序和閃爍把戲,只要改變定義數(shù)組里的值,就能實(shí)現(xiàn)更多的把戲跑馬效果。六設(shè)計(jì)中

15、的難點(diǎn)定時(shí)器中斷延時(shí)程序設(shè)計(jì):采用DelayMS ()函數(shù)進(jìn)行的延時(shí)是不精確的,主要有以下兩個(gè)原因。1該類(lèi)型的DelayMS ()函數(shù)采用的延時(shí)是通過(guò)對(duì)變量進(jìn)行遞減或遞增實(shí)現(xiàn)的,很難計(jì)算精確的延時(shí)時(shí)間。2由于跑馬燈的狀態(tài)函數(shù)和延時(shí)函數(shù)是和主任務(wù)耦合到一起的,因此主任務(wù)的執(zhí)行時(shí)間要對(duì)延時(shí)的時(shí)間產(chǎn)生影響。假設(shè)一個(gè)跑馬燈的延時(shí)函數(shù)的延時(shí)時(shí)間是1s,但是由于主函數(shù)可能存在不同的分支,因此當(dāng)主函數(shù)執(zhí)行不同分支程序時(shí),實(shí)際的跑馬燈延時(shí)時(shí)間是不一樣的。七總結(jié) 本次課程設(shè)計(jì)耗時(shí)一周,通過(guò)硬件設(shè)計(jì)和軟件編程、仿真的方式加深了對(duì)?單片機(jī)技術(shù)原理與應(yīng)用?、?DSP原理與應(yīng)用?C語(yǔ)言程序設(shè)計(jì)?以及?數(shù)字電路?、?模擬

16、電路?等課程的內(nèi)容的理解,以及綜合運(yùn)用能力,增強(qiáng)了自己的動(dòng)手能力和分析能力。課程設(shè)計(jì)剛剛開(kāi)始對(duì)軟件不太熟悉,通過(guò)網(wǎng)上搜索資料學(xué)習(xí),以及同學(xué)之間相互討論輔助,很快學(xué)會(huì)軟件的運(yùn)用,并開(kāi)始著手下一步選擇課題以及課題分析,由于同學(xué)們選擇的課題不盡相同,就開(kāi)始分頭查找資料,途徑包括網(wǎng)絡(luò),書(shū)本等多種方式,結(jié)合自己的理解程度最終確定自己的設(shè)計(jì)方案,進(jìn)行下一步硬件連接,在連接過(guò)程中,由于連接到總線的支路沒(méi)有標(biāo)號(hào)導(dǎo)致仿真失敗,可見(jiàn)細(xì)節(jié)決定成??;硬件連接完成后,使用Keil uVision3進(jìn)行軟件編程,檢查無(wú)錯(cuò)后生成hex文件進(jìn)行仿真,在假設(shè)干改良后,成功實(shí)現(xiàn)與期望相近的的仿真結(jié)果。本次課程設(shè)計(jì)完成后,我有以下

17、幾點(diǎn)體會(huì):1.要注意細(xì)節(jié)。細(xì)節(jié)決定成敗,這句話(huà)在這次課題中不僅一次得到了印證,小到一個(gè)引腳的連接,一點(diǎn)點(diǎn)的錯(cuò)誤都會(huì)使整個(gè)電路無(wú)法運(yùn)行,因此我們不僅僅要有整體意識(shí),也要注意細(xì)節(jié),不要因?yàn)橐粋€(gè)小小的細(xì)節(jié)而導(dǎo)致滿(mǎn)盤(pán)皆輸。2.要與同學(xué)們互相溝通、交流 。設(shè)計(jì)過(guò)程中難免會(huì)遇到各種各樣的問(wèn)題,但每個(gè)同學(xué)遇到的問(wèn)題不盡相同,可以通過(guò)相互討論相互幫助來(lái)解決彼此的問(wèn)題。軟件設(shè)計(jì)是耗時(shí)最長(zhǎng)的一項(xiàng),涉及到整個(gè)系統(tǒng)工作的穩(wěn)定性。首先要編寫(xiě)總體框架,然后做簡(jiǎn)單的測(cè)試,保證能正常運(yùn)行,接下來(lái)編寫(xiě)單個(gè)的子狀態(tài)程序,寫(xiě)完一個(gè)測(cè)試一個(gè),這樣保證了最后調(diào)試的成功率。在編寫(xiě)程序過(guò)程中需要很好的編寫(xiě)習(xí)慣,結(jié)構(gòu)要明顯,標(biāo)明注釋?zhuān)S時(shí)存檔,程序盡量簡(jiǎn)約。總之通過(guò)本次課設(shè),使我在單片機(jī)的根本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧的掌握方面都能向前邁了一大步,為日后學(xué)習(xí)更加高深

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論