單片機原理及應(yīng)用課程設(shè)計01330_第1頁
單片機原理及應(yīng)用課程設(shè)計01330_第2頁
單片機原理及應(yīng)用課程設(shè)計01330_第3頁
單片機原理及應(yīng)用課程設(shè)計01330_第4頁
單片機原理及應(yīng)用課程設(shè)計01330_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應(yīng)用課程設(shè)計報告題 目:霓虹燈發(fā)生器學(xué) 號 U200712137 姓 名 劉 青 專 業(yè) 電氣工程及其自動化 班 級 電氣0705班 指 導(dǎo) 教 師 黃 勁 院(系、所) 電氣與電子工程學(xué)院 華中科技大學(xué)教務(wù)處制實驗?zāi)康模海?) 熟悉單片機的工作原理和應(yīng)用方法,掌握單片機編程的一些技巧(2) 利用單片機的部分硬件,編寫霓虹燈發(fā)生器程序。實驗內(nèi)容:霓虹燈發(fā)生器:利用仿真臺上的LED和發(fā)光二極管,產(chǎn)生由鍵盤選擇的5種動態(tài)圖案。1) LED動態(tài)顯示學(xué)號007121372) 發(fā)光二極管循環(huán)閃爍 3) LED上半部分動態(tài)顯示圖案Abcdefgh4) 發(fā)光二極管閃爍:從兩邊向中間依次靠攏5)

2、LED上半部分動態(tài)顯示圖案實驗原理: 1、單片機時鐘采用內(nèi)部時鐘,復(fù)位采用上電復(fù)位,八個發(fā)光二極管 L1L8 分別接在單片機的 P1.0 P1.7 接口上 , 輸出 “ 0 ” 時 , 發(fā)光二極管亮 , 開始時P1.0P1.1P1.2P1.3P1.7P1.6P1.0 亮,重復(fù)循環(huán)。2、利用取表的方法,使端口 P1 做單一燈的變化:左移 2 次,右移 2 次,閃爍 2 次(延時的時間 0.2秒)。調(diào)試結(jié)果:總體來說達到了實驗設(shè)計的基本要求,但是存在一個方面的問題:在一種圖案動態(tài)顯示時,為了縮小程序的長度,所有檢測按鍵的程序都放在了循環(huán)之后,因此每次都只能在一種圖案檢測結(jié)束之后才能判斷是否有按鍵,

3、這使得本程序存在一定局限性,當(dāng)一種圖案較長時,延時較長,改進的方法是在循環(huán)中多加判斷程序,但是這會使得程序更加冗余。實驗心得:通過這次的課程設(shè)計,回顧了上學(xué)期單片機的課程內(nèi)容,也對單片機的原理、工作方法、編程技巧有了更深一層的了解。在實驗的過程中遇到了很多問題,也都能通過自己的思考以及與同學(xué)之間的討論最后得以解決?!袄碚撆c實踐相結(jié)合”在本次課程設(shè)計中得到了很好的體現(xiàn)。不過在設(shè)計結(jié)果中所暴露出來的問題,還是需要在以后的設(shè)計以及操作中多加注意,這樣才能夠更好地體現(xiàn)課程設(shè)計的意義。參考文獻:汪建,MCS96系列單片機原理及控制技術(shù)(第二版),武漢:華中科技大學(xué)出版社, 2004年2月附錄:程序代碼;

4、-C8255 EQU 0C006H ;8255命令口地址P8255A EQU 0C000H ;8255 PA口地址P8255B EQU 0C002H ;8255 PB口地址P8255C EQU 0C004H ;8255 PC口地址;-AX EQU 1CH AL EQU 1CH AH EQU 1DHBL EQU 1EHDX EQU 22HDL EQU 22HEXEQU 24HELEQU 24HFXEQU 26HFLEQU 26HGXEQU 28HGLEQU 28HHX EQU 30H HL EQU 30H HH EQU 31HIX EQU 32H IL EQU 32H IH EQU 33HMM1

