📄 sz616.lst
字号:
01FE 200 HOURADD1: ; 小时加1
01FE B4090E 201 CJNE A,#9,MINADD1
0201 AD33 202 MOV R5,HOURBUF
0203 BD1705 203 CJNE R5,#23,HOURADD
0206 753300 204 MOV HOURBUF,#0
0209 4120 205 AJMP KEYRET
020B 206 HOURADD:
020B 0533 207 INC HOURBUF
020D 4120 208 AJMP KEYRET
209
020F 210 MINADD1: ; 分钟加1
020F B40C0E 211 CJNE A,#0CH,KEYRET
0212 AD32 212 MOV R5,MINUTEBUF
0214 BD3B05 213 CJNE R5,#59,MINADD
0217 753200 214 MOV MINUTEBUF,#0
021A 4120 215 AJMP KEYRET
021C 216 MINADD:
021C 0532 217 INC MINUTEBUF
021E 4120 218 AJMP KEYRET
219
220
221
222
0220 223 KEYRET:
224
0220 22 225 RET
226
227 ;显示程序
0221 228 DISP:
0221 7940 229 MOV R1,#DISPFLAG
0223 120382 230 LCALL UPDATEDISPBUF
231 ;初始显示 "时间"
0226 B7003A 232 KF0: CJNE @R1,#0,KF1
233
0229 7821 234 MOV R0,#DISPBUF+1
022B 1203F4 235 LCALL GET_LED234
022E 120178 236 LCALL Send74LS164
0231 1203EB 237 LCALL SELECT_LED4
0234 120400 238 LCALL DELAY10MS
239
0237 7822 240 MOV R0,#DISPBUF+2
0239 1203F4 241 LCALL GET_LED234
023C 120178 242 LCALL Send74LS164
023F 1203E2 243 LCALL SELECT_LED3
0242 120400 244 LCALL DELAY10MS
245
0245 7823 246 MOV R0,#DISPBUF+3
0247 1203F4 247 LCALL GET_LED234
024A 120178 248 LCALL Send74LS164
024D 1203D9 249 LCALL SELECT_LED2
0250 120400 250 LCALL DELAY10MS
251
0253 7824 252 MOV R0,#DISPBUF+4
0255 1203FA 253 LCALL GET_LED1
0258 120178 254 LCALL Send74LS164
025B 1203D0 255 LCALL SELECT_LED1
025E 120400 256 LCALL DELAY10MS
A51 MACRO ASSEMBLER SZ616 06/16/2008 12:46:24 PAGE 5
0261 6181 257 AJMP KFRET
258 ;显示 "日期"
0263 B7013A 259 KF1: CJNE @R1,#1,KF2
260
0266 7825 261 MOV R0,#DISPBUF+5
0268 1203F4 262 LCALL GET_LED234
026B 120178 263 LCALL Send74LS164
026E 1203EB 264 LCALL SELECT_LED4
0271 120400 265 LCALL DELAY10MS
266
0274 7826 267 MOV R0,#DISPBUF+6
0276 1203F4 268 LCALL GET_LED234
0279 120178 269 LCALL Send74LS164
027C 1203E2 270 LCALL SELECT_LED3
027F 120400 271 LCALL DELAY10MS
272
0282 7827 273 MOV R0,#DISPBUF+7
0284 1203F4 274 LCALL GET_LED234
0287 120178 275 LCALL Send74LS164
028A 1203D9 276 LCALL SELECT_LED2
028D 120400 277 LCALL DELAY10MS
278
0290 7828 279 MOV R0,#DISPBUF+8
0292 1203FA 280 LCALL GET_LED1
0295 120178 281 LCALL Send74LS164
0298 1203D0 282 LCALL SELECT_LED1
029B 120400 283 LCALL DELAY10MS
029E 6181 284 AJMP KFRET
285 ;显示 "秒"
02A0 B7021E 286 KF2: CJNE @R1,#2,KF3
287
02A3 7829 288 MOV R0,#DISPBUF+9
02A5 1203F4 289 LCALL GET_LED234
02A8 120178 290 LCALL Send74LS164
02AB 1203EB 291 LCALL SELECT_LED4
02AE 120400 292 LCALL DELAY10MS
293
02B1 782A 294 MOV R0,#DISPBUF+0AH
02B3 1203F4 295 LCALL GET_LED234
02B6 120178 296 LCALL Send74LS164
02B9 1203E2 297 LCALL SELECT_LED3
02BC 120400 298 LCALL DELAY10MS
02BF 6181 299 AJMP KFRET
300 ;显示 "月"
02C1 B7031E 301 KF3: CJNE @R1,#3,KF6
302
02C4 7827 303 MOV R0,#DISPBUF+7
02C6 1203F4 304 LCALL GET_LED234
02C9 120178 305 LCALL Send74LS164
02CC 1203D9 306 LCALL SELECT_LED2
02CF 120400 307 LCALL DELAY10MS
308
02D2 7828 309 MOV R0,#DISPBUF+8
02D4 1203FA 310 LCALL GET_LED1
02D7 120178 311 LCALL Send74LS164
02DA 1203D0 312 LCALL SELECT_LED1
02DD 120400 313 LCALL DELAY10MS
02E0 6181 314 AJMP KFRET
315 ;显示 "日"
02E2 B7061E 316 KF6: CJNE @R1,#6,KF9
317
02E5 7825 318 MOV R0,#DISPBUF+5
02E7 1203F4 319 LCALL GET_LED234
02EA 120178 320 LCALL Send74LS164
02ED 1203EB 321 LCALL SELECT_LED4
02F0 120400 322 LCALL DELAY10MS
A51 MACRO ASSEMBLER SZ616 06/16/2008 12:46:24 PAGE 6
323
02F3 7826 324 MOV R0,#DISPBUF+6
02F5 1203F4 325 LCALL GET_LED234
02F8 120178 326 LCALL Send74LS164
02FB 1203E2 327 LCALL SELECT_LED3
02FE 120400 328 LCALL DELAY10MS
0301 6181 329 AJMP KFRET
330 ;显示 "小时"
0303 B7091E 331 KF9: CJNE @R1,#9,KF0C
332
0306 7823 333 MOV R0,#DISPBUF+3
0308 1203F4 334 LCALL GET_LED234
030B 120178 335 LCALL Send74LS164
030E 1203D9 336 LCALL SELECT_LED2
0311 120400 337 LCALL DELAY10MS
338
0314 7824 339 MOV R0,#DISPBUF+4
0316 1203FA 340 LCALL GET_LED1
0319 120178 341 LCALL Send74LS164
031C 1203D0 342 LCALL SELECT_LED1
031F 120400 343 LCALL DELAY10MS
0322 6181 344 AJMP KFRET
345 ;显示 "分"
0324 B70C3B 346 KF0C: CJNE @R1,#0CH,KF12
347
0327 7821 348 MOV R0,#DISPBUF+1
0329 1203F4 349 LCALL GET_LED234
032C 120178 350 LCALL Send74LS164
032F 1203EB 351 LCALL SELECT_LED4
0332 120400 352 LCALL DELAY10MS
353
354
0335 7822 355 MOV R0,#DISPBUF+2
0337 1203F4 356 LCALL GET_LED234
033A 120178 357 LCALL Send74LS164
033D 1203E2 358 LCALL SELECT_LED3
0340 120400 359 LCALL DELAY10MS
360
0343 B70F1C 361 KF0F: CJNE @R1,#0FH,KF12
362
0346 7851 363 MOV R0,#DISPBUF1+1
0348 1203F4 364 LCALL GET_LED234
034B 120178 365 LCALL Send74LS164
034E 1203D9 366 LCALL SELECT_LED2
0351 120400 367 LCALL DELAY10MS
368
0354 7852 369 MOV R0,#DISPBUF1+2
0356 1203FA 370 LCALL GET_LED1
0359 120178 371 LCALL Send74LS164
035C 1203D0 372 LCALL SELECT_LED1
035F 120400 373 LCALL DELAY10MS
374
0362 B7121C 375 KF12: CJNE @R1,#12H,KFRET
376
0365 7853 377 MOV R0,#DISPBUF1+3
0367 1203F4 378 LCALL GET_LED234
036A 120178 379 LCALL Send74LS164
036D 1203EB 380 LCALL SELECT_LED4
0370 120400 381 LCALL DELAY10MS
382
383
0373 7854 384 MOV R0,#DISPBUF1+4
0375 1203F4 385 LCALL GET_LED234
0378 120178 386 LCALL Send74LS164
037B 1203E2 387 LCALL SELECT_LED3
037E 120400 388 LCALL DELAY10MS
A51 MACRO ASSEMBLER SZ616 06/16/2008 12:46:24 PAGE 7
0381 389 KFRET:
0381 22 390 RET
391
0382 392 UPDATEDISPBUF: ;1秒钟重新为 "秒,分,小时" 重新填显示缓冲
0382 E531 393 MOV A, SECONDBUF
0384 75F00A 394 MOV B, #10
0387 84 395 DIV AB
0388 85F029 396 MOV DISPBUF+9, B
038B F52A 397 MOV DISPBUF+0AH, A
398
038D E532 399 MOV A, MINUTEBUF
038F 75F00A 400 MOV B, #10
0392 84 401 DIV AB
0393 85F021 402 MOV DISPBUF+1, B
0396 F522 403 MOV DISPBUF+2, A
404
0398 E533 405 MOV A, HOURBUF
039A 75F00A 406 MOV B, #10
039D 84 407 DIV AB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -