📄 sz616a.lst
字号:
020E 219 DAYADD1: ; 日加1
020E B4060E 220 CJNE A,#6,HOURADD1
0211 AD35 221 MOV R5,DAYBUF
0213 BD1F05 222 CJNE R5,#31,DAYADD
0216 753501 223 MOV DAYBUF,#1
0219 4162 224 AJMP KEYRET
021B 225 DAYADD:
021B 0535 226 INC DAYBUF
021D 4162 227 AJMP KEYRET
228
021F 229 HOURADD1: ; 小时加1
021F B4090E 230 CJNE A,#9,MINADD1
0222 AD33 231 MOV R5,HOURBUF
0224 BD1705 232 CJNE R5,#23,HOURADD
0227 753300 233 MOV HOURBUF,#0
022A 4162 234 AJMP KEYRET
022C 235 HOURADD:
022C 0533 236 INC HOURBUF
022E 4162 237 AJMP KEYRET
238
0230 239 MINADD1: ; 分钟加1
0230 B40C0E 240 CJNE A,#0CH,HOUR1ADD1
0233 AD32 241 MOV R5,MINUTEBUF
0235 BD3B05 242 CJNE R5,#59,MINADD
0238 753200 243 MOV MINUTEBUF,#0
023B 4162 244 AJMP KEYRET
023D 245 MINADD:
023D 0532 246 INC MINUTEBUF
023F 4162 247 AJMP KEYRET
248
0241 249 HOUR1ADD1: ; 定时小时加1
0241 B40F0F 250 CJNE A,#0FH,MIN1ADD1
0244 AD37 251 MOV R5,HOURBUF1
0246 BD1705 252 CJNE R5,#23,HOUR1ADD
0249 753700 253 MOV HOURBUF1,#0
024C 4162 254 AJMP KEYRET
024E 255 HOUR1ADD:
024E 0537 256 INC HOURBUF1
A51 MACRO ASSEMBLER SZ616A 06/16/2008 14:43:59 PAGE 5
0250 020262 257 LJMP KEYRET
258
0253 259 MIN1ADD1: ; 定时分钟加1
0253 B4120C 260 CJNE A,#12H,KEYRET
0256 AD36 261 MOV R5,MINUTEBUF1
0258 BD3B05 262 CJNE R5,#59,MIN1ADD
025B 753600 263 MOV MINUTEBUF1,#0
025E 4162 264 AJMP KEYRET
0260 265 MIN1ADD:
0260 0536 266 INC MINUTEBUF1
0262 267 KEYRET:
268
0262 22 269 RET
270
271 ;显示程序
0263 272 DISP:
0263 7940 273 MOV R1,#DISPFLAG
0265 1203C4 274 LCALL UPDATEDISPBUF
275 ;初始显示 "时间"
0268 B7003A 276 KF0: CJNE @R1,#0,KF1
277
026B 7821 278 MOV R0,#DISPBUF+1
026D 120436 279 LCALL GET_LED234
0270 120190 280 LCALL Send74LS164
0273 12042D 281 LCALL SELECT_LED4
0276 120442 282 LCALL DELAY10MS
283
0279 7822 284 MOV R0,#DISPBUF+2
027B 120436 285 LCALL GET_LED234
027E 120190 286 LCALL Send74LS164
0281 120424 287 LCALL SELECT_LED3
0284 120442 288 LCALL DELAY10MS
289
0287 7823 290 MOV R0,#DISPBUF+3
0289 120436 291 LCALL GET_LED234
028C 120190 292 LCALL Send74LS164
028F 12041B 293 LCALL SELECT_LED2
0292 120442 294 LCALL DELAY10MS
295
0295 7824 296 MOV R0,#DISPBUF+4
0297 12043C 297 LCALL GET_LED1
029A 120190 298 LCALL Send74LS164
029D 120412 299 LCALL SELECT_LED1
02A0 120442 300 LCALL DELAY10MS
02A3 61C3 301 AJMP KFRET
302 ;显示 "日期"
02A5 B7013A 303 KF1: CJNE @R1,#1,KF2
304
02A8 7825 305 MOV R0,#DISPBUF+5
02AA 120436 306 LCALL GET_LED234
02AD 120190 307 LCALL Send74LS164
02B0 12042D 308 LCALL SELECT_LED4
02B3 120442 309 LCALL DELAY10MS
310
02B6 7826 311 MOV R0,#DISPBUF+6
02B8 120436 312 LCALL GET_LED234
02BB 120190 313 LCALL Send74LS164
02BE 120424 314 LCALL SELECT_LED3
02C1 120442 315 LCALL DELAY10MS
316
02C4 7827 317 MOV R0,#DISPBUF+7
02C6 120436 318 LCALL GET_LED234
02C9 120190 319 LCALL Send74LS164
02CC 12041B 320 LCALL SELECT_LED2
02CF 120442 321 LCALL DELAY10MS
322
A51 MACRO ASSEMBLER SZ616A 06/16/2008 14:43:59 PAGE 6
02D2 7828 323 MOV R0,#DISPBUF+8
02D4 12043C 324 LCALL GET_LED1
02D7 120190 325 LCALL Send74LS164
02DA 120412 326 LCALL SELECT_LED1
02DD 120442 327 LCALL DELAY10MS
02E0 61C3 328 AJMP KFRET
329 ;显示 "秒"
02E2 B7021E 330 KF2: CJNE @R1,#2,KF3
331
02E5 7829 332 MOV R0,#DISPBUF+9
02E7 120436 333 LCALL GET_LED234
02EA 120190 334 LCALL Send74LS164
02ED 12042D 335 LCALL SELECT_LED4
02F0 120442 336 LCALL DELAY10MS
337
02F3 782A 338 MOV R0,#DISPBUF+0AH
02F5 120436 339 LCALL GET_LED234
02F8 120190 340 LCALL Send74LS164
02FB 120424 341 LCALL SELECT_LED3
02FE 120442 342 LCALL DELAY10MS
0301 61C3 343 AJMP KFRET
344 ;显示 "月"
0303 B7031E 345 KF3: CJNE @R1,#3,KF6
346
0306 7827 347 MOV R0,#DISPBUF+7
0308 120436 348 LCALL GET_LED234
030B 120190 349 LCALL Send74LS164
030E 12041B 350 LCALL SELECT_LED2
0311 120442 351 LCALL DELAY10MS
352
0314 7828 353 MOV R0,#DISPBUF+8
0316 12043C 354 LCALL GET_LED1
0319 120190 355 LCALL Send74LS164
031C 120412 356 LCALL SELECT_LED1
031F 120442 357 LCALL DELAY10MS
0322 61C3 358 AJMP KFRET
359 ;显示 "日"
0324 B7061E 360 KF6: CJNE @R1,#6,KF9
361
0327 7825 362 MOV R0,#DISPBUF+5
0329 120436 363 LCALL GET_LED234
032C 120190 364 LCALL Send74LS164
032F 12042D 365 LCALL SELECT_LED4
0332 120442 366 LCALL DELAY10MS
367
0335 7826 368 MOV R0,#DISPBUF+6
0337 120436 369 LCALL GET_LED234
033A 120190 370 LCALL Send74LS164
033D 120424 371 LCALL SELECT_LED3
0340 120442 372 LCALL DELAY10MS
0343 61C3 373 AJMP KFRET
374 ;显示 "小时"
0345 B7091E 375 KF9: CJNE @R1,#9,KF0C
376
0348 7823 377 MOV R0,#DISPBUF+3
034A 120436 378 LCALL GET_LED234
034D 120190 379 LCALL Send74LS164
0350 12041B 380 LCALL SELECT_LED2
0353 120442 381 LCALL DELAY10MS
382
0356 7824 383 MOV R0,#DISPBUF+4
0358 12043C 384 LCALL GET_LED1
035B 120190 385 LCALL Send74LS164
035E 120412 386 LCALL SELECT_LED1
0361 120442 387 LCALL DELAY10MS
0364 61C3 388 AJMP KFRET
A51 MACRO ASSEMBLER SZ616A 06/16/2008 14:43:59 PAGE 7
389 ;显示 "分"
0366 B70C1C 390 KF0C: CJNE @R1,#0CH,KF0F
391
0369 7821 392 MOV R0,#DISPBUF+1
036B 120436 393 LCALL GET_LED234
036E 120190 394 LCALL Send74LS164
0371 12042D 395 LCALL SELECT_LED4
0374 120442 396 LCALL DELAY10MS
397
398
0377 7822 399 MOV R0,#DISPBUF+2
0379 120436 400 LCALL GET_LED234
037C 120190 401 LCALL Send74LS164
037F 120424 402 LCALL SELECT_LED3
0382 120442 403 LCALL DELAY10MS
0385 B70F1C 404 KF0F: CJNE @R1,#0FH,KF12
405
0388 7851 406 MOV R0,#DISPBUF1+1
038A 120436 407 LCALL GET_LED234
038D 120190 408 LCALL Send74LS164
0390 12041B 409 LCALL SELECT_LED2
0393 120442 410 LCALL DELAY10MS
411
0396 7852 412 MOV R0,#DISPBUF1+2
0398 12043C 413 LCALL GET_LED1
039B 120190 414 LCALL Send74LS164
039E 120412 415 LCALL SELECT_LED1
03A1 120442 416 LCALL DELAY10MS
417
03A4 B7121C 418 KF12: CJNE @R1,#12H,KFRET
419
03A7 7853 420 MOV R0,#DISPBUF1+3
03A9 120436 421 LCALL GET_LED234
03AC 120190 422 LCALL Send74LS164
03AF 12042D 423 LCALL SELECT_LED4
03B2 120442 424 LCALL DELAY10MS
425
426
03B5 7854 427 MOV R0,#DISPBUF1+4
03B7 120436 428 LCALL GET_LED234
03BA 120190 429 LCALL Send74LS164
03BD 120424 430 LCALL SELECT_LED3
03C0 120442 431 LCALL DELAY10MS
432
03C3 433 KFRET:
03C3 22 434 RET
435
03C4 436 UPDATEDISPBUF: ;1秒钟重新为 "秒,分,小时" 重新填显示缓冲
03C4 E531 437 MOV A, SECONDBUF
03C6 75F00A 438 MOV B, #10
03C9 84 439 DIV AB
03CA 85F029 440 MOV DISPBUF+9, B
03CD F52A 441 MOV DISPBUF+0AH, A
442
03CF E532 443 MOV A, MINUTEBUF
03D1 75F00A 444 MOV B, #10
03D4 84 445 DIV AB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -