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

📄 demo_led.lst

📁 单片机时钟代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  DEMO_LED                                                             05/30/2006 10:17:11 PAGE     1


MACRO ASSEMBLER A51 V1.11
OBJECT MODULE PLACED IN DEMO_LED.OBJ
ASSEMBLER INVOKED BY: C:\MANLEY\PMEDWIN\A51.EXE DEMO_LED.ASM DB

LOC  OBJ            LINE     SOURCE

                       1     ; 文档内容--电子时钟实验。
                       2     ;这是一个使用MCS51单片机实现电子时钟功能的程序,无需扩展.
                       3     ;六个数码管分别显示时,分,秒
                       4     ;程序编制人:蔡祥荣 2004/06/20
                       5     
  0021                 6              BUFF_KEY     EQU 21H      ;键盘键
  0022                 7              BUFF_LED1    EQU 22H      ;数码管显示缓存
  0023                 8              BUFF_LED2    EQU 23H
  0024                 9              BUFF_LED3    EQU 24H
  0025                10              BUFF_LED4    EQU 25H
  0026                11              BUFF_LED5    EQU 26H
  0027                12              BUFF_LED6    EQU 27H
  0028                13              BUFF_LED7    EQU 28H
  0029                14              BUFF_LED8    EQU 29H
  002A                15              BUFF_LED_LP  EQU 2AH      ;T0键盘显示扫描缓存
  002B                16              BUFF_164     EQU 2BH
  002C                17              BUFF_T0      EQU 2CH
  0091                18              CLK164     BIT   P1.1
  0090                19              DAT164     BIT   P1.0
  0092                20              DIG_A      BIT   P1.2
  0093                21              DIG_B      BIT   P1.3
  0094                22              DIG_C      BIT   P1.4
  0095                23              KEYL1      BIT   P1.5
  0096                24              KEYL2      BIT   P1.6
  0097                25              BEEP       BIT   P1.7
  0030                26              HOR    EQU   30H           ;小时值缓存
  0031                27              MIN    EQU   31H           ;分钟值缓存
  0032                28              SEC    EQU   32H           ;秒值缓存
                      29     
0000                  30             org   000h
0000 020100           31             JMP   main
000B                  32             ORG   00BH
000B 0203A5           33             JMP   T0_INT
0100                  34             ORG   100H
0100 758140           35     MAIN:   MOV    SP ,#40H
0103 75D000           36             MOV    PSW,#00H
0106 787F             37             MOV    R0,#7FH      ;初始化RAM区,
0108 7400             38     CLR_RAM:MOV    A,#00H
010A F6               39             MOV    @R0,A
010B D8FB             40             DJNZ   R0,CLR_RAM
010D 7590FF           41             MOV    P1,#0FFH      ;INIT
0110 75A0FF           42             MOV    P2,#0FFH
0113 7580FF           43             MOV    P0,#0FFH
0116 75B0FF           44             MOV    P3,#0FFH
0119 758921           45             MOV    TMOD,#21h
011C 758CF4           46             MOV    TH0,#HIGH(65536-3000)     ;T0=3MS
011F 758A47           47             MOV    TL0,#LOW(65535-3000)
0122 D28C             48             SETB   TR0
0124 D2A9             49             SETB   ET0
0126 D2AF             50             SETB   EA
0128 75300A           51             mov    hor,#10
012B 75310A           52             mov    min,#10
012E 75320A           53             mov    sec,#10
0131 752711           54             MOV    BUFF_LED6,#17
0134 752411           55             MOV    BUFF_LED3,#17
                      56             
0137 20951C           57     WAIT_KEYL1:JB    KEYL1,WAIT_KEYL2      ;等候按键!
013A 752C00           58                MOV   BUFF_T0,#00H
A51 MACRO ASSEMBLER  DEMO_LED                                                             05/30/2006 10:17:11 PAGE     2