5、X EQU 34H MM1L EQU 34H MM1H EQU 35HMM2X EQU 36H MM2L EQU 36H MM2H EQU 37HMM3X EQU 38H MM3L EQU 38H MM3H EQU 39HMM4X EQU 40H MM4L EQU 40H MM4H EQU 41HYDYX1 EQU 42HYDYL1 EQU 42HYDYH1 EQU 43HYDYX2 EQU 44HYDYL2 EQU 44HYDYH2 EQU 45HYDYX3 EQU 46HYDYL3 EQU 46HYDYH3 EQU 47HFTX EQU 48HFTL EQU 48HFTH EQU 49HF

6、QX EQU 50HFQL EQU 50HFQH EQU 51HWL EQU 52H;- ORG 2080H LD SP,#0FCH CLR GX LCALL DELAY ;延時 LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255CKB_DIS: LDBAL,#08H SCALL RD_KB ;讀鍵子程序 JBS AL,4,KB_DIS ;等待 SCALL DISP ;顯示子程序;- DISP:LDB FL,ALLDBGL,ALLDBMM1L,ALLDBMM2L,ALLDBMM3L,ALLDBMM

7、4L,ALANDB GL,#0FFH JELOOP;判斷是否按了0,有就跳轉(zhuǎn)ANDB FL,#0FEH JEHSSO_ME1;判斷是否按了1,有就跳轉(zhuǎn)ANDB MM1L,#0FDH JEHSSO_ME2;判斷是否按了2,有就跳轉(zhuǎn)ANDB MM2L,#0FCH JEHSSO_ME3;判斷是否按了3,有就跳轉(zhuǎn)ANDB MM3L,#0FBH JEHSSO_ME4;判斷是否按了4,有就跳轉(zhuǎn) ANDB MM4L,#0FAHJNE KB_DIS;判斷是否按了5,沒有就返回SJMP HSSO_ME5HSSO_ME1: LJMP HSO_ME1HSSO_ME2: LJMP HSO_ME2HSSO_ME3: L

8、JMP HSO_ME3HSSO_ME4: LJMP HSO_ME4HSSO_ME5: LJMP HSO_ME5 LOOP:LDBBL,#08H LDB EL,#0E8HLDBGL,#00HLOOP1:STB EL,P8255C ;位選LDB DL,DL_DATGX ;段選 STB DL,P8255A SCALL DELAY2SUB EL,#20HADDB GL,#01HDJNZ BL,LOOP1LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H SCALL RD_KB ;讀

9、鍵子程序 JBS AL,4,LOOP ;等待 LCALL DISP ;顯示子程序 RET ;- RD_KB: LDB BL,#0AH ;鍵盤掃描第一行 STB BL,P8255C0 SKIP SKIP LDB AL,P8255B0 ;讀鍵值 XORB AL,#0FFH JNE KEYVAL ;判鍵是否按下 LDB BL,#09H ;掃描第二行 STB BL,P8255C0 SKIP SKIP LDB AL,P8255B0 XORB AL,#0FFH JE NOKEYKEYVAL: ;計算鍵碼 ANDB BL,#01H SHL BL,#03H LDB AH,AL LDB AL,#0FFHSHIF

10、T: INCB AL SHRB AH,#01H JNC SHIFT ORB AL,BL SCALL DELAY SJMP KBEXIT NOKEY: LD AL,#10HKBEXIT: RET;- DELAY: LD DX,#0F00H ;延時子程序1DELAY1: DEC DX JNE DELAY1 RET;-DELAY2: LD DX,#0230H ;延時子程序2DELAY3: DEC DX JNE DELAY3 RET;-DELAY41:LD YDYX1,#0002H ;延時子程序3DELAY42:LD YDYX2,#0FFFFHDELAY43:LDYDYX3,#0FFFFHDELAY4

11、4:DJNZYDYX3,DELAY44DJNZ YDYX2,DELAY43DJNZYDYX1,DELAY42 RET;- DELAY411:LD YDYX1,#0FF1H ;延時子程序3DELAY412:LD YDYX2,#0FFFFHDELAY413:DJNZ YDYX2,DELAY413DJNZYDYX1,DELAY412 RET;- DL_DAT: DB 3FH,3FH,07H,06H,5BH,06H,4FH,07H ;0,0,7,1,2,1,3,7DL_DAT1:DB 21H,01H,01H,01H,01H,01H,01H,03H DL_DAT2:DB 0CH,08H,08H,08H,

