用汇编语言编写的秒表计时器

  • 格式:docx
  • 大小:10.54 KB
  • 文档页数:7

实验报告十
课程名称:微机原理与接口技术指导老师:李素敏
学生姓冬:向春霞学号:1243013专业:通信工程日期:6月地点:理工603
实验九矩阵键盘检测
一、实验目的和要求
1.掌握利用单片机定时器实现定时。

2.熟悉单片机与数码管的接口技术及数码管动态显示的控制过程。

3.熟悉单片机与键盘的接口技术及按键识别过程。

4.学会如何编制含数码管显示,定时器中断及按键控制等多种功能的综合程序,体会大型程序的编制和调试技巧。

>
二、主要仪器设备
电脑,Keil软件
三、实验内容
1、实验要求:
要求其实现的功能如下(其中定时要求采取中断方式):
(1)、用6位数码管显示秒表时间,最左边2位显示分,中间2位显示秒,最右边2位显示秒的小数位(~秒),秒与小数位之间要显示小数点。

(2)、两个按键:
①计时/停止按键:首次按下从0开始计时,再次按下暂停计时,之后每次按
下按键实现'继续计时、暂停计时,继续计时、暂停计时……'。

(继续计时即从上次暂停时的时间开始继续计时)
②复位按键:按下后全部清0,等待下次按下'计时/停止按键’时重新开始计时。

2.设计思路:
(1)、采用内部脉冲定时,实现计时,最低显示位为10ms记一次数显示一次,即一秒。

100个10ms是1秒,所以当低位计满100次,(当50H为10时,把50H 单元清零,向51H进1)即得到秒计时,然后把51H单元清零,给52H单元加1•
当52H为10时,清零,给53H加1,当53H为6时秒计时达到60次,则向分计时,即给54H加1,再给53H清零,当54H计满10时,清零,给55H加4 直到55H为6时给55H清零。

50H z51H放最低位计数
52-53H放秒位次数
54-55H放分位计数
(2)、S2键,用扫描
S2:当为低电平时,让TR0为0,即暂停计数。

当再次为低电平时继续计•数, 让TR0=l.
(3)、S3键,T1计数模式实现中断响应,复位按键
S3:当F0为0时,给50-55H单元清零;然后按S2开始计数
3.源程序:
ORG 0000H
AJMP MAIN
ORG 000BH
LJMPTIME ;定时
ORG 001BH
LJMPS3 ;暂停
ORG 0030H
MAIN:
CLR A
MOV 50H,A ;最低位次数
MOV51H,A
MOV 52H,A ;秒位次数
MOV 53H,A
MOV 54H,A ;分位计数
MOV 55H,A
DS1:MOV TMOD,#61H ;定时0模式计数1模式2 MOV TH0,#0D8H ;初值定时10ms
MOVTLO,#OFOH
MOVTH1,#OFFH ;初值,溢出中断
MOVTL1,#OFFH
SETB EA
SETB ET1
SETB ETO
SETB TRO
SETB TRI
XS: MOV Rl,#50H
MOV R2,#ODFH
MOV R3,#2
MOV R4,#4
JNB’STOP
AJMP NEXT
¥
STOP:CPL TRO
WAIT:JB,NEXT
SJMP WAIT
NEXT:MOV A,@R1
INCR1
MOV DPTR,#DUAN
MOVC A,@A+DPTR
SETB
MOV PO,A
CLR
SETB
MOV A,R2
MOV PO,A
CLR ;位选置位
MOV A,R2
RR A
MOV R2,A
LCALL DEL
DJNZ R3,NEXT
XSD: MOV DPTR,#XDUAN
$
MOV A,(a)Rl
MOVC A,@A+DPTR SETB
MOV PO,A
CLR
SETB
MOV A,R2
MOV PO,A
CLR ;位选置位
MOV A,R2
RR A
LCALL DEL AGA:MOV A,@R1
INCR1
MOV DPTR,#DUAN
MOVC A,@A+DPTR
SETB
MOV PO,A
CLR
SETB
MOV A,R2
MOV PO,A
CLR ;位选置位
MOV A,R2
RR A
MOV R2,A
LCALL DEL
DJNZ R4,AGA
LJMPXS
TIME:MOV TH0,#0D8H
MOV TLO,#OFOH
INC50H
MOV A,5OH
CJNE A,#1O,RETUNT
MOV 50H,#00H
INC51H
MOV A,51H
CJNE A,#1O?RETUNT
MOV 51H,#OOH
INC52H
MOV A,52H
CJNE A,#1O Z RETUNT
MOV 52H,#00H
INC53H
MOV A,53H ;定时中

;50H满10给51H单元+1 ;51H满10给52H单元+1
;52H满10给53H单元+1
CJNE A,#6,RETUNT
MOV 53H,#OOH
INC54H
MOV A,54H
CJNE A,#1O,RETUNT
MOV 54H,#00H
INC55H
MOV A,55H
CJNE A,#6,RETUNT
MOV 55H,#OOH RETUNT:RETI ;53H满10给54H单元+1 ;54H满10给55H单元+1
S3:CLRTR0
CLR A
MOV 50H,A ;最低位次

MOV51H,A
MOV 52H,A ;秒位次数
MOV 53H,A
MOV 54H,A ;分位计数
MOV 55H,A
RETI
DEL:MOV R6,#2 涎时1ms DEL1:MOV R7,#248
NOP
DEL2:DJNZR7,DEL2
DJNZR6,DEL1
RET
DUAN:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段选地址表XDUAN:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH 段码;带小数点的
END。