013D E590             59                MOV   A,P1
013F 541C             60                ANL   A,#00011100B
0141 03               61                RR    A
0142 900146           62                MOV   DPTR,#TAB_KL1
0145 73               63                JMP   @A+DPTR
0146 2175             64     TAB_KL1:   AJMP  KS1
0148 218C             65                AJMP  KS2           
014A 21A3             66                AJMP  KS3
014C 21BA             67                AJMP  KS4  
014E 21D1             68                AJMP  KS5
0150 21E8             69                AJMP  KS6           
0152 21FF             70                AJMP  KS7
0154 4116             71                AJMP  KS8 
0156 2096DE           72     WAIT_KEYL2:JB    KEYL2,WAIT_KEYL1
0159 752C00           73                MOV   BUFF_T0,#00H
015C E590             74                MOV   A,P1
015E 541C             75                ANL   A,#00011100B
0160 03               76                RR    A
0161 900165           77                MOV   DPTR,#TAB_KL2
0164 73               78                JMP   @A+DPTR
0165 412D             79     TAB_KL2:   AJMP  KS9
0167 4144             80                AJMP  KS10           
0169 414F             81                AJMP  KS11
016B 4166             82                AJMP  KS12 
016D 417D             83                AJMP  KS13
016F 4194             84                AJMP  KS14          
0171 41AB             85                AJMP  KS15
0173 41C2             86                AJMP  KS16
0175 752800           87     KS1:       MOV   BUFF_LED7,#00      ;显示键值
0178 752901           88                MOV   BUFF_LED8,#01
017B 752211           89                MOV    BUFF_LED1,#17
017E 752311           90                MOV    BUFF_LED2,#17
0181 752511           91                MOV    BUFF_LED4,#17
0184 752611           92                MOV    BUFF_LED5,#17
0187 3095FD           93                JNB   KEYL1,$
018A 80AB             94                JMP   WAIT_KEYL1
018C 752800           95     KS2:       MOV   BUFF_LED7,#00
018F 752902           96                MOV   BUFF_LED8,#02
0192 752211           97                MOV    BUFF_LED1,#17
0195 752311           98                MOV    BUFF_LED2,#17
0198 752511           99                MOV    BUFF_LED4,#17
019B 752611          100                MOV    BUFF_LED5,#17
019E 3095FD          101                JNB   KEYL1,$
01A1 8094            102                JMP   WAIT_KEYL1
01A3 752800          103     KS3:       MOV   BUFF_LED7,#00
01A6 752903          104                MOV   BUFF_LED8,#03
01A9 752211          105                MOV    BUFF_LED1,#17
01AC 752311          106                MOV    BUFF_LED2,#17
01AF 752511          107                MOV    BUFF_LED4,#17
01B2 752611          108                MOV    BUFF_LED5,#17
01B5 3095FD          109                JNB   KEYL1,$
01B8 2137            110                JMP   WAIT_KEYL1
01BA 752800          111     KS4:       MOV   BUFF_LED7,#00
01BD 752904          112                MOV   BUFF_LED8,#04
01C0 752211          113                MOV    BUFF_LED1,#17
01C3 752311          114                MOV    BUFF_LED2,#17
01C6 752511          115                MOV    BUFF_LED4,#17
01C9 752611          116                MOV    BUFF_LED5,#17
01CC 3095FD          117                JNB   KEYL1,$
01CF 2137            118                JMP   WAIT_KEYL1
01D1 752800          119     KS5:       MOV   BUFF_LED7,#00
01D4 752905          120                MOV   BUFF_LED8,#05
01D7 752211          121                MOV    BUFF_LED1,#17
01DA 752311          122                MOV    BUFF_LED2,#17
01DD 752511          123                MOV    BUFF_LED4,#17
01E0 752611          124                MOV    BUFF_LED5,#17
A51 MACRO ASSEMBLER  DEMO_LED                                                             05/30/2006 10:17:11 PAGE     3

