單片機技術(shù)課程設(shè)計電子秒表的設(shè)計_第1頁
單片機技術(shù)課程設(shè)計電子秒表的設(shè)計_第2頁
單片機技術(shù)課程設(shè)計電子秒表的設(shè)計_第3頁
單片機技術(shù)課程設(shè)計電子秒表的設(shè)計_第4頁
單片機技術(shù)課程設(shè)計電子秒表的設(shè)計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北 華 航 天 工 業(yè) 學(xué) 院課程設(shè)計報告 實踐課程名稱: 單片機技術(shù)課程設(shè)計 實 踐 地 點: 單片機實驗室(7209) 專 業(yè) 班 級: 自動化b08222 姓 名: 學(xué) 號: 指 導(dǎo) 教 師: 完 成 時 間: 2011 年 4 月 22 日北華航天工業(yè)學(xué)院電子工程系課程設(shè)計任務(wù)書姓 名:專 業(yè):自動化班 級:指導(dǎo)教師:職 稱:副教授課程設(shè)計題目:電子秒表的設(shè)計主要課程支撐:模擬電子技術(shù)、數(shù)字電子技術(shù)、微機原理與接口技術(shù)實踐目標(biāo):1 熟練掌握單片機匯編指令的使用方法2 熟練掌握行列式鍵盤、led顯示器的控制與管理方法3 掌握a/d、/d/a的應(yīng)用4掌握單片機應(yīng)用系統(tǒng)設(shè)計方法、軟硬件調(diào)試方

2、法5熟練使用單片機仿真軟件基本要求:1.設(shè)計任務(wù)及要求。(1)設(shè)計電子秒表,精度為0.01秒(2)具有啟動、停止、清零功能(3)每到1秒蜂鳴提示,此功能可關(guān)閉。(4)鍵盤按鍵啟動、停止秒表計數(shù)2編程實現(xiàn)題目要求的基本功能,程序運行通過。3撰寫課程實踐報告(設(shè)計思路、實現(xiàn)方法、硬件資源分配、程序流程圖、運行結(jié)果分析等),要求用a4紙打印實踐報告。所需儀器設(shè)備:偉福lab6000綜合實驗仿真系統(tǒng)一臺套微機一臺成果驗收形式:程序上機運行參考文獻:lab6000綜合實驗仿真系統(tǒng)說明書時間安排(1) 7-8周:選題、方案設(shè)計(2) 第9周開始上機調(diào)試程序(3) 最后一次上機課題驗收(4) 第10周上交實

3、踐報告指導(dǎo)教師: 教研室主任: 2011年 4 月22日課程設(shè)計報告一、功能分析16位led: 595999分秒1/10秒1/100秒2按鍵啟動、停止秒表計數(shù),可以清零。二、硬件設(shè)計1. 硬件電路圖 2. 元器件清單 偉福lab6000綜合實驗仿真系統(tǒng)一臺套;微機一臺;導(dǎo)線若干三、程序設(shè)計1.程序:outbit equ 08002h ; 位控制口outseg equ 08004h ; 段控制口in equ 08001h ; 鍵盤讀入口ledbuf equ 60h ; 顯示緩沖hour equ 40hminute equ 41hsecond equ 42hc100us equ 43hspeake

4、r equ p1.2tick equ 200t100us equ 256-50 ljmp start org 000bh ljmp t0intt0int: push psw push acc mov a, c100us+1 jnz goon0 dec c100usgoon0: dec c100us+1 mov a, c100us orl a, c100us+1 jnz exit mov c100us, #high(tick) mov c100us+1, #low(tick) inc second mov a, second cjne a, #60, exit mov second, #0 in

5、c minute call lightup mov a, minute cjne a, #60, exit mov minute, #0 inc hour mov a, hour cjne a, #24, exit mov hour, #0exit: pop acc pop psw retidelay: mov r7, #0delayloop: djnz r7, delayloop djnz r6, delayloop rettestkey: mov dptr, #outbit mov a, #0 movx dptr, a ; 輸出線置為0 mov dptr, #in movx a, dptr

6、 ; 讀入鍵狀態(tài) cpl a anl a, #0fh ; 高四位不用 retkeytable: ; 鍵碼定義 db 16h, 15h, 14h, 0ffh db 13h, 12h, 11h, 10h db 0dh, 0ch, 0bh, 0ah db 0eh, 03h, 06h, 09h db 0fh, 02h, 05h, 08h db 00h, 01h, 04h, 07hgetkey: mov dptr, #outbit mov p2, dph mov r0, #low(in) mov r1, #00100000b mov r2, #6kloop: mov a, r1 ; 找出鍵所在列 cpl

7、 a movx dptr, a cpl a rr a mov r1, a ; 下一列 movx a, r0 cpl a anl a, #0fh jnz goon1 ; 該列有鍵入 djnz r2, kloop mov r2, #0ffh ; 沒有鍵按下, 返回 0ffh sjmp exit3goon1: mov r1, a ; 鍵值 = 列 x 4 + 行 mov a, r2 dec a rl a rl a mov r2, a ; r2 = (r2-1)*4 mov a, r1 ; r1中為讀入的行值 mov r1, #4loopc: rrc a ; 移位找出所在行 jc exit3 inc

