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

📄 sz616.lst

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