01E3 3095FD          125                JNB   KEYL1,$
01E6 2137            126                JMP   WAIT_KEYL1
01E8 752800          127     KS6:       MOV   BUFF_LED7,#00
01EB 752906          128                MOV   BUFF_LED8,#06
01EE 752211          129                MOV    BUFF_LED1,#17
01F1 752311          130                MOV    BUFF_LED2,#17
01F4 752511          131                MOV    BUFF_LED4,#17
01F7 752611          132                MOV    BUFF_LED5,#17
01FA 3095FD          133                JNB   KEYL1,$
01FD 2137            134                JMP   WAIT_KEYL1
01FF 752800          135     KS7:       MOV   BUFF_LED7,#00
0202 752907          136                MOV   BUFF_LED8,#07
0205 752211          137                MOV    BUFF_LED1,#17
0208 752311          138                MOV    BUFF_LED2,#17
020B 752511          139                MOV    BUFF_LED4,#17
020E 752611          140                MOV    BUFF_LED5,#17
0211 3095FD          141                JNB   KEYL1,$
0214 2137            142                JMP   WAIT_KEYL1
0216 752800          143     KS8:       MOV   BUFF_LED7,#00
0219 752908          144                MOV   BUFF_LED8,#08
021C 752211          145                MOV    BUFF_LED1,#17
021F 752311          146                MOV    BUFF_LED2,#17
0222 752511          147                MOV    BUFF_LED4,#17
0225 752611          148                MOV    BUFF_LED5,#17
0228 3095FD          149                JNB   KEYL1,$
022B 2137            150                JMP   WAIT_KEYL1
022D 752800          151     KS9:       MOV   BUFF_LED7,#00
0230 752909          152                MOV   BUFF_LED8,#09
0233 752211          153                MOV    BUFF_LED1,#17
0236 752311          154                MOV    BUFF_LED2,#17
0239 752511          155                MOV    BUFF_LED4,#17
023C 752611          156                MOV    BUFF_LED5,#17
023F 3096FD          157                JNB   KEYL2,$
0242 2137            158                JMP   WAIT_KEYL1
0244 752801          159     KS10:      MOV   BUFF_LED7,#01
0247 752900          160                MOV   BUFF_LED8,#00
024A 3096FD          161                JNB   KEYL2,$
024D 2137            162                JMP   WAIT_KEYL1
024F 752801          163     KS11:      MOV   BUFF_LED7,#01
0252 752901          164                MOV   BUFF_LED8,#01
0255 752211          165                MOV    BUFF_LED1,#17
0258 752311          166                MOV    BUFF_LED2,#17
025B 752511          167                MOV    BUFF_LED4,#17
025E 752611          168                MOV    BUFF_LED5,#17
0261 3096FD          169                JNB   KEYL2,$
0264 2137            170                JMP   WAIT_KEYL1
0266 752801          171     KS12:      MOV   BUFF_LED7,#01
0269 752902          172                MOV   BUFF_LED8,#02
026C 752211          173                MOV    BUFF_LED1,#17
026F 752311          174                MOV    BUFF_LED2,#17
0272 752511          175                MOV    BUFF_LED4,#17
0275 752611          176                MOV    BUFF_LED5,#17
0278 3096FD          177                JNB   KEYL2,$
027B 2137            178                JMP   WAIT_KEYL1
027D 752801          179     KS13:      MOV   BUFF_LED7,#01
0280 752903          180                MOV   BUFF_LED8,#03
0283 752211          181                MOV    BUFF_LED1,#17
0286 752311          182                MOV    BUFF_LED2,#17
0289 752511          183                MOV    BUFF_LED4,#17
028C 752611          184                MOV    BUFF_LED5,#17
028F 3096FD          185                JNB   KEYL2,$
0292 2137            186                JMP   WAIT_KEYL1
0294 752801          187     KS14:      MOV   BUFF_LED7,#01
0297 752904          188                MOV   BUFF_LED8,#04
029A 752211          189                MOV    BUFF_LED1,#17
029D 752311          190                MOV    BUFF_LED2,#17
A51 MACRO ASSEMBLER  DEMO_LED                                                             05/30/2006 10:17:11 PAGE     4

