新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機秒表課程設計

單片機秒表課程設計

作者: 時間:2013-03-12 來源:網絡 收藏

;***********************************************************
; 暫停鍵K3,快加鍵K4程序
;***********************************************************
here:jb p1.0,here
show:clr tr1
clr tr0
acall xianshi
kuaijia:jb p1.2,kuaijia ;等待P1.2為0 快加
clr tr0
setb tr1
here3:jnb p1.2,here3
ajmp here
;***********************************************************
; 外部中斷INT0子程序-----計時按鍵K1子程序
;***********************************************************
zhongduan0: setb tr0 ;計時按鍵
reti
;***********************************************************
; 外部中斷INT1子程序----復位按鍵K2子程序
;***********************************************************
zhongduan1:clr tr0 ;復位按鍵
clr tr1
mov 12h,#00h
mov 11h,#00h
acall xianshi ;調用顯示子程序
mov r1,#00h
mov r2,#00h
reti
;***********************************************************
; 加一子程序
;***********************************************************
jia1: inc r1 ;加1子程序
cjne r1,#0ah ,loop ;判斷是否到表尾
mov r1,#00h
inc r2
cjne r2,#0ah,loop
mov r2,#00h
loop: mov 12h,r1 ;重新賦值
mov 11h,r2
ret
;***********************************************************
; 顯示子程序
;***********************************************************
xianshi:mov r7,#02h ;2個數碼管顯示子程序
mov r0,#12h
loop5: mov r6,#08h ;8位2進制數
mov a,@r0
movc a,@a+dptr
loop6:rlc a ;循環(huán)左移
clr p3.1
mov p3.0,c
setb p3.1
djnz r6,loop6
dec r0
djnz r7,loop5
ret
;***********************************************************
; 定時器T0子程序
;***********************************************************
yanshi: mov tl0,#2Ch ;定時子程序
mov th0,#0CFh
djnz r3,loop7
acall jia1 ;調用加1子程序
acall xianshi ;調用顯示子程序
mov r3,#40
loop7: reti
;***********************************************************
;定時器T1子程序
;***********************************************************
dingshi1:mov tl1,#78h ;置初值,定時10MS
mov th1,#0ech
clr tr0
setb tr1
mov 12h,r1
mov 11h,r2
jnb p1.0,show
acall jia1
acall xianshi
lop7:reti
;***********************************************************
tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh
end

十一、課程設計心得體會
1、 認真審題,看懂題目的要求!選擇適當的課題,不益太簡單或者太難。做到既能把課題完成又能鍛煉自己的能力!
2、 根據課題要求,復習相關的知識,查詢相關的資料。
3、 根據實驗條件,找到適合的方案,找到需要的元器件及工具,準備實驗。
4、 根據課程設計的要求和自己所要增加的功能寫好程序流程圖,在程序流程圖的基礎上,根據芯片的功能寫出相應的程序。然后再進行程序調試和相應的修改,以達到能夠實現所要求的功能的目的。
5、 還要根據實驗的實際情況,添加些額外程序來使系統(tǒng)更加的穩(wěn)定,如開關的消震蕩(采用延遲)。
6、 程序要盡量做到由各個子程序組成,在有些程序后面最好加注釋,這樣在程序出錯的檢查過程中可以更容易查找的到,也更簡潔,更明白易懂。
7、 該實驗的程序可以參考DVCC系列微機仿真實驗系統(tǒng)實驗指導書中的串并轉換實驗,也可自己根據自己熟悉的方法來編程。
8、 在設計控制開關時,注意2個中斷的打開和關閉的先后順序,否則就會出錯。
9、 這次的課程設計重點是理論與實際的相結合。不再只讀書了。
10、 該設計從頭到尾都要自己參與,熟悉了對整個設計的過程,更系統(tǒng)的鍛煉了自己。

此設計完畢??!

-------------------------------------------------------
下面提供一個程序(供參考的)
;開機初始化
MOV P3,#0FFH;對P3口初始化,設置為高電平,用于
MOV P0,#0FFH;使顯示時間數碼管熄滅
CLR F0
CLR F1
MOV DPTR,#NUMTAB ;指定查表啟始地址
;等待
;根據按鍵的輸入判斷執(zhí)行什么功能

;按鍵1按下則執(zhí)行功能1
MOV P3,#0FFH;對P3口初始化,設置為高電平,用于
MOV P0,#0FFH;使顯示時間數碼管熄滅
START:JB P3.6,START1;循環(huán)判斷開始按鈕K1是否按下?
ACALL DELAY10;延時10毫秒觸點消抖
JB P3.6,START;如果是干擾就返回
JNB P3.6,$;等待按鍵松開
LJMP GN1

;按鍵2按下則執(zhí)行功能2

START1: JB P3.7,START;循環(huán)判斷開始按鈕K2是否按下?
ACALL DELAY10;延時10毫秒觸點消抖
JB P3.7,START1;如果是干擾就返回
JNB P3.7,$
LJMP GN2



評論


相關推薦

技術專區(qū)

關閉