《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì)基于單片機(jī)的跑馬燈設(shè)計(jì)

上傳人:仙*** 文檔編號(hào):26943917 上傳時(shí)間:2021-08-15 格式:DOC 頁數(shù):15 大?。?01.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì)基于單片機(jī)的跑馬燈設(shè)計(jì)_第1頁
第1頁 / 共15頁
《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì)基于單片機(jī)的跑馬燈設(shè)計(jì)_第2頁
第2頁 / 共15頁
《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì)基于單片機(jī)的跑馬燈設(shè)計(jì)_第3頁
第3頁 / 共15頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì)基于單片機(jī)的跑馬燈設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì)基于單片機(jī)的跑馬燈設(shè)計(jì)(15頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 《微型計(jì)算機(jī)系統(tǒng)》課程設(shè)計(jì) 任務(wù)書 題目名稱:基于單片機(jī)的跑馬燈設(shè)計(jì) 專業(yè) 自動(dòng)化 班 自本 132 姓名 學(xué)號(hào) 學(xué)校:青島理工大學(xué)自動(dòng)化學(xué)院 指導(dǎo)教師: 2015年11月30日 青島理工大學(xué)自動(dòng)化工程學(xué)院 課程設(shè)計(jì)任務(wù)書 課程名稱:微型計(jì)算機(jī)系統(tǒng) 設(shè)計(jì)題目:基于單片機(jī)的跑馬燈設(shè)計(jì) 系統(tǒng)硬件要求: 根據(jù)實(shí)際要求,以MCS-51單片機(jī)為核心,設(shè)計(jì)3個(gè)按鍵,每個(gè)按

2、鍵對(duì)應(yīng)一個(gè)花樣,可手動(dòng)顯示,即按一個(gè)按鍵,顯示一種花樣,也可以再設(shè)計(jì)一個(gè)按鍵用于連續(xù)顯示每個(gè)花樣,每個(gè)花樣顯示的時(shí)間和花樣設(shè)計(jì)者自己規(guī)定,并在論文中給定。設(shè)計(jì)控制系統(tǒng)硬件電路,編寫C語言或匯編語言程序,并用PROTEUS軟件進(jìn)行實(shí)時(shí)仿真。 要求: (1)擴(kuò)展接口(8255或8155),設(shè)計(jì)至少4個(gè)按鍵 (2)設(shè)計(jì)至少32個(gè)LED (3)LED顯示至少有3種花樣,可單獨(dú)顯示也可自動(dòng)循環(huán)顯示 軟件設(shè)計(jì): 1)主程序設(shè)計(jì) 2)各功能子程序設(shè)計(jì) 其他要求: 1、 每位同學(xué)獨(dú)立完成本設(shè)計(jì)。 2、依據(jù)題目要求,提出系統(tǒng)設(shè)計(jì)方案。 3、設(shè)計(jì)系統(tǒng)電路原理圖。 1、 調(diào)試系統(tǒng)硬件電

3、路、功能程序。 2、 編制課程設(shè)計(jì)報(bào)告書并裝訂成冊(cè),報(bào)告書內(nèi)容(按順序) (1)報(bào)告書封面 (2)課程設(shè)計(jì)任務(wù)書 (3)系統(tǒng)設(shè)計(jì)方案的提出、分析 (4)系統(tǒng)中典型電路的分析 (5)系統(tǒng)軟件結(jié)構(gòu)框圖 (6)系統(tǒng)電路原理圖 (7)源程序 (8)課設(shè)字?jǐn)?shù)不少于3000字 成績 評(píng)語 目錄 第一節(jié)AT89C51芯片分析………………………………………………………I 第二節(jié)設(shè)計(jì)概述………………………………………………………………3 第三節(jié) 算法………………………………………………………………..…5 第四節(jié) 編程技巧………………………………………

4、…………………………7 第五節(jié) 電路設(shè)計(jì)及功能說明,硬件原理框圖及電路圖(包括接口芯片簡介).8 第六節(jié) 調(diào)試過程中的主要難點(diǎn)(自己遇到的)及解決思路和辦法;………….8 課設(shè)結(jié)果及分析、收獲、體會(huì)和建議;………………………………………….9 參考文獻(xiàn)…………………………………………………………………………10 附錄1………………………………………………………………………………11 附錄2………………………………………………………………………………12 第一節(jié)AT8

5、9C51芯片分析 ATMEL的AT89S51是一種高效微控制器,將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C51的芯片引腳圖如下: 各引腳的說明和功能分析如下:VCC:供電電壓。GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編 程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電

6、阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址

7、數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)當(dāng)8051通電,時(shí)鐘電路開始工作,在RESET引腳上出現(xiàn)24個(gè)時(shí)鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計(jì)數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指鐘寫入0

8、7H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復(fù)位不改變RAM(包括工作寄存器R0-R7)的狀態(tài), ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。

