單片機大作業(yè)設(shè)計報告(共16頁)_第1頁
單片機大作業(yè)設(shè)計報告(共16頁)_第2頁
單片機大作業(yè)設(shè)計報告(共16頁)_第3頁
單片機大作業(yè)設(shè)計報告(共16頁)_第4頁
單片機大作業(yè)設(shè)計報告(共16頁)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 課 程 設(shè) 計 報 告 課 題 單片機大作業(yè)(顯示系統(tǒng)設(shè)計) 學(xué) 院 電子與控制工程學(xué)院 專 業(yè) 建筑電氣與智能化 班 級 學(xué) 號 姓 名 4 月 13 日至 4 月 18 日 指導(dǎo)教師 徐先鋒 設(shè)計任務(wù)書摘要本次設(shè)計主要采用MCS-51單片機、74LS273鎖存器、數(shù)碼管、按鍵、LED燈等器件組成一個能夠控制流水燈的顯示以及數(shù)碼管顯示的簡單系統(tǒng),并且內(nèi)部用到中斷技術(shù)。鍵盤控制數(shù)碼管顯示的具體數(shù)字。關(guān)鍵詞:流水燈,鍵盤,數(shù)碼管顯示,中斷,定時器AbstractThis design using MCS-51 microcontroller, 74LS273 latc

2、h, digital control, button, LED lights and other devices can control water light show simple system and digital display, and internal disruption technique is used. Keyboard controls digital display specific figures.Key words:water lights、keyboard、digital display、break off、timer目錄內(nèi)容一、 設(shè)計要求1.選擇合適的設(shè)計方案

3、,并進行理論闡述。2.編制相應(yīng)的控制程序,要求有程序流程圖,程序加注釋。3.繪制實現(xiàn)電路原理圖,所有圖紙均用計算機繪制。二、 設(shè)計步驟1. 流水燈的控制 本次設(shè)計流水燈的顯示有三種模式。第一種:系統(tǒng)工作時,指示燈L0L7以3個指示燈為一組循環(huán)顯示。第二種:當(dāng)S1按下時,暫時中斷3燈循環(huán)方式,熄滅全部指示燈,從指示燈L0開始逐個點亮并保持,直至L0L7全部點亮,然后熄滅,重復(fù)上述過程5次后退出,繼續(xù)三燈循環(huán)顯示模式。第三種:當(dāng)S2按下時,暫時中斷3燈循環(huán)方式,全部指示燈L0L7閃爍10次后退出,繼續(xù)三燈循環(huán)顯示模式??紤]到定時器/計數(shù)器的使用,本次中斷采用不同的方式,即:第二種顯示模式采用外部事

4、件中斷TNT0,第三種顯示模式采用定時器/計數(shù)器T0的溢出中斷。2. 鍵盤的設(shè)計本次鍵盤設(shè)計為3×3鍵盤,鍵盤接MCS-51單片機P2口,其中P2.3口和P2.7口處于閑置狀態(tài),九個按鍵依次對應(yīng)1到9九個數(shù)字,按鍵識別方法采用線反轉(zhuǎn)法。3. 數(shù)碼管的顯示七段數(shù)碼管采用共陰極接法,與MCS-51單片機接于P0口,鍵盤按鍵鍵值計算完后,由P0口輸出到74LS273鎖存器,再驅(qū)動數(shù)碼管相應(yīng)位置點亮,顯示相應(yīng)數(shù)字。三、 設(shè)計原理1. 流水燈控制設(shè)計本次設(shè)計中流水燈采用三種模式顯示。流水燈接P1口,正常工作時,指示燈三個為一組循環(huán)顯示,在指令中采用依次循環(huán)左移產(chǎn)生顯示控制碼來控制指示燈依次顯示

