level 11
ORG 0000H
LJMP MAIN ;主程序
ORG 000BH ;定时器T0中断处理入口地址
LJMP TLOOP ;转中断服务子程序
ORG 0100H
MAIN:MOV SP,#60H ;堆栈
MOV 34H,A ;
MOV 32H,#23 ;小时,初始值
MOV 31H,#59 ;分钟,初始值
MOV 30H,#29 ;秒,初始值学号29
MOV TH0,#3CH ;T0高8位初值216
MOV TL0,#0B0H ;T0低8位初值240
MOV TMOD,#1 ;定时器0,方式1
MOV IE,#82H
SETB TR0
START1: LCALL Display
JNB F0,$
CLR F0
SJMP START1
TLOOP:MOV TL0,#0B0H
MOV TH0, #3CH
PUSH 01H
MOV R1,#34H
INC @R1
CJNE @R1,#20, EXIT ;50ms单元34H=20,续一秒
MOV @R1,#0 ;34H恢复初值
DEC R1
INC @R1 ;续一秒
CJNE @R1,#60,EXIT1
MOV @R1,#0
DEC R1
INC @R1 ;分加一
CJNE @R1,#60,EXIT1
MOV @R1,#0
DEC R1
INC @R1 ;时加一
CJNE @R1,#24,EXIT1
MOV @R1,#0
EXIT1:SETB F0
EXIT:POP 01H
RETI
SUB:MOV B,#10
DIV AB ;除法
MOV @R0,B
INC RO
MOV @R0,A
INC RO
RET
2021年06月22日 02点06分
5
你艾特我干哈
2021年06月22日 06点06分
@r1 不好意思,学校电脑没qq,直接拿贴吧备份单片机程序了
2021年06月22日 06点06分
level 11
ORG 0000H
LJMP MAIN ;主程序
ORG 000BH ;定时器T0中断处理入口地址
LJMP TLOOP ;转中断服务子程序
ORG 0100H
MAIN:MOV SP,#60H ;堆栈
MOV 34H,A ;
MOV 32H,#23 ;小时,初始值
MOV 31H,#59 ;分钟,初始值
MOV 30H,#29 ;秒,初始值学号29
MOV TH0,#3CH ;T0高8位初值216
MOV TL0,#0B0H ;T0低8位初值240
MOV TMOD,#1 ;定时器0,方式1
MOV IE,#82H
SETB TR0
START1: LCALL Display
JNB F0,$
CLR F0
SJMP START1
TLOOP:MOV TL0,#0B0H
MOV TH0,#3CH
PUSH 01H
MOV R1,#34H
INC @R1
CJNE @R1,#20, EXIT ;50ms单元34H=20,续一秒
MOV @R1,#0 ;34H恢复初值
DEC R1
INC @R1 ;续一秒
CJNE @R1,#60,EXIT1
MOV @R1,#0
DEC R1
INC @R1 ;分加一
CJNE @R1,#60,EXIT1
MOV @R1,#0
DEC R1
INC @R1 ;时加一
CJNE @R1,#24,EXIT1
MOV @R1,#0
EXIT1:SETB F0
EXIT:POP 01H
RETI
SUB:MOV B,#10
DIV AB ;除法
MOV @R0,B
INC RO
MOV @R0,A
INC RO
RET
Display:MOV R0,#35H
MOV A,30H
ACALL SUB
MOV @R0,#11H ;第三位显示“-”
INC R0
MOV A,31H
ACALL SUB
MOV @R0,#11H ;第六位显示“-”
INC RO
MOV A,32H
ACALL SUB
MOV R0,#35H
LCALL Display8
RET
END
2021年06月22日 02点06分
7
level 11
ORG 0000H
LJMP MAIN ;主程序
ORG 000BH ;定时器T0中断处理入口地址
LJMP TLOOP ;转中断服务子程序
ORG 0100H
MAIN:MOV SP,#60H ;堆栈
MOV 34H,A ;
MOV 32H,#23 ;小时,初始值
MOV 31H,#59 ;分钟,初始值
MOV 30H,#29 ;秒,初始值学号29
MOV TH0,#3CH ;T0高8位初值216
MOV TL0,#0B0H ;T0低8位初值240
MOV TMOD,#1 ;定时器0,方式1
MOV IE,#82H
SETB TR0
START1: LCALL Display
JNB F0,$
CLR F0
SJMP START1
TLOOP:MOV TL0,#0B0H
MOV TH0,#3CH
PUSH 01H
MOV R1,#34H
INC @R1
CJNE @R1,#20, EXIT ;50ms单元34H=20,续一秒
MOV @R1,#0 ;34H恢复初值
DEC R1
INC @R1 ;续一秒
CJNE @R1,#60,EXIT1
MOV @R1,#0
DEC R1
INC @R1 ;分加一
CJNE @R1,#60,EXIT1
MOV @R1,#0
DEC R1
INC @R1 ;时加一
CJNE @R1,#24,EXIT1
MOV @R1,#0
EXIT1:SETB F0
EXIT:POP 01H
RETI
SUB:MOV B,#10
DIV AB ;除法
MOV @R0,B
INC R0
MOV @R0,A
INC R0
RET
Display:MOV R0,#35H
MOV A,30H
ACALL SUB
MOV @R0,#11H ;第三位显示“-”
INC R0
MOV A,31H
ACALL SUB
MOV @R0,#11H ;第六位显示“-”
INC R0
MOV A,32H
ACALL SUB
MOV R0,#35H
LCALL Display
RET
END
2021年06月22日 06点06分
8
level 11
EXTRN CODE(Display8) ;调用数据库
ORG 0000H
LJMP MAIN
ORG 000BH ;中断入口地址
LJMP TTT0
ORG 0100H ;主程序入口地址
MAIN: MOV R4, #25 ;循环次数
MOV 31H, #23 ;小时
MOV 32H, #59 ;分钟
MOV 33H, #53 ;秒
CLR F0 ;刷新标志位清零
MOV TMOD,#01H ;启动定时器0方式1
MOV TH0,#63H ;设定初值
MOV TL0,#0C0H ;(65536-x)*1us=40ms
SETB ET0 ;启动T0中断
SETB EA ;开总允许位
SETB TR0 ;启动定时器0
LOOP0: JNB F0,LOOP0 ;偏移量为0转移
CLR F0
LCALL SUB
LCALL DISPLAY8 ;显示数据
SJMP LOOP0
SUB: MOV 37H,#11H
MOV 3AH,#11H
MOV B,#10
MOV A,33H
DIV AB
MOV 36H,A ;商
MOV 35H,B ;余数
MOV B,#10
MOV A,32H
DIV AB
MOV 39H,A
MOV 38H,B
MOV B,#10
MOV A,31H
DIV AB
MOV 3CH,A
MOV 3BH,B
RET
TTT0: MOV TH0,#63H
MOV TL0,#0C0H
DJNZ R4,RETT ;减1不为0转移
MOV R4,#25
INC 33H ;秒加1
MOV A,33H
CJNE A,#60,LOOP1 ;不相同转移
MOV 33H,#00H
INC 32H ;分加1
MOV A,32H
CJNE A,#60,LOOP1
MOV 32H,#00H
INC 31H ;时加1
MOV A,31H
CJNE A,#24,LOOP1
MOV 31H,#00H ;时清0
LOOP1: SETB F0 ;F0=1
RETT: RETI ;返回中断
END
2021年06月23日 01点06分
9