60S倒计时实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四 60S倒计时实验
一、实验目的:
1.通过AT89C51的定时器实现60S倒计时,显示采用两位数码管动态显示。
2.用PROTEUS 设计,仿真基于AT89C51单片机的60S倒计时实验。
二、PROTEUS电路设计:
三、实验仪器和设备
PC机、PROTEUS软件或W-A-51综合开发学习板
四、源程序设计:
1.程序
ORG 0000H
AJMP MAIN
AJMP T0INT
ORG 0030H
MAIN:
MOV TMOD,#01H ;工作方式1
MOV TH0,#3CH
MOV TL0,#0B0H ;初始值15536,50MS一中断MOV R0,#20 ;20次为1S
MOV R4,#60 ;60S开始倒计时
SETB EA ;开中断
SETB ET0 ;中断允许
SETB TR0 ;定时器T0开始计算
MOV DPTR,#TABLE
MAIN1:
ACALL DISP
AJMP MAIN1
DISP:
MOV A,R4
MOV B,#10
DIV AB ;当前值除以10
MOV 20H,A ;得出的商送给十位
MOV 21H,B ;得出的余数送给个位
MOV A,20H ;十位显示
MOVC A,@A+DPTR
MOV P1,A
SETB P2.0
LCALL DELAY
CLR P2.0
MOV A,21H ;个位显示
MOVC A,@A+DPTR
MOV P1,A
SETB P2.1
LCALL DELAY
CLR P2.1
RET
T0INT:
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R0,RTI
DEC R4
CJNE R4,#0,RTI
MOV R4,#60
RTI:
RETI
DELAY: ;延时1S
MOV R6,#10
DL0:
MOV R5,#50
DJNZ R5,$
DJNZ R6,DL0
RET
TABLE:
DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H END