5、。另兩種顯示模式分別用兩種類型的中斷來控制。首先,這兩種中斷的優(yōu)先級是一樣的。第二種模式采用采用外部事件中斷TNT0,觸發(fā)方式采用負跳變方式。第三種顯示模式采用定時器/計數(shù)器T0的溢出中斷,定時器/計數(shù)器的工作方式寄存器(TMOD)初始值設(shè)為06H,讓定時器/計數(shù)器T0為計數(shù)器工作模式,并且工作方式為方式2。外部事件中斷INT0方式中,按下開關(guān)S1,中斷觸發(fā),改變流水燈顯示方式,同樣,當(dāng)按下開關(guān)S2是,計數(shù)器計數(shù)溢出中斷,進入中斷處理程序,改變流水燈顯示方式。因為兩個中斷的優(yōu)先級是相同的,所以,兩個按鍵對其中任何一個按鍵是否按下沒有影響,當(dāng)兩個按鍵同時按下時,優(yōu)先響應(yīng)S1的請求,正在處理其中一

6、個時,不會響應(yīng)另外一個。2. 鍵盤及數(shù)碼管顯示設(shè)計(1) 鍵盤接口設(shè)計:鍵盤是由一組規(guī)則排列的按鍵組成的。按鍵實際上是一個開關(guān)元件,也就是說鍵盤是一組規(guī)則排列的開關(guān),可分為獨立式和矩陣式兩種形式。本次設(shè)計采用矩陣式鍵盤,設(shè)計成一個3×3鍵盤,接于P2口。其中,P2.0P2.2作為行線,P2.4P2.6作為列線,P2.3和P2.7不接,處于閑置狀態(tài)。本次設(shè)計中按鍵的識別方法為線反轉(zhuǎn)法。其工作原理如下:第一步,首先使行線為輸入,列線為輸出。列線全部輸出低電平,那么,行線中變?yōu)榈碗娖降男芯€為按鍵所在的行。第二步,試行線變?yōu)檩敵觯芯€變?yōu)檩敵?。行線輸出全部為低電平,那么,列線中變?yōu)榈碗娖降牧?/p>

7、線為按鍵所在的列。在程序設(shè)計時,可以用行線和列線的輸入狀態(tài)來構(gòu)造按鍵的特征碼。 線反轉(zhuǎn)法鍵盤識別及處理程序流程圖見第四部分(軟件流程)。在程序中獲取行線和列線的狀態(tài)后,先進行取反操作,這樣按鍵所在的行和列的狀態(tài)為1,然后通過移位指令,計算出按鍵所在的行號和列號。然后用行號和列號求出鍵值,由于每行有三個按鍵,因此鍵值計算公式為:鍵值=3×行號+列號,求出鍵值存放在R5中。(2) LED數(shù)碼管顯示器接口設(shè)計:本次設(shè)計采用LED數(shù)碼管顯示器。LED數(shù)碼管是由若干個發(fā)光二極管組成的顯示字段。當(dāng)二極管導(dǎo)通時相應(yīng)的一個點或一個筆劃發(fā)光,就能顯示出各種字符,常用的8段LED顯示器的外形結(jié)構(gòu)如圖所示

8、,COM為公共端,ag和dp為顯示字控制端。LED數(shù)碼管顯示器有兩種結(jié)構(gòu),一種是所有發(fā)光二極管的陽極連在一起,稱共陽數(shù)碼管,使用時,它的公共端COM接高電平。另一種是所有發(fā)光二極管的陰極連在一起,稱共陰數(shù)碼管,它的公共端COM接低電平。8段LED數(shù)碼管顯示器字型編碼表如圖所示。本次設(shè)計采用單個數(shù)碼管靜態(tài)顯示鍵盤按下的一位數(shù)字。當(dāng)鍵盤中某一按鍵按下時,由鍵盤處理程序計算出鍵值,P2口輸入,P0口輸出到鎖存器74LS273,74LS273CLK端接P3.7口,顯示程序中給一個脈沖信號,即可輸出相應(yīng)的信號來驅(qū)動數(shù)碼管的點亮,顯示對應(yīng)的數(shù)字。四、 系統(tǒng)調(diào)試 1.軟件環(huán)境:proteus2.調(diào)試過程:將