8、r2 ; r2 = r2+ 行值 djnz r1, loopcexit3: mov a, r2 ; 取出鍵碼 mov dptr, #keytable movc a, a+dptr mov r2, awaitrelease: mov dptr, #outbit ; 等鍵釋放 clr a movx dptr, a mov r6, #10 call delay call testkey jnz waitrelease mov a, r2 retledmap: ; 八段管顯示碼 db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7c

9、h, 39h, 5eh, 79h, 71hdisplayled: mov r0, #ledbuf mov r1, #6 ; 共6個八段管 mov r2, #00100000b ; 從左邊開始顯示loop: mov dptr, #outbit mov a, #0 movx dptr, a ; 關(guān)所有八段管 mov a, r0 mov dptr, #outseg movx dptr,a mov dptr, #outbit mov a, r2 movx dptr, a ; 顯示一位八段管 mov r6, #1 call delay mov a, r2 ; 顯示下一位 rr a mov r2, a i

10、nc r0 djnz r1, loop retlightup: jb p1.3,lightstop setb speaker mov b,#0ffhlightdelay: nop nop djnz b,lightdelay clr speakerlightstop: rettoled: mov dptr, #ledmap movc a, a+dptr retstart: mov ledbuf+0, #07ch mov ledbuf+1, #03fh mov ledbuf+2, #07fh mov ledbuf+3, #05bh mov ledbuf+4, #05bh mov ledbuf+5,

11、 #05bh call displayled call testkey jz start call getkey cjne a,#0ah,startstart1: mov tmod, #02h ; 模式2, 定時器 mov th0, #t100us mov tl0, #t100us mov ie, #10000010b mov hour, #0 mov minute, #0 mov second, #0 mov c100us, #high(tick) mov c100us+1, #low(tick) setb tr0main: jb p1.0,stop jb p1.1,clear callte

12、stkey call getkey movb,a xrla,#0bh jz stop0 mov a,b cjne a,#0ch,main2 ljmp clear0main2:mov a, hour mov b, #10 div ab call toled mov ledbuf, a mov a, b call toled orl a, #80h mov ledbuf+1, a mov a, minute mov b, #10 div ab call toled mov ledbuf+2, a mov a, b call toled orl a, #80h mov ledbuf+3, a mov

13、 a, second mov b, #10 div ab call toled mov ledbuf+4, a mov a, b call toled mov ledbuf+5, a call displayled ljmp mainstop:mov ie,#00000000b calldisplayled jb p1.0,stop movie,#10000010b jnb p1.0,main2stop0:movie,#00000000bcall displayled call testkey call getkey mov b,a xrl a,#0ch jz clear0 mova,b cj

14、ne a,#0bh,stop0 mov ie,#10000010b jmp main2clear:mov ledbuf+0, #03fh mov ledbuf+1, #03fh mov ledbuf+2, #03fh mov ledbuf+3, #03fh mov ledbuf+4, #03fh mov ledbuf+5, #03fh mov hour, #0 mov minute, #0 mov second, #0 call displayled jb p1.1,clear ljmp main2clear0:mov ledbuf+0, #03fh mov ledbuf+1, #03fh m

15、ov ledbuf+2, #03fh mov ledbuf+3, #03fh mov ledbuf+4, #03fh mov ledbuf+5, #03fh mov hour, #0 mov minute, #0 mov second, #0 call displayled call testkey jz clear0 lcall getkey xrl a,#0ah cjne a,#0,clear0 ljmp start end 2.硬件連接分配由實驗箱上的接線cs0接到鍵盤顯示,我們可以得到段口,位口,列口及位口的地址。因為實驗箱的接線中,列口和位口共用一個地址口,所以程序的端口說明就聲明了

16、三個地址。四、軟硬件調(diào)試 首先按照硬件連接圖接線,連線完畢之后打開實驗箱電源,在偉福6000里選擇模擬器選項仿真器仿真器設(shè)置,選擇相應(yīng)的參數(shù),點擊確定。打開程序,點擊編譯,再點擊運行,之后在試驗箱上進行硬件性能測試。五、設(shè)計分析總結(jié)為期一周的單片機課設(shè)已經(jīng)結(jié)束了,在本次單片機課程中我組成員基本完成了應(yīng)用mc51單片機和wave6000設(shè)計單片的任務(wù),并且在原有要求上進行了一定的功能強化和改進。在初期,由于大家對單片機的了解并不是很深入,我們陷入了各種迷茫與困惑之中,雖然每天都有新的進展,但是進程緩慢,漏洞百出,經(jīng)常是拆了東墻補西墻,在進行了單片機定時器和中斷知識的進一步強化學(xué)習(xí)之后,我們組的進展明顯加快,尤其是在老師的指導(dǎo)下,一些難以理解東西漸漸明朗,理清思路的我們在課設(shè)時間約一半的時候,順利的完成了我們的課設(shè)要求。在

溫馨提示

  • 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

提交評論