单片机实验四报告 60S倒计时实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

三、实验结果

相关文档
最新文档