📄 ex5-4.lst
字号:
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 1
MCS-51 Family Cross Assembler A S E M - 5 1 V 1.2
=====================================================
Source File: EX5-4.ASM
Object File: EX5-4.HEX
List File: EX5-4.LST
Line I Addr Code Source
1: N 0000 ORG 0000H ;复位入口
2: 0000 02 00 1E LJMP MAIN ;转到主程序
3: N 000B ORG 000BH ;T0中断入口
4: 000B 02 00 3E LJMP TT0 ;转到T0中断服务程序
5: N 001E ORG 0030 ;主程序入口
6: 001E 75 81 60 MAIN: MOV SP,#60H ;设置堆栈指针
7: 0021 75 20 0A MOV 20H,#0AH ;设置中断次数
8: 0024 75 30 00 MOV 30H,#00H ;时、分、秒单元清0
9: 0027 75 31 00 MOV 31H,#00H
10: 002A 75 32 00 MOV 32H,#00H
11: 002D 75 89 01 MOV TMOD,#01H ;设置T0工作方式
12: 0030 75 8C 3C MOV TH0,#3CH ;装入T0初值
13: 0033 75 8A B0 MOV TL0,#0B0H
14: 0036 D2 8C SETB TR0 ;启动T0
15: 0038 D2 AF SETB EA ;开中断
16: 003A D2 A9 SETB ET0 ;允许T0中断
17: 003C 80 FE SJMP $ ;等待中断
18: 003E C0 D0 TT0: PUSH PSW ;保护现场
19: 0040 C0 E0 PUSH ACC
20: 0042 75 8C 3C MOV TH0,#3CH ;重装T0初值
21: 0045 75 8A B0 MOV TL0,#0B0H
22: 0048 D5 20 33 DJNZ 20H,RT ;1秒定时未到,返回
23: 004B 75 20 0A MOV 20H,#0AH ;重置中断次数
24: 004E 74 01 MOV A,#01H
25: 0050 25 32 ADD A,32H ;秒单元加1
26: 0052 D4 DA A ;十进制调整
27: 0053 F5 32 MOV 32H,A ;转换为BCD码
28: 0055 B2 90 CPL P1.0
29: 0057 B4 60 24 CJNE A,#60H,RT ;未到60秒,返回
30: 005A 75 32 00 MOV 32H,#00H ;到60秒,秒单元清0
31: 005D 74 01 MOV A,#01H
32: 005F 25 31 ADD A,31H ;分单元加1
33: 0061 D4 DA A ;十进制调整
34: 0062 F5 31 MOV 31H,A ;转换为BCD码
35: 0064 B2 92 CPL P1.2
36: 0066 B4 60 15 CJNE A,#60H,RT ;未到60分,返回
37: 0069 75 31 00 MOV 31H,#00H ;到60分,分单元清0
38: 006C 74 01 MOV A,#01H
39: 006E 25 30 ADD A,30H ;时单元加1
40: 0070 D4 DA A ;十进制调整
41: 0071 F5 30 MOV 30H,A ;转换为BCD码
42: 0073 B2 94 CPL P1.4
43: 0075 B4 24 06 CJNE A,#24H,RT ;未到24小时,返回
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 2
Line I Addr Code Source
44: 0078 75 30 00 MOV 30H,#00H ;到24小时,时单元清0
45: 007B 75 90 00 MOV P1,#00H
46: 007E D0 E0 RT: POP ACC ;恢复现场
47: 0080 D0 D0 POP PSW
48: 0082 32 RETI ;中断返回
49: END
register banks used: ---
no errors
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 3
L I S T O F S Y M B O L S
=============================
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
AC BIT D6
ACC DATA E0
B DATA F0
CY BIT D7
DPH DATA 83
DPL DATA 82
EA BIT AF
ES BIT AC
ET0 BIT A9
ET1 BIT AB
EX0 BIT A8
EX1 BIT AA
EXTI0 CODE 0003
EXTI1 CODE 0013
F0 BIT D5
IE DATA A8
IE0 BIT 89
IE1 BIT 8B
INT0 BIT B2
INT1 BIT B3
IP DATA B8
IT0 BIT 88
IT1 BIT 8A
MAIN CODE 001E 6
OV BIT D2
P BIT D0
P0 DATA 80
P1 DATA 90
P2 DATA A0
P3 DATA B0
PCON DATA 87
PS BIT BC
PSW DATA D0
PT0 BIT B9
PT1 BIT BB
PX0 BIT B8
PX1 BIT BA
RB8 BIT 9A
RD BIT B7
REN BIT 9C
RESET CODE 0000
RI BIT 98
RS0 BIT D3
RS1 BIT D4
RT CODE 007E 46
RXD BIT B0
SBUF DATA 99
SCON DATA 98
SINT CODE 0023
SM0 BIT 9F
ASEM-51 V1.2 Copyright (c) 1996 by W.W. Heinz PAGE 4
SYMBOL TYPE VALUE LINE
------------------------------------------------------------
SM1 BIT 9E
SM2 BIT 9D
SP DATA 81
T0 BIT B4
T1 BIT B5
TB8 BIT 9B
TCON DATA 88
TF0 BIT 8D
TF1 BIT 8F
TH0 DATA 8C
TH1 DATA 8D
TI BIT 99
TIMER0 CODE 000B
TIMER1 CODE 001B
TL0 DATA 8A
TL1 DATA 8B
TMOD DATA 89
TR0 BIT 8C
TR1 BIT 8E
TT0 CODE 003E 18
TXD BIT B1
WR BIT B6
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -