⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sz616a.lst

📁 一个本人编写的时钟程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
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 + -