12、08H,08H,08H,18HDL_DAT3:DB 3FH,3FH,07H,06H,5BH,06H,4FH,07H ;- HSO_ME1:LDBBL,#08HLDB IL,#0FEHP137: LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 SHLB IL,#01H ADDB IL,#01HDJNZ BL,P137LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H SCALL RD_KB

13、 ;讀鍵子程序 JBS AL,4,HSO_ME1 ;等待 LCALL DISP ;顯示子程序HSO_ME2:LOOP11:LDBBL,#08H LDB EL,#0E8HLDBGL,#00HLOOP111:STB EL,P8255C ;位選LDB DL,DL_DAT1GX ;段選 STB DL,P8255A SCALL DELAY411SUB EL,#20HADDB GL,#01HDJNZ BL,LOOP111LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H SCALL R

14、D_KB ;讀鍵子程序 JBS AL,4,LOOP12 ;等待 LCALL DISP LOOP12:LDBBL,#08H LDB EL,#08H+LDBGL,#00HLOOP112:STB EL,P8255C ;位選LDB DL,DL_DAT2GX ;段選 STB DL,P8255A SCALL DELAY411ADDB EL,#20HADDB GL,#01HDJNZ BL,LOOP112LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H SCALL RD_KB ;讀鍵子程

15、序 JBS AL,4,LOOP11 ;等待 LCALL DISP HSO_ME3:LDBBL,#08H LDB EL,#0E8HLDBGL,#00HLLOOP1:STB EL,P8255C ;位選LDB DL,DL_DAT3GX ;段選 STB DL,P8255A SCALL DELAY411SUB EL,#20HADDB GL,#01HDJNZ BL,LLOOP1LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H SCALL RD_KB ;讀鍵子程序 JBS AL,4,H

16、SO_ME3 ;等待 LCALL DISP ;顯示子程序HSO_ME4:LDB IL,#7EH LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB IL,#0BDH LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB IL,#0DBH LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB IL,#0E7H LDB HL,#8

17、0H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H SCALL RD_KB ;讀鍵子程序 JBS AL,4,HSOM4 ;等待 LCALL DISP HSOM4: LDB IL,#0EEH LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB IL,#0DDH LDB

18、HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB IL,#0BBH LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411 LDB IL,#77H LDB HL,#80H ;PB,PA,PC口輸出 STB HL,C82550 STB IL,P8255B LCALL DELAY411LDB AL,#82H ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C

19、LDBAL,#08H SCALL RD_KB ;讀鍵子程序 JBS AL,4,HSO_M4 ;等待 LCALL DISP HSO_M4: LJMP HSO_ME4HSO_ME5:LD WL,#03HHSI88: PT1: LD YDYX2,#004FHPT11: LDB EL,#68HSTB EL,P8255C ;位選LDB DL,#21H ;段選 STB DL,P8255A LCALL DELAY2 LDB EL,#88HSTB EL,P8255C ;位選LDB DL,#03H ;段選 STB DL,P8255A LCALL DELAY2 DJNZ YDYX2,PT11LDB AL,#82H

20、 ;PB口輸入,PA,PC口輸出 STB AL,C82550 LDB AL,#08H ;使PC3置1 STB AL,P8255C LDBAL,#08H LCALL RD_KB ;讀鍵子程序 JBS AL,4,HSI152 ;等待 LCALL DISP HSI152:LD YDYX1,#002FH PT2: LD YDYX2,#0FFFFHPT22: LDB EL,#48HSTB EL,P8255C ;位選LDB DL,#01H ;段選 STB DL,P8255A LDB EL,#0A8HSTB EL,P8255C ;位選LDB DL,#01H ;段選 STB DL,P8255ADJNZ YDYX2,PT22DJNZYDYX1,PT2LDB A

溫馨提示

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

最新文檔

評論

0/150

提交評論