02A0 752511          191                MOV    BUFF_LED4,#17
02A3 752611          192                MOV    BUFF_LED5,#17
02A6 3096FD          193                JNB   KEYL2,$
02A9 2137            194                JMP   WAIT_KEYL1
02AB 752801          195     KS15:      MOV   BUFF_LED7,#01
02AE 752905          196                MOV   BUFF_LED8,#05
02B1 752211          197                MOV    BUFF_LED1,#17
02B4 752311          198                MOV    BUFF_LED2,#17
02B7 752511          199                MOV    BUFF_LED4,#17
02BA 752611          200                MOV    BUFF_LED5,#17
02BD 3096FD          201                JNB   KEYL2,$
02C0 2137            202                JMP   WAIT_KEYL1
02C2 752801          203     KS16:      MOV   BUFF_LED7,#01
02C5 752906          204                MOV   BUFF_LED8,#06
02C8 752211          205                MOV    BUFF_LED1,#17
02CB 752311          206                MOV    BUFF_LED2,#17
02CE 752511          207                MOV    BUFF_LED4,#17
02D1 752611          208                MOV    BUFF_LED5,#17
02D4 3096FD          209                JNB   KEYL2,$
02D7 2137            210                JMP   WAIT_KEYL1           
02D9 02034F          211     SW5_OKA: JMP   SW5_OK
02DC 02036B          212     SW6_OKA: JMP   SW6_OK
02DF E530            213     SW1_OK:  MOV    A,HOR
02E1 B4180C          214              CJNE   A,#24,SW1_OVER
02E4 753000          215              MOV    HOR,#00H
02E7 D297            216              SETB   BEEP
02E9 120387          217              LCALL  DEL
02EC C297            218              CLR    BEEP
02EE 2137            219              JMP    WAIT_KEYL1
02F0 0530            220     SW1_OVER:INC    HOR        ;时加1
02F2 D297            221              SETB    BEEP
02F4 120387          222              LCALL  DEL
02F7 C297            223              CLR    BEEP
02F9 2137            224              JMP    WAIT_KEYL1
                     225     
02FB E530            226     SW2_OK:  MOV    A,HOR
02FD B4000C          227              CJNE   A,#00,SW2_OVER
0300 753017          228              MOV    HOR,#23
0303 D297            229              SETB   BEEP
0305 120387          230              LCALL  DEL
0308 C297            231              CLR    BEEP
030A 2137            232              JMP    WAIT_KEYL1
030C 1530            233     SW2_OVER:DEC    HOR        ;时减1
030E D297            234              SETB   BEEP
0310 120387          235              LCALL  DEL
0313 C297            236              CLR    BEEP
0315 2137            237              JMP    WAIT_KEYL1
                     238     
0317 E531            239     SW3_OK:  MOV    A,MIN
0319 B43B0C          240              CJNE   A,#59,SW3_OVER
031C 753100          241              MOV    MIN,#00H
031F D297            242              SETB   BEEP
0321 120387          243              LCALL  DEL
0324 C297            244              CLR    BEEP
0326 2137            245              JMP    WAIT_KEYL1
0328 0531            246     SW3_OVER:INC    MIN        ;分加1
032A D297            247              SETB   BEEP
032C 120387          248              LCALL  DEL
032F C297            249              CLR    BEEP
0331 2137            250              JMP    WAIT_KEYL1
                     251     
0333 E531            252     SW4_OK:  MOV    A,MIN
0335 B4000C          253              CJNE   A,#00,SW4_OVER
0338 75313B          254              MOV    MIN,#59
033B D297            255              SETB   BEEP
033D 120387          256              LCALL  DEL
A51 MACRO ASSEMBLER  DEMO_LED                                                             05/30/2006 10:17:11 PAGE     5

0340 C297            257              CLR    BEEP
0342 2137            258              JMP    WAIT_KEYL1
0344 1531            259     SW4_OVER:DEC    MIN        ;分减1
0346 D297            260              SETB   BEEP
0348 120387          261              LCALL  DEL
034B C297            262              CLR    BEEP
034D 2137            263              JMP    WAIT_KEYL1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -