已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

流水燈課程設(shè)計報告 k寧波技師學院課程設(shè)計 設(shè)計題目 流水燈 專業(yè)班級 07電氣(六)1 學生姓名 xxxx學號 47號 學生姓名 xxxx 學號 13號 指導教師 xxxxx 指導教師 xxxx 起止日期 2011 年 9月 3日 到 2010 年10月 9 日 寧波技師學院電氣技術(shù)系二零一一年九月 目 錄引言.31課程設(shè)計的目的.42課程設(shè)計的要求.42.1最小系統(tǒng).5380C51芯片分析.54.程序流程圖.95.仿真圖.106.原理圖.107.程序語言.108分析和總結(jié).178.1分析.178.2總結(jié).278.3致謝.279參考文獻.1810附錄.19引言隨著計算機技術(shù)的迅猛發(fā)展,計算機越來越廣泛的應用與人們工作和生活的各個領(lǐng)域。作為計算機領(lǐng)域里的一個重要方面,單片機及其應用技術(shù)近年來也得到了長足發(fā)展。單片機技術(shù)被廣泛的應用到工業(yè)自動控制、智能儀表、數(shù)據(jù)采集、通訊以及家用電器等領(lǐng)域。單片機以其與通用微機完全不同的發(fā)展模式,不短滿足工業(yè)測控、惡劣環(huán)境下可靠的運用的要求。單片機已成為現(xiàn)代工業(yè)領(lǐng)域中不可缺少的重要角色。本報告主要是以8位的單片機MCS-51為主,介紹了流水燈的程序的編寫,目的、要求、芯片介紹等等1課程設(shè)計的目的課程設(shè)計是本專業(yè)集中實踐環(huán)節(jié)的主要內(nèi)容之一。訓練正確地應用單片機,培養(yǎng)解決工業(yè)控制、工業(yè)檢測等領(lǐng)域具體問題的能力。學生通過所做課題,熟悉單片機應用系統(tǒng)開發(fā)研制的過程,軟硬件設(shè)計的工作方法、內(nèi)容及步驟,對學生進行基本技能訓練。例如組成系統(tǒng)、編程、調(diào)試、繪圖等。使學生理論聯(lián)系實際,提高動手能力和分析問題、解決問題的能力。通過本課程設(shè)計,主要達到以下目的:1.使學生增進對單片機的感性認識,加深對單片機理論方面的理解。2.使學生掌握單片機的內(nèi)部功能模塊的應用掌握89c51單片機和Keil c51集成開發(fā)環(huán)境在硬件仿真條件下各參數(shù)的設(shè)置。3.使學生了解和掌握單片機應用系統(tǒng)的軟/硬件設(shè)計過程、方法及實現(xiàn),為以后設(shè)計和實現(xiàn)單片機應用系統(tǒng)打下良好基礎(chǔ)。2課程設(shè)計的要求1.學生需認真閱讀課程設(shè)計任務書,熟悉有關(guān)設(shè)計資料及參考資料,熟悉各種設(shè)計規(guī)范的有關(guān)內(nèi)容,掌握89c51單片機和Keil c51集成開發(fā)環(huán)境在硬件仿真條件下各參數(shù)的設(shè)置。2.課程設(shè)計的成果為“課程設(shè)計報告”。課程設(shè)計報告內(nèi)容要正確,概念要清楚,完成任務書所規(guī)定的內(nèi)容,附有原理圖及程序流程圖,程序清單,文字要通順,書寫要工整,設(shè)計圖紙必須符合規(guī)范。2.1 最小系統(tǒng)的簡介對于片內(nèi)帶有程序存儲器的MCS_51單片機,將單片機以及與之相匹配的時鐘電路、復位電路組合在一起,利用芯片內(nèi)部的中斷系統(tǒng)、定時器計數(shù)器、并行接口、串行接口就可以組成完整的單片機系統(tǒng),再接上外部設(shè)備,就可以對其進行檢測和控制了。這種維持單片機運行的最簡單系統(tǒng),則稱為最小應用配置系統(tǒng)。簡單的說,其由時鐘電路和復位電路兩部分組成。時鐘電路分為內(nèi)部時鐘方式和外部時鐘方式。復位電路分為上電自動復位和按鍵手動復位。本課題我們采用外部時鐘方式和按鍵手動復位的組合來做單片機的最小系統(tǒng)。用兩個30pf無極電容和一個12M的晶振來組合成一個外部時鐘用一個電阻和有極電容,一個按鍵,組合成一個復位。按下按鍵時,9號角由低電平變?yōu)楦唠娖健?80C51芯片分析80S51是一種高效微控制器,將多功能8位CPU和閃爍存儲器組合在單個芯片中,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。此外,80C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。80C51的芯片引腳圖如下:圖1.1 80C51引腳圖各引腳的說明和功能分析如下:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當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門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時當8051通電,時鐘電路開始工作,在RESET引腳上出現(xiàn)24個時鐘周期以上的高電平,系統(tǒng)即初始復位。初始化后,程序計數(shù)器PC指向0000H,P0-P3輸出口全部為高電平,堆棧指鐘寫入07H,其它專用寄存器被清“0”。RESET由高電平下降為低電平后,系統(tǒng)即從0000H地址開始執(zhí)行程序。然而,初始復位不改變RAM(包括工作寄存器R0-R7)的狀態(tài), 特殊功能寄存器 初始態(tài) 特殊功能寄存器 初始態(tài) ACC 00H B 00H PSW 00H SP 07H DPH 00H TH0 00H DPL 00H TL0 00H IP xxx00000B TH1 00H IE 0xx00000B TL1 00H TMOD 00H TCON 00H SCON xxxxxxxxB SBUF 00H P0-P3 1111111B PCON 0xxxxxxxB 8051的初始態(tài)(4-2-2)ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除:整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。4.程序流程圖開始開中斷結(jié)束結(jié)束處理LED燈滅根據(jù)鍵值運行不同模式跑馬燈有鍵按下? 5.仿真圖6.原理圖7.程序語言 ORG 0000H JMP START ORG 0003H JMP EXT0 ORG 0013H JMP EXT1 ORG 0030HSTART: SETB EX0 SETB EX1 SETB PX0 CLR IT0 SETB EA MOV SP,#50H MOV A,#0FFH MOV R1,#08H CLR C SETB P0.0LOOP1: RLC A MOV P1,A MOV P2,A MOV P0,A CALL DELAY DJNZ R1,LOOP1 MOV A,#0FFH MOV R1,#07H CLR CLOOP2: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CALL DELAY DJNZ R1,LOOP2 MOV A,#0FFH MOV R1,#06H CLR CLOOP3: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CLR P1.6 CLR P2.6 CLR P0.6 CALL DELAY DJNZ R1,LOOP3 MOV A,#0FFH MOV R1,#05H CLR CLOOP4: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CLR P1.6 CLR P2.6 CLR P0.6 CLR P1.5 CLR P2.5 CLR P0.5 CALL DELAY DJNZ R1,LOOP4 MOV A,#0FFH MOV R1,#04H CLR CLOOP5: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CLR P1.6 CLR P2.6 CLR P0.6 CLR P1.5 CLR P2.5 CLR P0.5 CLR P1.4 CLR P2.4 CLR P0.4 CALL DELAY DJNZ R1,LOOP5 MOV A,#0FFH MOV R1,#03H CLR CLOOP6: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CLR P1.6 CLR P2.6 CLR P0.6 CLR P1.5 CLR P2.5 CLR P0.5 CLR P1.4 CLR P2.4 CLR P0.4 CLR P1.3 CLR P2.3 CLR P0.3 CALL DELAY DJNZ R1,LOOP6 MOV A,#0FFH MOV R1,#02H CLR CLOOP7: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CLR P1.6 CLR P2.6 CLR P0.6 CLR P1.5 CLR P2.5 CLR P0.5 CLR P1.4 CLR P2.4 CLR P0.4 CLR P1.3 CLR P2.3 CLR P0.3 CLR P1.2 CLR P2.2 CLR P0.2 CALL DELAY DJNZ R1,LOOP7 MOV A,#0FFH MOV R1,#01H CLR CLOOP8: RLC A MOV P1,A MOV P2,A MOV P0,A CLR P1.7 CLR P2.7 CLR P0.7 CLR P1.6 CLR P2.6 CLR P0.6 CLR P1.5 CLR P2.5 CLR P0.5 CLR P1.4 CLR P2.4 CLR P0.4 CLR P1.3 CLR P2.3 CLR P0.3 CLR P1.2 CLR P2.2 CLR P0.2 CLR P1.1 CLR P2.1 CLR P0.1 CALL DELAY DJNZ R1,LOOP8 MOV R2,#03HLOOP9: MOV P1,#00H MOV P2,#00H MOV P0,#00H CALL DELAY MOV P1,#0FFH MOV P2,#0FFH MOV P0,#0FFH CALL DELAY DJNZ R2,LOOP9 MOV A,#00H SETB C MOV R1,#08HX1: RLC A MOV P1,A MOV P2,A MOV P0,A CALL DELAY DJNZ R1,X1 MOV A,#00H SETB C MOV R1,#07HX2: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 CALL DELAY DJNZ R1,X2 MOV A,#00H SETB C MOV R1,#06HX3: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 SETB P1.6 SETB P2.6 SETB P0.6 CALL DELAY DJNZ R1,X3 MOV A,#00H SETB C MOV R1,#05HX4: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 SETB P1.6 SETB P2.6 SETB P0.6 SETB P1.5 SETB P2.5 SETB P0.5 CALL DELAY DJNZ R1,X4 MOV A,#00H SETB C MOV R1,#04HX5: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 SETB P1.6 SETB P2.6 SETB P0.6 SETB P1.5 SETB P2.5 SETB P0.5 SETB P1.4 SETB P2.4 SETB P0.4 CALL DELAY DJNZ R1,X5 MOV A,#00H SETB C MOV R1,#03HX6: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 SETB P1.6 SETB P2.6 SETB P0.6 SETB P1.5 SETB P2.5 SETB P0.5 SETB P1.4 SETB P2.4 SETB P0.4 SETB P1.3 SETB P2.3 SETB P0.3 CALL DELAY DJNZ R1,X6 MOV A,#00H SETB C MOV R1,#02HX7: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 SETB P1.6 SETB P2.6 SETB P0.6 SETB P1.5 SETB P2.5 SETB P0.5 SETB P1.4 SETB P2.4 SETB P0.4 SETB P1.3 SETB P2.3 SETB P0.3 SETB P1.2 SETB P2.2 SETB P0.2 CALL DELAY DJNZ R1,X7 MOV A,#00H SETB C MOV R1,#01HX8: RLC A MOV P1,A MOV P2,A MOV P0,A SETB P1.7 SETB P2.7 SETB P0.7 SETB P1.6 SETB P2.6 SETB P0.6 SETB P1.5 SETB P2.5 SETB P0.5 SETB P1.4 SETB P2.4 SETB P0.4 SETB P1.3 SETB P2.3 SETB P0.3 SETB P1.2 SETB P2.2 SETB P0.2 SETB P1.1 SETB P2.1 SETB P0.1 CALL DELAY DJNZ R1,X8 MOV R2,#03HX9: MOV P1,#00H MOV P2,#00H MOV P0,#00H CALL DELAY MOV P1,#0FFH MOV P2,#0FFH MOV P0,#0FFH CALL DELAY DJNZ R2,X9 JMP START DELAY: MOV R3,#40D1: MOV R4,#20D2: MOV R5,#248 DJNZ R5,$ DJNZ R4,D2 DJNZ R3,D1 RETEXT0: MOV P0,#00H MOV P1,#0FFH MOV P2,#00H CALL DELAY MOV P0,#0FFH MOV P1,#00H MOV P2,#00H CALL DELAY MOV P0,#00H MOV P1,#00H MOV P2,#00H CALL DELAY MOV P0,#0FFH MOV P1,#00H MOV P2,#00H CALL DELAY MOV P0,#00H MOV P1,#00H MOV P2,#00H CALL DELAY MOV P0,#00H MOV P1,#00H MOV P2,#0FFH CALL DELAY RETIEXT1: PUSH ACC PUSH PSW MOV P2,#0FFH MOV P1,#0FFH MOV P0,#0FFH MOV 30H,#00H MOV R6,#08H MOV A,#0FFH CLR CLOOP33:RLC A MOV P1,A MOV P2,A MOV P0,A INC 30H CALL DELAY DJNZ R6,LOOP33 MOV R7,#06H MOV 31H,#08H LOOP34:RRC A MOV P2,A MOV P1,A MOV P0,A DEC 31H CALL DELAY DJNZ R7,LOOP34 MOV P1,#00H MOV P2,#00H MOV P0,#00H CALL DELAY MOV P1,#0FFH MOV P2,#0FFH MOV P0,#0FFH CALL DELAY MOV P1,#00H MOV P2,#00H MOV P0,#00H CALL DELAY MOV P1,#0FFH MOV P2,#0FFH MOV P0,#0FFH CALL DELAY MOV P1,#00H MOV P2,#00H MOV P0,#00H CALL DELAY MOV P1,#0FFH MOV P2,#0FFH MOV P0,#0FFH CALL DELAY POP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論