📄 sz01.lst
字号:
00C4 85E0A0 154 MOV P2, ACC ;由P2送出扫描输出信号
00C7 7D02 155 MOV R5, #2 ;延迟一会儿
00C9 3135 156 ACALL DELAY
157 ;改变扫描码 EX:XXXX1011
00CB 03 158 RR A ;累加器向右移动一位
00CC 08 159 INC R0 ;显示器显示缓冲区地址加1
00CD DAEE 160 DJNZ R2, S1 ;循环判断是否继续执行
00CF 22 161 RET
162
163 ;---―― 实现调整时间子程序 ――――――
164
165 ;设置目前时间
00D0 166 SET_TIME:
00D0 C28C 167 CLR TR0 ;定时器动作暂停
00D2 753600 168 MOV SEC, #0 ;秒钟变量清除为0
00D5 169 L0:
00D5 11B6 170 ACALL DISP ;扫描显示
171
00D7 20A513 172 JB K2, L1 ;未按下K2键则继续扫描
00DA 30A5FD 173 JNB K2, $ ;有按下则等待放开来
174 ;K2小时调整
00DD 0534 175 INC HOUR ;小时计数加1
00DF E534 176 MOV A, HOUR
00E1 B41803 177 CJNE A,#24, L11 ;是否24H到了
00E4 753400 178 MOV HOUR, #0 ;小时变量清除为0
00E7 179 L11:
00E7 1183 180 ACALL CONV ;转换显示数据
00E9 11B6 181 ACALL DISP ;扫描显示
00EB 80E8 182 JMP L0 ;继续程序执行
183
00ED 20A613 184 L1:JB K3, L2 ;未按下K3键则继续扫描
00F0 30A6FD 185 JNB K3,$ ;有按下则等待放开来
186 ;K3分钟调整.
00F3 0535 187 INC MIN ;分钟计数加1
00F5 E535 188 MOV A, MIN
00F7 B43C03 189 CJNE A,#60, L21 ;是否60 min到了
00FA 753500 190 MOV MIN, #0 ;分钟变量清除为0
A51 MACRO ASSEMBLER SZ01 01/04/2007 21:35:15 PAGE 4
00FD 191 L21:
00FD 1183 192 ACALL CONV ;转换显示数据
00FF 11B6 193 ACALL DISP ;扫描显示
0101 80D2 194 JMP L0 ;继续程序执行
195
0103 20A7CF 196 L2: JB K4,L0 ;未按下K4键则继续扫描
0106 30A7FD 197 JNB K4, $ ;有按下则等待放开来
0109 311D 198 ACALL BZ ;压电喇叭鸣响一声
199 ;K4设置完成
010B 312A 200 ACALL LED_BL ;LED闪动
010D D28C 201 SETB TR0 ;启动定时器
010F 22 202 RET
203
204 ;----―喇叭和指示灯等其它子程序 ----――
205
206 ;计时单元清零
0110 207 INIT:
0110 753700 208 MOV DEDA, #0 ;5ms计数值清除为0
0113 753600 209 MOV SEC, #0 ;秒钟变量清除为0
0116 753500 210 MOV MIN, #0 ;分钟变量清除为0
0119 753400 211 MOV HOUR, #0 ;小时变量清除为0
011C 22 212 RET
213 ;―――――――――――――
214 ;压电喇叭
011D 215 BZ: ;压电喇叭鸣响一声
011D 7EFA 216 MOV R6, #250
011F 3140 217 B1: ACALL DEX
0121 B2B4 218 CPL SPK
0123 DEFA 219 DJNZ R6,B1
0125 7D32 220 MOV R5, #50 ;#10
0127 3135 221 ACALL DELAY
0129 22 222 RET
223
224 ;----------―――
225 ;工作指示
012A 226 LED_BL: ;工作指示灯闪烁
012A 7C06 227 MOV R4,#6
012C B290 228 LE1:CPL WLED ;位反向
012E 7D19 229 MOV R5,#25 ;#5
0130 3135 230 ACALL DELAY
0132 DCF8 231 DJNZ R4, LE1 ;延迟50ms
0134 22 232 RET
233 ;----------―――
234 ;延时子程序
0135 235 DELAY: ;;总延迟时间 R5* 2ms
0135 7E0A 236 MOV R6,#10 ;#50
0137 7F64 237 D1:MOV R7,#100
0139 DFFE 238 DJNZ R7,$
013B DEFA 239 DJNZ R6,D1
013D DDF6 240 DJNZ R5,DELAY
013F 22 241 RET
242 ;----------―――
243 ; 压电喇叭短暂延时子程序
0140 7FB4 244 DEX: MOV R7,#180 ;短暂延时
0142 00 245 DE1: NOP
0143 DFFD 246 DJNZ R7, DE1
0145 22 247 RET
248 ;----------―――
249
250 END
A51 MACRO ASSEMBLER SZ01 01/04/2007 21:35:15 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
B1 . . . . . . . . C ADDR 011FH A
BUF. . . . . . . . N NUMB 0030H A
BZ . . . . . . . . C ADDR 011DH A
CONV . . . . . . . C ADDR 0083H A
D1 . . . . . . . . C ADDR 0137H A
DE1. . . . . . . . C ADDR 0142H A
DEDA . . . . . . . N NUMB 0037H A
DELAY. . . . . . . C ADDR 0135H A
DEX. . . . . . . . C ADDR 0140H A
DISP . . . . . . . C ADDR 00B6H A
HOUR . . . . . . . N NUMB 0034H A
IE . . . . . . . . D ADDR 00A8H A
INIT . . . . . . . C ADDR 0110H A
INIT_TIMER . . . . C ADDR 0039H A
K1 . . . . . . . . B ADDR 00A0H.4 A
K2 . . . . . . . . B ADDR 00A0H.5 A
K3 . . . . . . . . B ADDR 00A0H.6 A
K4 . . . . . . . . B ADDR 00A0H.7 A
L0 . . . . . . . . C ADDR 00D5H A
L1 . . . . . . . . C ADDR 00EDH A
L11. . . . . . . . C ADDR 00E7H A
L2 . . . . . . . . C ADDR 0103H A
L21. . . . . . . . C ADDR 00FDH A
LE1. . . . . . . . C ADDR 012CH A
LED_BL . . . . . . C ADDR 012AH A
LOOP . . . . . . . C ADDR 001BH A
M1 . . . . . . . . C ADDR 0028H A
M2 . . . . . . . . C ADDR 002DH A
M3 . . . . . . . . C ADDR 0032H A
M4 . . . . . . . . C ADDR 0037H A
MAIN . . . . . . . C ADDR 000DH A
MIN. . . . . . . . N NUMB 0035H A
P0 . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
S1 . . . . . . . . C ADDR 00BDH A
SEC. . . . . . . . N NUMB 0036H A
SET_TIME . . . . . C ADDR 00D0H A
SPK. . . . . . . . B ADDR 00B0H.4 A
TABLE. . . . . . . C ADDR 00A6H A
TH0. . . . . . . . D ADDR 008CH A
TL0. . . . . . . . D ADDR 008AH A
TMOD . . . . . . . D ADDR 0089H A
TO_SRV . . . . . . C ADDR 0048H A
TR0. . . . . . . . B ADDR 0088H.4 A
TT1. . . . . . . . C ADDR 0080H A
WLED . . . . . . . B ADDR 0090H.0 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -