新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机秒表课程设计

单片机秒表课程设计

作者: 时间: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 ;循环左移
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、 还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。
6、 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。
7、 该实验的程序可以参考DVCC系列微机仿真实验系统实验指导书中的串并转换实验,也可自己根据自己熟悉的方法来编程。
8、 在设计控制开关时,注意2个中断的打开和关闭的先后顺序,否则就会出错。
9、 这次的课程设计重点是理论与实际的相结合。不再只读书了。
10、 该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。

此设计完毕!!

-------------------------------------------------------
下面提供一个程序(供参考的)
;开机初始化
MOV P3,#0FFH;对P3口初始化,设置为高电平,用于
MOV P0,#0FFH;使显示时间数码管熄灭
CLR F0
CLR F1
MOV DPTR,#NUMTAB ;指定查表启始地址
;等待
;根据按键的输入判断执行什么功能

;按键1按下则执行功能1
MOV P3,#0FFH;对P3口初始化,设置为高电平,用于
MOV P0,#0FFH;使显示时间数码管熄灭
START:JB P3.6,START1;循环判断开始按钮K1是否按下?
ACALL DELAY10;延时10毫秒触点消抖
JB P3.6,START;如果是干扰就返回
JNB P3.6,$;等待按键松开
LJMP GN1

;按键2按下则执行功能2

START1: JB P3.7,START;循环判断开始按钮K2是否按下?
ACALL DELAY10;延时10毫秒触点消抖
JB P3.7,START1;如果是干扰就返回
JNB P3.7,$
LJMP GN2



评论


相关推荐

技术专区

关闭