流水燈課程設(shè)計_第1頁
流水燈課程設(shè)計_第2頁
流水燈課程設(shè)計_第3頁
流水燈課程設(shè)計_第4頁
流水燈課程設(shè)計_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE3課程設(shè)計報告設(shè)計任務(wù)書設(shè)計題目流水燈的控制設(shè)計學(xué)生姓名專業(yè)班級設(shè)計要求:設(shè)計一個閃爍跑馬燈控制器,該控制器可以控制8個燈順序亮滅。當(dāng)單片機(jī)上電后,8個燈依次從左向右亮,并且每個燈亮的時間為1秒鐘。這時,如果按鈕K1按下,則燈亮的順序是從右向左,同樣,每個燈亮的時間是1秒鐘。這時,如果按下按鈕K2,則此時,4個燈亮4個燈滅,延遲4秒鐘以后,又開始從左向右點(diǎn)亮。最后,若按下按鈕K3,則全部燈亮。此時若想再次點(diǎn)亮燈,必須重新上電。學(xué)生應(yīng)完成的工作:1.按照實(shí)驗(yàn)要求查找AT89C51元器件等相關(guān)資料做設(shè)計總方案2.利用仿真軟件完成電路的仿真,測試實(shí)驗(yàn)結(jié)果3.繪制原理圖,根據(jù)仿真圖焊接電路板4.使用KeiluVision2軟件,完成控制程序的編寫5.查看實(shí)際流水燈運(yùn)行狀況作出實(shí)驗(yàn)結(jié)果。6.依據(jù)課程設(shè)計要求完成課程設(shè)計任務(wù)書參考文獻(xiàn)閱讀:1.姚福安《電子電路設(shè)計與實(shí)踐》山東科學(xué)技術(shù)出版社,20012.涂時亮《單片機(jī)軟件設(shè)計技術(shù)》重慶科技文獻(xiàn)出版社,19873.張毅剛《新編MCS51實(shí)用匯編程序設(shè)計》哈爾濱工業(yè)大學(xué)出版社,20034.康華光《電子技術(shù)基礎(chǔ)》高教出版社,20035.胡漢才《單片機(jī)原理及接口技術(shù)》清華大學(xué)出版社,1996工作計劃:6月——6日與組員討論分析設(shè)計任務(wù),提出總體設(shè)計方案(設(shè)計方法、電路圖),并向指導(dǎo)老師說明;6月——10日在電腦上利用軟件搭建電路并進(jìn)行仿真,查看結(jié)果并改進(jìn)實(shí)驗(yàn);6月——15日根據(jù)仿真圖焊接電路板;6月——20日完成電子版實(shí)驗(yàn)報告,經(jīng)老師檢查后,打印并上交。任務(wù)下達(dá)日期:2011年6月6日任務(wù)完成日期:2011年6月20日指導(dǎo)教師(簽名):學(xué)生(簽名):目錄TOC\o"1-2"\h\z\u1.課程設(shè)計的目的 32.課程設(shè)計的要求 33.AT89C51芯片分析 44.程序流程圖 85.原理圖 96.程序語言 97.分析和總結(jié) 127.1分析 127.2總結(jié) 127.3體會 138.參考文獻(xiàn) 13PAGE141.課程設(shè)計的目的課程設(shè)計是本專業(yè)集中實(shí)踐環(huán)節(jié)的主要內(nèi)容之一。訓(xùn)練正確地應(yīng)用單片機(jī),培養(yǎng)解決工業(yè)控制、工業(yè)檢測等領(lǐng)域具體問題的能力。學(xué)生通過所做課題,熟悉單片機(jī)應(yīng)用系統(tǒng)開發(fā)研制的過程,軟硬件設(shè)計的工作方法、內(nèi)容及步驟,對學(xué)生進(jìn)行基本技能訓(xùn)練。例如組成系統(tǒng)、編程、調(diào)試、繪圖等。使學(xué)生理論聯(lián)系實(shí)際,提高動手能力和分析問題、解決問題的能力。通過本課程設(shè)計,主要達(dá)到以下目的:1.使學(xué)生增進(jìn)對單片機(jī)的感性認(rèn)識,加深對單片機(jī)理論方面的理解。2.使學(xué)生掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用掌握89c51單片機(jī)和Keilc51集成開發(fā)環(huán)境在硬件仿真條件下各參數(shù)的設(shè)置。3.使學(xué)生了解和掌握單片機(jī)應(yīng)用系統(tǒng)的軟/硬件設(shè)計過程、方法及實(shí)現(xiàn),為以后設(shè)計和實(shí)現(xiàn)單片機(jī)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。2.課程設(shè)計的要求1.學(xué)生需認(rèn)真閱讀課程設(shè)計任務(wù)書,熟悉有關(guān)設(shè)計資料及參考資料,熟悉各種設(shè)計規(guī)范的有關(guān)內(nèi)容,掌握89c51單片機(jī)和Keilc51集成開發(fā)環(huán)境在硬件仿真條件下各參數(shù)的設(shè)置。2.課程設(shè)計的成果為“課程設(shè)計報告”。課程設(shè)計報告內(nèi)容要正確,概念要清楚,完成任務(wù)書所規(guī)定的內(nèi)容,附有原理圖及程序流程圖,程序清單,文字要通順,書寫要工整,設(shè)計圖紙必須符合規(guī)范。3.AT89C51芯片分析ATMEL的AT89S51是一種高效微控制器,將多功能8位CPU和閃爍存儲器組合在單個芯片中,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。AT89C51的芯片引腳圖如下:圖1.1AT89C51引腳圖各引腳的說明和功能分析如下:VCC:供電電壓。GND:接地。