9、編寫好的源程序輸入,編譯后出現(xiàn)很多問題,經(jīng)過反復(fù)修改程序終于運行通過。剛開始數(shù)碼管不顯示任何數(shù)字,按鍵按下沒有任何反應(yīng),仔細檢查后發(fā)現(xiàn)鍵盤之間的連線發(fā)生了錯誤。改正后發(fā)現(xiàn)數(shù)碼管顯示的數(shù)字與鍵盤按下的不相對應(yīng),分析了源程序后發(fā)現(xiàn)問題出現(xiàn)在鍵盤處理程序中鍵值計算的時候出了問題。本次采用的是3×3的矩陣式鍵盤,鍵值計算的時候行號應(yīng)乘以3而并非乘以4,改正后,數(shù)碼管正常顯示。流水燈的控制顯示沒有出現(xiàn)太大問題,開始就可以正常顯示了。 五、 軟件流程開 始初始化設(shè)置按鍵S1是否按下?按鍵S2是否按下?3個為一組循環(huán)顯示進入中斷1. 流水燈控制流程: Y N Y NINTO中斷: TO中斷:中斷入

10、口保護現(xiàn)場全部閃爍10次回復(fù)現(xiàn)場中斷返回中斷入口保護現(xiàn)場逐個點亮并保持回復(fù)現(xiàn)場中斷返回 2. 鍵盤及數(shù)碼管顯示流程:置行線為輸入,列線為輸出,并輸出0讀行線狀態(tài)并取反暫存行線狀態(tài)開始置列線為輸入,行線為輸出,并輸出0讀列線狀態(tài),并取反有按鍵按下?延時消除抖動置列線為輸入,行線為輸出,并輸出0讀列線狀態(tài),并取反有按鍵按下?置列線為輸入,行線為輸出,并輸出0讀列線狀態(tài),并取反暫存列線狀態(tài)按鍵釋放否?由列線狀態(tài)計算按鍵所在的列號由行線狀態(tài)計算按鍵所在的行號計算鍵值:鍵值=行號x3+列號鍵值為0FFHRET取鍵值,并由P2口輸入,P0口輸出清除P3.7口,再置1RET N Y N Y N Y六、 仿真

11、結(jié)果與分析MCS-51單片機工作系統(tǒng)圖:流水燈顯示結(jié)果:1. 正常工作模式:3個為一組循環(huán)顯示2. 當(dāng)S1按下:逐個點亮并保持,全部點亮后熄滅,重復(fù)5次后退出3. 當(dāng)S2按下:全部指示燈閃爍顯示10次鍵盤及數(shù)碼管顯示:本次設(shè)計采用3×3矩陣式鍵盤。當(dāng)鍵盤按下時,鍵值由P2口輸入,P0口輸出,數(shù)碼管顯示19 9個數(shù)字。設(shè)計總結(jié)在這次課程設(shè)計過程中,我們逐步養(yǎng)成了發(fā)現(xiàn)、提出、分析和解決實際問題的習(xí)慣;這不但鍛煉提高了我們的實踐能力,更是對我們實際工作能力的具體訓(xùn)練和考察過程。 對于此次單片機系統(tǒng)的設(shè)計,我仍感慨頗多,讓我們鞏固了以前所學(xué)過的知識。通過這次簡單的設(shè)計使我懂得了理論與實際相結(jié)

12、合的重要性,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中也發(fā)現(xiàn)了自己對所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說鎖存器的使用。通過這次課程設(shè)計,我對MCS-51單片機,中斷技術(shù),定時器/計數(shù)器的使用,74LS273等內(nèi)容有了更深刻的理解與認識。同時也看到了自己基礎(chǔ)知識還是不夠扎實,實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際的能力還待急需提高。參考文獻:段晨東.單片機原理及接口技術(shù).清華大學(xué)出版社,2008.7附錄設(shè)計圖: 源程序清單:ORG 0000H LJMP MAINORG 0003H LJMP

