单片机实验四报告 60S倒计时实验
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 60S倒计时实验
一、实验目的:
1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。
2.用PROTEUS 设计,仿真基于AT89C51单片机的60S倒计时实验。
二、实验代码:
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP RUN
ORG 0030H
MAIN:MOV R2,#0
MOV R1,#0
MOV R0,#0
MOV TMOD,#01H ;设置定时器工作方式
MOV TL0,#0B0H
MOV TH0,#3CH
MOV IE,#82H
SETB TR0
MOV R0,#14H
DISP:
MOV A,R1 ;R1=0
MOV DPTR,#TAB1 ;十位
MOV P2,#01H
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
MOV A,R2 ;R2=0
MOV DPTR,#TAB ;个位
MOV P2,#02H
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
LJMP DISP
RUN:DJNZ R0,NEXT
MOV R0,#14H
CJNE R2,#0,RUN1
INC R1
INC R2
RETI
RUN1:INC R2
CJNE R2,#10,RUN2
MOV R2,#0
RETI
RUN2:RETI
NEXT:MOV TL0,#0B0H
MOV TH0,#3CH
RETI
DELAY: MOV R6,#250 ;用作动态显示的延时DL0:MOV R5,#4
DJNZ R5,$
DJNZ R6,DL0
RET
TAB:DB 0c0H,90H,80H,0F8H,82H ;个位数表DB 92H,99H,0B0H,0A4H,0f9H
TAB1:DB 82H,92H,99H,0B0H,0A4H,0f9H,0c0H ;十位数表
END
三、实验结果