9、另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸

10、出。 振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。 芯片擦除:整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電

11、模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 第二節(jié)設(shè)計(jì)概述 本程序設(shè)計(jì)意在展示跑馬燈的色彩樣式及“跑馬”變換效果,如果將跑馬燈做大,會(huì)有很高的觀賞價(jià)值。通過對(duì)一些相關(guān)書籍資料的查閱及網(wǎng)上各種作品和代碼的瀏覽,對(duì)各種實(shí)現(xiàn)代碼的比較和優(yōu)化,總結(jié)出本程序,以較優(yōu)秀的代碼實(shí)現(xiàn)各種可控的“跑馬燈”功能。 硬件系統(tǒng)部分包括顯示部分、按鍵控制部分和控制芯片。系統(tǒng)框圖如下: 第三節(jié) 算法 編譯兩個(gè)函數(shù),分別是voiddisplay()函

12、數(shù)和voiddelay()函數(shù),前者是LED顯示函數(shù),后者是延時(shí)函數(shù)。 程序的開始,先定義各個(gè)參數(shù)、各口的地址以及各個(gè)位。 主函數(shù)中,定義y1、y2分別為PA口PB口的相應(yīng)地址,控制各個(gè)LED燈的亮滅;m為顯示函數(shù)voiddisplay()中for循環(huán)的個(gè)數(shù),控制LED燈亮滅循環(huán);k1、k2分別為PA口PB口地址轉(zhuǎn)移的個(gè)數(shù),控制PA口PB口地址轉(zhuǎn)移的方式;t為延遲的參數(shù),順、跳兩模式定義不同的k值和m值。然后定義CPU的各個(gè)狀態(tài),使其正常工作。在順序顯示中,先進(jìn)入while(1)循環(huán),循環(huán)中兩判斷條件if(P1==0xfd),令k1=1,實(shí)現(xiàn)順顯示,和if(P1==0xfb),令k2=2實(shí)

13、現(xiàn)跳顯示。根據(jù)條件進(jìn)入相應(yīng)模式,各有一個(gè)LED燈亮、兩個(gè)LED燈亮、四個(gè)LED燈亮、八個(gè)LED燈亮,和一個(gè)LED燈、兩個(gè)LED燈、四個(gè)LED燈間隔亮 顯示函數(shù)voiddisplay()中,兩個(gè)for循環(huán)分別控制PA口PB口LED燈的循環(huán)模式,其中n為for循環(huán)的次數(shù)。先定義PA口PB口的首地址outdata1、outdata2進(jìn)入循環(huán),函數(shù)_cror_和_crol_控制他們地址不同的轉(zhuǎn)移方式,k為其中的轉(zhuǎn)移的個(gè)數(shù)。t為延遲函數(shù)的參數(shù),控制亮滅延遲的時(shí)間。 延遲函數(shù)voiddelay()中,t為延遲的參數(shù),控制程序中所需的延遲時(shí)間。程序中各個(gè)參數(shù)之間都一一對(duì)應(yīng),根據(jù)要求相互呼應(yīng)。通過控制這些

14、參數(shù)的量值來實(shí)現(xiàn)硬件仿真中多種跑馬燈的運(yùn)行模式。 第四節(jié) 編程技巧 設(shè)計(jì)中,我將與PA相連的LED燈順序排列,與PB相連的逆序排列,要注意兩組初始值并不相同,明確參數(shù)間的關(guān)系,多個(gè)參數(shù)組合使用,實(shí)現(xiàn)跑馬燈的多種運(yùn)行方式。 第五節(jié) 電路設(shè)計(jì)及功能說明,硬件原理框圖及電路圖(包括接口芯片簡介); 本次設(shè)計(jì)采用AT89C52芯片驅(qū)動(dòng)可編程接口芯片8155的擴(kuò)展來實(shí)現(xiàn)LED燈的多種顯示方式。讓AT89C52芯片的P0口與8155芯片的三態(tài)雙向數(shù)據(jù)總線D0~D7連接,實(shí)現(xiàn)數(shù)據(jù)傳送。當(dāng)CPU執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。8155的地址選

15、擇線A1、A0分別與AT89C52的P2.7和P2.6連接,通過定義不同的地址來定義8155芯片PA口和PB口的工作方式。讀寫命令線分別與單片機(jī)的讀寫命令線相連,片選線直接接地,復(fù)位線RESET接單片機(jī)的P2.5。同時(shí)PA口與8個(gè)LED燈順序連接。PB口與8個(gè)LED燈逆序連接,通過按鍵控制可以選擇不同的運(yùn)行模式,實(shí)現(xiàn)多種跑馬燈的運(yùn)行模式。 第六節(jié) 調(diào)試過程中的主要難點(diǎn)(自己遇到的)及解決思路和辦法; 設(shè)計(jì)中與PA口連接的LED燈是順序依次亮,與PB口連接的LED燈是逆序依次亮,要注意PA初始狀態(tài)分別是fe、fc、f0、00,PB初始狀態(tài)分別是7f、3f、0f、00。 其次PB口跳躍