13、 Pint0 ;INTO的中斷入口地址ORG 000BHLJMP Pint1 ;T0的中斷入口地址ORG 0030HMAIN: MOV SP,#60H; 開辟棧區(qū) SETB IT0 ;INTO跳變觸發(fā)方式 SETB EA SETB EX0 MOV A,#07H ;1組3個指示燈顯示控制碼初值 MOV TMOD,#06H MOV TH0,#0FFH MOV TL0,#0FFH SETB ET0 SETB TR0CONT: MOV P1,A ;輸出控制LED,3個指示燈為1組顯示 LCALL DELAY ;延時 RL A ;循環(huán)左移產(chǎn)生顯示控制碼 PUSH ACCKEY: MOV P2,#B ;行

14、線置低電平,列線置輸入態(tài) MOV A,P2 ;讀列線狀態(tài) CPL A ;數(shù)據(jù)取反,按鍵按下的列線“1”有效 ANL A,#B ;屏蔽行線,取列線狀態(tài) JZ GRET ;全0,無鍵按下,返回 LCALL DL20MS MOV P2,#B ;行線置低電平,列線置輸入態(tài) MOV A,P2 CPL A ANL A,#B JZ GRET ;全0,無鍵按下,返回 MOV P2,#B ; 行線置低電平,列線置輸入態(tài) MOV A,P2 ;讀列線狀態(tài) CPL A ;數(shù)據(jù)取反,按鍵按下的列線“1”有效 ANL A,#B ;屏蔽行線,取列線狀態(tài) MOV R1,A MOV P2,#B MOV A,P2 CPL A A

15、NL A,#B MOV R2,AKEY1: MOV P2,#B MOV A,P2 CPL A ANL A,#B JNZ KEY1 MOV A,R1 MOV R1,#03H MOV R3,#03H CLR CKEY2: RLC A JC KEY3 DEC R1 DJNZ R3,KEY2KEY3: MOV A,R2 MOV R2,#00H MOV R3,#03H CLR CKEY4: RRC A JC KEY5 INC R2 DJNZ R3,KEY4KEY5: MOV A,R2 CLR C MOV B,A RLC A ADD A,B ADD A,R1 MOV DPTR,#LED_SEG MOVC

16、A,A+DPTR MOV P0,A CLR P3.7 SETB P3.7GRET: MOV R5,#0FFH POP ACC LJMP CONT ;延時子程序DELAY: MOV R5,#100DEL1: MOV R6,#200DEL0: NOP NOP NOP DJNZ R6,DEL0 DJNZ R5,DEL1 RET ORG 0300HPint0: PUSH ACC ;保護現(xiàn)場 PUSH PSW SETB RS0 ;把工作寄存器切換到1區(qū),避免中斷處理影響主程序中R0R7的內(nèi)容 MOV R1,#05H ;設(shè)置循環(huán)次數(shù)CONT1: CLR A ;產(chǎn)生顯示控制碼 MOV P1,A ;輸出控制L

17、ED全熄滅 ACALL DELAY ;延時 MOV R2,#01H ;循環(huán)初值 MOV R3,#01H ;顯示控制碼暫存寄存器初值,逐個點亮起始位CONT2: MOV A,R3 ;取顯示控制碼 MOV P1,A ;輸出控制LED ACALL DELAY ;延時 MOV A,R2 ;取循環(huán)碼 RL A ;循環(huán)碼移位 MOV R2,A ;循環(huán)碼暫存 ORL A,R3 ;產(chǎn)生下次顯示控制碼 MOV R3,A ;暫存顯示控制碼 MOV A,R2 XRL A,#01 ;8個LED顯示完,異或結(jié)果為0 JNZ CONT2 ;8個LED未顯示完,繼續(xù) DJNZ R1,CONT1 ;這種顯示模式5次顯示完否? POP PSW ;回復(fù)現(xiàn)場,RS0恢復(fù)到原來的狀態(tài) POP ACC RETI ;中斷返回 ;INT1中斷源的中斷處理程序ORG 0400HPint1: PUSH ACC PUSH

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論