哪位帮忙解析单片机数字时钟设计汇编源程序

来源:百度知道 编辑:UC知道 时间:2024/06/15 07:51:31
AJMP MAIN

ORG 03H
MOV P3,#0FFH
AJMP AJ2
RETI

ORG 13H
MOV P3,#0FFH
AJMP AJ1
RETI

ORG 1BH
MOV TH1,#0ECH
MOV TL1,#78H
DJNZ R6,BACK
MOV R6,#200

AJ: MOV R0,#35H ;秒
INC @R0
CJNE @R0,#10,$+3
JC BACK
MOV @R0,#0
MOV R0,#34H
INC @R0
CJNE @R0,#6,$+3
JC BACK
MOV @R0,#0

AJ1: MOV R0,#33H ;分
INC @R0
CJNE @R0,#10,$+3
JC BACK
MOV @R0,#0
MOV R0,#32H
INC @R0
CJNE @R0,#6,$+3
JC BACK
MOV @R0,#0

AJ2: MOV R0,#31H ;时
INC @R0
CJNE @R0,#4,$+3
JC BA

AJMP MAIN

ORG 03H ;程序起始地址
MOV P3,#0FFH;往P3口送0FF这个数,也就是11111111嘛
AJMP AJ2;调用AJ2这个子程序
RETI;返回

ORG 13H
MOV P3,#0FFH
AJMP AJ1
RETI

ORG 1BH
MOV TH1,#0ECH;给定时器的高4位赋值
MOV TL1,#78H;给定时器的低4位赋值
DJNZ R6,BACK;R6中的值减1后与比,相等就往下,不等就转到BACK去执行
MOV R6,#200;给R6的值是200

AJ: MOV R0,#35H ;秒
INC @R0
CJNE @R0,#10,$+3
JC BACK
MOV @R0,#0
MOV R0,#34H
INC @R0
CJNE @R0,#6,$+3
JC BACK
MOV @R0,#0

AJ1: MOV R0,#33H ;分
INC @R0
CJNE @R0,#10,$+3
JC BACK
MOV @R0,#0
MOV R0,#32H
INC @R0
CJNE @R0,#6,$+3
JC BACK
MOV @R0,#0

A