16、亮,所以k2初始值為2。 課設(shè)結(jié)果及分析、收獲、體會(huì)和建議; 通過此次為期兩周的課程設(shè)計(jì),我加深了對(duì)單片機(jī)以及C語言的認(rèn)識(shí)和理解,使各部分的知識(shí)得到了進(jìn)一步的鞏固。將平時(shí)學(xué)的理論知識(shí)真正應(yīng)用到實(shí)際中,實(shí)現(xiàn)了學(xué)與用相結(jié)合,應(yīng)用單片機(jī)這一開發(fā)環(huán)境,軟硬件結(jié)合來達(dá)到設(shè)計(jì)一實(shí)物的目的。同時(shí)還了解了兩個(gè)專業(yè)軟件:KEILC和PROTEUS仿真軟件,現(xiàn)在基本熟悉了他們的應(yīng)用與相關(guān)知識(shí)。 此次課程設(shè)計(jì),關(guān)鍵的是整個(gè)課設(shè)過程,這中間有著我們的辛勤勞動(dòng)和認(rèn)真的思考,過程有些枯燥,但卻十分有意義。仿真和程序的編寫都會(huì)遇到很多問題,但我們保持耐心,認(rèn)真對(duì)待,問題終會(huì)解決。整個(gè)過程認(rèn)真堅(jiān)持下來,你會(huì)收獲很多,體

17、會(huì)很多,不管是對(duì)以后的學(xué)習(xí),還是對(duì)我們的自身本事的鍛煉,這些都是我們非常寶貴的財(cái)富。 課設(shè)過程中遇到的苦難,通過對(duì)設(shè)計(jì)的認(rèn)真分析以及與同學(xué)們的討論,找到了其中的出錯(cuò)點(diǎn),將其改正,每個(gè)問題都這樣一一改正,整個(gè)課設(shè)完成的十分成功。 此次課設(shè)還鍛煉了我們的動(dòng)手能力,開闊了我們的思維境界,使我們的知識(shí)更豐富,不僅加深了我們對(duì)所學(xué)專業(yè)的認(rèn)識(shí),更增加了我們對(duì)所學(xué)專業(yè)的興趣! 參考文獻(xiàn) 1C語言程序設(shè)計(jì)教程張敏霞,孫麗鳳主編北京:電子工業(yè)出版社,2007.3 2單片機(jī)原理及接口技術(shù)胡

18、漢才主編北京:清華大學(xué)出版社,2010.5 3 模擬電路課本 4 數(shù)字電路課本 附錄1 附錄2 #include #include #defineucharunsignedchar #definePAXBYTE[0x00] #definePBXBYTE[0x01] #definePCXBYTE[0x02] #defineCOMXBYTE[0x03] sbitk1=P1^0; s

19、bitk2=P1^1; sbitk3=P1^2; sbitk4=P1^3; ucharcodelie[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; ucharcodehangk0[8]={0x00,0xc3,0xc3,0xff,0xff,0xc3,0xc3,0x00}; ucharcodehangk1[8]={0x1e,0x21,0x42,0x84,0x84,0x42,0x21,0x1e}; ucharcodehangk2[8]={0x00,0x00,0x7f,0x88,0x88,0x67,0x00,0x00}; unsi

20、gnedcharmode; unsignedcharkey; voidkeyscan(void); voiddelay(uchart); voidlight0(void); voidlight1(void); voidlight2(void); voidmain() { PA=0;PB=0; COM=0x80; IT0=1; EX0=1; EA=1; while(1) { switch(key) { case1:light0();break; case2:light1();break; case3:light2();break; case4

21、:light0();delay(1000);light1();delay(1000);light2();delay(1000);break; default:break; } } } voidint0(void)interrupt0 { keyscan(); } voiddelay(uchart) { uchari=0; while(t--)for(i=0;i<120;i++); } voidkeyscan(void) { if(k1==0) { delay(10); if(k1==0) { while(!k1); key=1; }

22、} if(k2==0) { delay(10); if(k2==0) { while(!k2); key=2; } } if(k3==0) { delay(10); if(k3==0) { while(!k3); key=3; } } if(k4==0) { delay(10); if(k4==0) { while(!k4); key=4; } } } voidlight0() { unsignedchara; for(a=0;a<8;a++) { PA=lie[a]; PB=hangk0[a]; delay(5); } } voidlight1() { unsignedcharx; for(x=0;x<8;x++) { PA=lie[x]; PB=hangk1[x]; delay(5); } } voidlight2() { unsignedchary; for(y=0;y<8;y++) { PA=lie[y]; PB=hangk2[y]; delay(5); } } 15

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!