P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。

P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時當(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),特殊功能寄存器初始態(tài)特殊功能寄存器初始態(tài)ACC00HB00HPSW00HSP07HDPH00HTH000HDPL00HTL000HIPxxx00000BTH100HIE0xx00000BTL100HTMOD00HTCON00HSCONxxxxxxxxBSBUF00HP0-P31111111BPCON0xxxxxxxB8051的初始態(tài)(4-2-2)ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。

XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。

XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。4.程序流程圖設(shè)置初值設(shè)置初值啟動定時計數(shù)器開始開始開中斷開中斷結(jié)束結(jié)束處理LED燈滅根據(jù)鍵值運(yùn)行不同模式跑馬燈有鍵按下?結(jié)束結(jié)束處理LED燈滅根據(jù)鍵值運(yùn)行不同模式跑馬燈有鍵按下?5.原理圖6.程序語言UpDownEQU00H;上下行標(biāo)志StartEndEQU01H;起動及停止標(biāo)志LAMPCODEEQU21H;存放流動的數(shù)據(jù)代碼ORG0000HAJMPMAINORG30HMAIN:MOVSP,#5FHMOVP1,#0FFHCLRUpDown;啟動時處于向上的狀態(tài)CLRStartEnd;啟動時處于停止?fàn)顟B(tài)MOVLAMPCODE,#0FEH;單燈流動的代碼LOOP:ACALLKEY;調(diào)用鍵盤程序JNBF0,LNEXT;如果無鍵按下,則繼續(xù)ACALLKEYPROC;否則調(diào)用鍵盤處理程序LNEXT:ACALLLAMP;調(diào)用燈顯示程序AJMPLOOP;反復(fù)循環(huán),主程序到此結(jié)束DELAY:MOVR7,#10D1:MOVR6,#100DJNZR6,$DJNZR7,D1RET;延時程序,鍵盤處理中調(diào)用KEYPROC:MOVA,B;從B寄存器中獲取鍵值JBACC.2,KeyStart;分析鍵的代碼,某位被按下,則該位為1JBACC.3,KeyOverJBACC.4,KeyUpJBACC.5,KeyDownAJMPKEY_RETKeyStart:SETBStartEnd;第一個鍵按下后的處理AJMPKEY_RETKeyOver:CLRStartEnd;第二個鍵按下后的處理AJMPKEY_RETKeyUp:SETBUpDown;第三個鍵按下后的處理AJMPKEY_RETKeyDown:CLRUpDown;第四個鍵按下后的處理KEY_RET:RETKEY:CLRF0;清F0,表示無鍵按下。ORLP0,#00111100B;將P3口的接有鍵的四位置1MOVA,P0;取P3的值ORLA,#11000011B;將其余4位置1CPLA;取反JZK_RET;如果為0則一定無鍵按下ACALLDELAY;否則延時去鍵抖ORLP0,#00111100BMOVA,P0ORLA,#11000011BCPLAJZK_RETMOVB,A;確實(shí)有鍵按下,將鍵值存入B中SETBF0;設(shè)置有鍵按下的標(biāo)志K_RET:ORLP0,#00111100B;此處循環(huán)等待鍵的釋放MOVA,P0ORLA,#11000011BCPLAJZK_RET1;直到讀取的數(shù)據(jù)取反后為0說明鍵釋放了,才從鍵盤處理程序中返回AJMPK_RETK_RET1:RET;D500MS:;流水燈的延遲時間PUSHPSWSETBRS0MOVR7,#5;如果用實(shí)驗(yàn)仿真板,該值可根據(jù)你的機(jī)器運(yùn)行情況更改,在1-255之間D51:MOVR6,#250D52:MOVR5,#200D53:DJNZR5,D53DJNZR6,D52DJNZR7,D51POPPSWRET;LAMP:JBStartEnd,LampStart;如果StartEnd=1,則啟動MOVP1,#0FFHAJMPLAMPRET;否則關(guān)閉所有顯示,返回LampStart:JBUpDown,LAMPUP;如果UpDown=1,則向上流動MOVA,LAMPCODERLA;向上移動實(shí)際就是左移位MOVLAMPCODE,AMOVP1,ALCALLD500MSAJMPLAMPRETLAMPUP:MOVA,LAMPCODERRA;向下流動實(shí)際就是右移MOVLAMPCODE,AMOVP1,ALCALLD500MSLAMPRET:RETEND 7.分析和總結(jié)本次課程實(shí)習(xí)我雖然用了二個星期的時間就全部做完,但整個過程我都認(rèn)真的完成了,而且從中收獲很多??梢钥偨Y(jié)為以下的幾點(diǎn):7.1分析在這次課程設(shè)計中,我們也遇到了一些困難。主要是在剛開始使用ISIS7Professional軟件仿真電路時,仿真出來的電路達(dá)不到預(yù)定效果,經(jīng)過老師的講解,才仿真成功。連接實(shí)物圖是對MC89C51掌握的不熟悉,導(dǎo)致做實(shí)驗(yàn)速度較慢。但是經(jīng)過同學(xué)們的查找資料,掌握方法,進(jìn)行了焊接,最后實(shí)驗(yàn)終于獲得了成功。7.2總結(jié)通過此次為期兩周的課程設(shè)計,我加深了對單片機(jī)以及匯

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論