版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微型計算機系統(tǒng)課程設(shè)計任務(wù)書題目名稱:基于單片機的跑馬燈設(shè)計專業(yè) 自動化 班 自本 132 姓名 學(xué)號 學(xué)校:青島理工大學(xué)自動化學(xué)院 指導(dǎo)教師: 2015年11月30日青島理工大學(xué)自動化工程學(xué)院課程設(shè)計任務(wù)書課程名稱:微型計算機系統(tǒng)設(shè)計題目:基于單片機的跑馬燈設(shè)計系統(tǒng)硬件要求: 根據(jù)實際要求,以mcs-51單片機為核心,設(shè)計3個按鍵,每個按鍵對應(yīng)一個花樣,可手動顯示,即按一個按鍵,顯示一種花樣,也可以再設(shè)計一個按鍵用于連續(xù)顯示每個花樣,每個花樣顯示的時間和花樣設(shè)計者自己規(guī)定,并在論文中給定。設(shè)計控制系統(tǒng)硬件電路,編寫c語言或匯編語言程序,并用proteus軟件進行實時仿真。要求:(1)擴展接口
2、(8255或8155),設(shè)計至少4個按鍵(2)設(shè)計至少32個led(3)led顯示至少有3種花樣,可單獨顯示也可自動循環(huán)顯示軟件設(shè)計: 1)主程序設(shè)計 2)各功能子程序設(shè)計其他要求:1、 每位同學(xué)獨立完成本設(shè)計。2、依據(jù)題目要求,提出系統(tǒng)設(shè)計方案。3、設(shè)計系統(tǒng)電路原理圖。1、 調(diào)試系統(tǒng)硬件電路、功能程序。2、 編制課程設(shè)計報告書并裝訂成冊,報告書內(nèi)容(按順序)(1)報告書封面(2)課程設(shè)計任務(wù)書(3)系統(tǒng)設(shè)計方案的提出、分析(4)系統(tǒng)中典型電路的分析(5)系統(tǒng)軟件結(jié)構(gòu)框圖(6)系統(tǒng)電路原理圖(7)源程序(8)課設(shè)字數(shù)不少于3000字成績評語目錄第一節(jié)at89c51芯片分析i第二節(jié)設(shè)計概述3第三
3、節(jié) 算法.5第四節(jié) 編程技巧7第五節(jié) 電路設(shè)計及功能說明,硬件原理框圖及電路圖(包括接口芯片簡介).8第六節(jié) 調(diào)試過程中的主要難點(自己遇到的)及解決思路和辦法;.8課設(shè)結(jié)果及分析、收獲、體會和建議;.9參考文獻10附錄111附錄212第一節(jié)at89c51芯片分析atmel的at89s51是一種高效微控制器,將多功能8位cpu和閃爍存儲器組合在單個芯片中,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。at89c51的芯片引腳圖如下:各引腳的說明和功能分析如下:vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時
4、,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0口作為原碼輸入口,當(dāng)fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入
5、。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保
6、持rst腳兩個機器周期的高電平時當(dāng)8051通電,時鐘電路開始工作,在reset引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復(fù)位。初始化后,程序計數(shù)器pc指向0000h,p0-p3輸出口全部為高電平,堆棧指鐘寫入07h,其它專用寄存器被清“0”。reset由高電平下降為低電平后,系統(tǒng)即從0000h地址開始執(zhí)行程序。然而,初始復(fù)位不改變ram(包括工作寄存器r0-r7)的狀態(tài),ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對
7、外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時,ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。ea/vpp:當(dāng)/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當(dāng)/
8、ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個perom陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms來完成。
9、在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。第二節(jié)設(shè)計概述本程序設(shè)計意在展示跑馬燈的色彩樣式及“跑馬”變換效果,如果將跑馬燈做大,會有很高的觀賞價值。通過對一些相關(guān)書籍資料的查閱及網(wǎng)上各種作品和代碼的瀏覽,對各種實現(xiàn)代碼的比較和優(yōu)化,總結(jié)出本程序,以較優(yōu)秀的代碼實現(xiàn)各種可控的“跑馬燈”
10、功能。硬件系統(tǒng)部分包括顯示部分、按鍵控制部分和控制芯片。系統(tǒng)框圖如下:第三節(jié) 算法編譯兩個函數(shù),分別是voiddisplay()函數(shù)和voiddelay()函數(shù),前者是led顯示函數(shù),后者是延時函數(shù)。程序的開始,先定義各個參數(shù)、各口的地址以及各個位。主函數(shù)中,定義y1、y2分別為pa口pb口的相應(yīng)地址,控制各個led燈的亮滅;m為顯示函數(shù)voiddisplay()中for循環(huán)的個數(shù),控制led燈亮滅循環(huán);k1、k2分別為pa口pb口地址轉(zhuǎn)移的個數(shù),控制pa口pb口地址轉(zhuǎn)移的方式;t為延遲的參數(shù),順、跳兩模式定義不同的k值和m值。然后定義cpu的各個狀態(tài),使其正常工作。在順序顯示中,先進入whi
11、le(1)循環(huán),循環(huán)中兩判斷條件if(p1=0xfd),令k1=1,實現(xiàn)順顯示,和if(p1=0xfb),令k2=2實現(xiàn)跳顯示。根據(jù)條件進入相應(yīng)模式,各有一個led燈亮、兩個led燈亮、四個led燈亮、八個led燈亮,和一個led燈、兩個led燈、四個led燈間隔亮顯示函數(shù)voiddisplay()中,兩個for循環(huán)分別控制pa口pb口led燈的循環(huán)模式,其中n為for循環(huán)的次數(shù)。先定義pa口pb口的首地址outdata1、outdata2進入循環(huán),函數(shù)_cror_和_crol_控制他們地址不同的轉(zhuǎn)移方式,k為其中的轉(zhuǎn)移的個數(shù)。t為延遲函數(shù)的參數(shù),控制亮滅延遲的時間。延遲函數(shù)voiddelay
12、()中,t為延遲的參數(shù),控制程序中所需的延遲時間。程序中各個參數(shù)之間都一一對應(yīng),根據(jù)要求相互呼應(yīng)。通過控制這些參數(shù)的量值來實現(xiàn)硬件仿真中多種跑馬燈的運行模式。第四節(jié) 編程技巧設(shè)計中,我將與pa相連的led燈順序排列,與pb相連的逆序排列,要注意兩組初始值并不相同,明確參數(shù)間的關(guān)系,多個參數(shù)組合使用,實現(xiàn)跑馬燈的多種運行方式。第五節(jié) 電路設(shè)計及功能說明,硬件原理框圖及電路圖(包括接口芯片簡介);本次設(shè)計采用at89c52芯片驅(qū)動可編程接口芯片8155的擴展來實現(xiàn)led燈的多種顯示方式。讓at89c52芯片的p0口與8155芯片的三態(tài)雙向數(shù)據(jù)總線d0d7連接,實現(xiàn)數(shù)據(jù)傳送。當(dāng)cpu執(zhí)行輸入輸出指令
13、時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。8155的地址選擇線a1、a0分別與at89c52的p2.7和p2.6連接,通過定義不同的地址來定義8155芯片pa口和pb口的工作方式。讀寫命令線分別與單片機的讀寫命令線相連,片選線直接接地,復(fù)位線reset接單片機的p2.5。同時pa口與8個led燈順序連接。pb口與8個led燈逆序連接,通過按鍵控制可以選擇不同的運行模式,實現(xiàn)多種跑馬燈的運行模式。第六節(jié) 調(diào)試過程中的主要難點(自己遇到的)及解決思路和辦法;設(shè)計中與pa口連接的led燈是順序依次亮,與pb口連接的led燈是逆序依次亮,要注意pa初始狀態(tài)分別是fe、fc
14、、f0、00,pb初始狀態(tài)分別是7f、3f、0f、00。其次pb口跳躍亮,所以k2初始值為2。課設(shè)結(jié)果及分析、收獲、體會和建議;通過此次為期兩周的課程設(shè)計,我加深了對單片機以及c語言的認識和理解,使各部分的知識得到了進一步的鞏固。將平時學(xué)的理論知識真正應(yīng)用到實際中,實現(xiàn)了學(xué)與用相結(jié)合,應(yīng)用單片機這一開發(fā)環(huán)境,軟硬件結(jié)合來達到設(shè)計一實物的目的。同時還了解了兩個專業(yè)軟件:keilc和proteus仿真軟件,現(xiàn)在基本熟悉了他們的應(yīng)用與相關(guān)知識。此次課程設(shè)計,關(guān)鍵的是整個課設(shè)過程,這中間有著我們的辛勤勞動和認真的思考,過程有些枯燥,但卻十分有意義。仿真和程序的編寫都會遇到很多問題,但我們保持耐心,認真
15、對待,問題終會解決。整個過程認真堅持下來,你會收獲很多,體會很多,不管是對以后的學(xué)習(xí),還是對我們的自身本事的鍛煉,這些都是我們非常寶貴的財富。課設(shè)過程中遇到的苦難,通過對設(shè)計的認真分析以及與同學(xué)們的討論,找到了其中的出錯點,將其改正,每個問題都這樣一一改正,整個課設(shè)完成的十分成功。此次課設(shè)還鍛煉了我們的動手能力,開闊了我們的思維境界,使我們的知識更豐富,不僅加深了我們對所學(xué)專業(yè)的認識,更增加了我們對所學(xué)專業(yè)的興趣!參考文獻1c語言程序設(shè)計教程張敏霞,孫麗鳳主編北京:電子工業(yè)出版社,2007.32單片機原理及接口技術(shù)胡漢才主編北京:清華大學(xué)出版社,2010.53 模擬電路課本4 數(shù)字電路課本附錄
16、1附錄2#include#include#defineucharunsignedchar#definepaxbyte0x00#definepbxbyte0x01#definepcxbyte0x02#definecomxbyte0x03sbitk1=p10;sbitk2=p11;sbitk3=p12;sbitk4=p13;ucharcodelie8=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;ucharcodehangk08=0x00,0xc3,0xc3,0xff,0xff,0xc3,0xc3,0x00;ucharcodehangk18=0x1e,0x21,0
17、x42,0x84,0x84,0x42,0x21,0x1e;ucharcodehangk28=0x00,0x00,0x7f,0x88,0x88,0x67,0x00,0x00;unsignedcharmode;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:li
18、ght1();break;case3:light2();break;case4:light0();delay(1000);light1();delay(1000);light2();delay(1000);break;default:break;voidint0(void)interrupt0keyscan();voiddelay(uchart)uchari=0;while(t-)for(i=0;i120;i+);voidkeyscan(void)if(k1=0)delay(10);if(k1=0)while(!k1);key=1;if(k2=0) delay(10);if(k2=0)while(!k2);key=2;if(k3=0)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦山研發(fā)合同
- 主持人解聘合同證明
- 皮革買賣欠款合同范例
- 西安市醫(yī)療保險定點醫(yī)療機構(gòu)服務(wù)協(xié)議書(2篇)
- 土建專業(yè)分包合同
- 工資預(yù)留合同最簡單三個步驟
- 集體合同要約書范本
- 醫(yī)院食堂托管合同范例
- 酒店變賣物品合同范例
- 裝修及家具合同范例
- 嶺南新風(fēng)貌-廣東省農(nóng)房設(shè)計方案圖集-第一冊
- MOOC 藥物代謝動力學(xué)-中國藥科大學(xué) 中國大學(xué)慕課答案
- 國家開放大學(xué)電大《計算機應(yīng)用基礎(chǔ)(本)》學(xué)士學(xué)位論文家用電器銷售管理系統(tǒng)的設(shè)計與實現(xiàn)
- 水利工程運維水利工程運行和日常維修養(yǎng)護方案
- 鄉(xiāng)村內(nèi)碳排放量計算方法
- 不銹鋼蜂窩材料市場洞察報告
- 科研思路與方法智慧樹知到期末考試答案2024年
- 工程水文學(xué)智慧樹知到期末考試答案2024年
- 肇事逃逸的法律規(guī)定
- 300KW儲能系統(tǒng)初步設(shè)計方案及調(diào)試
- 2024年安徽合肥市軌道交通集團有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論