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

📄 demo_led_0809.lst

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


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

LOC  OBJ            LINE     SOURCE

                       1     ; 文档内容--ADC0809实验。
                       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
  9000                26              CS_0809    EQU   9000H     ;CS8255接CS1处
  9000                27              ADD_0809    EQU  9000H
  0030                28              BUFF_RED    EQU   30H           ;红灯缓存
  0031                29              BUFF_YEL    EQU   31H           ;黄灯缓存
  0032                30              BUFF_GRN    EQU   32H           ;绿灯缓存
  0033                31              BUFF_STEP   EQU   33H           ;交通灯运行步骤
  003C                32              RED_VAL     EQU   60
  0005                33              YEL_VAL     EQU   5
  001E                34              GRN_VAL     EQU   30
  0038                35              HOR         EQU   38H
  0039                36              MIN         EQU   39H
  003A                37              SEC         EQU   3AH
0000                  38             org   000h
0000 020100           39             JMP   main
000B                  40             ORG   00BH
000B 0203BD           41             JMP   T0_INT
0100                  42             ORG   100H
0100 758140           43     MAIN:   MOV    SP ,#40H
0103 75D000           44             MOV    PSW,#00H
0106 787F             45             MOV    R0,#7FH      ;初始化RAM区,
0108 7400             46     CLR_RAM:MOV    A,#00H
010A F6               47             MOV    @R0,A
010B D8FB             48             DJNZ   R0,CLR_RAM
010D 7590FF           49             MOV    P1,#0FFH      ;INIT
0110 75A0FF           50             MOV    P2,#0FFH
0113 7580FF           51             MOV    P0,#0FFH
0116 75B0FF           52             MOV    P3,#0FFH
0119 758921           53             MOV    TMOD,#21h
011C 758CF4           54             MOV    TH0,#HIGH(65536-3000)     ;T0=3MS
011F 758A47           55             MOV    TL0,#LOW(65535-3000)
0122 D28C             56             SETB   TR0
0124 D2A9             57             SETB   ET0
0126 D2AF             58             SETB   EA
A51 MACRO ASSEMBLER  DEMO_LED_0809                                                        05/30/2006 11:28:13 PAGE     2

0128 752200           59             MOV    BUFF_LED1,#00H
012B 752311           60             MOV    BUFF_LED2,#17
012E 752411           61             MOV    BUFF_LED3,#17
0131 752511           62             MOV    BUFF_LED4,#17
0134 752611           63             MOV    BUFF_LED5,#17
0137 909000           64     MLOOP:  MOV    DPTR,#ADD_0809            ;启动ADC0809第0通道
013A 7400             65             MOV    A,#00H
013C F0               66             MOVX    @DPTR,A
013D 1203A7           67             LCALL  DEL                       ;延时读取转换值
0140 E0               68             MOVX    A,@DPTR
0141 75F064           69             MOV    B,#100
0144 84               70             DIV    AB
0145 F527             71             MOV    BUFF_LED6,A
0147 E5F0             72             MOV    A,B
0149 75F00A           73             MOV    B,#10
014C 84               74             DIV    AB
014D F528             75             MOV    BUFF_LED7,A
014F 85F029           76             MOV    BUFF_LED8,B
0152 1203B0           77             LCALL  DEL1S
0155 80E0             78             JMP    MLOOP 
                      79         
0157 20951C           80     WAIT_KEYL1:JB    KEYL1,WAIT_KEYL2      ;等候按键!(使用按键S1-S8切换AD通到)
015A 752C00           81                MOV   BUFF_T0,#00H
015D E590             82                MOV   A,P1
015F 541C             83                ANL   A,#00011100B
0161 03               84                RR    A
0162 900166           85                MOV   DPTR,#TAB_KL1
0165 73               86                JMP   @A+DPTR
0166 2195             87     TAB_KL1:   AJMP  KS1
0168 21AC             88                AJMP  KS2           
016A 21C3             89                AJMP  KS3
016C 21DA             90                AJMP  KS4  
016E 21F1             91                AJMP  KS5
0170 4108             92                AJMP  KS6           
0172 411F             93                AJMP  KS7
0174 4136             94                AJMP  KS8 
0176 2096DE           95     WAIT_KEYL2:JB    KEYL2,WAIT_KEYL1
0179 752C00           96                MOV   BUFF_T0,#00H
017C E590             97                MOV   A,P1
017E 541C             98                ANL   A,#00011100B
0180 03               99                RR    A
0181 900185          100                MOV   DPTR,#TAB_KL2
0184 73              101                JMP   @A+DPTR
0185 414D            102     TAB_KL2:   AJMP  KS9
0187 4164            103                AJMP  KS10           
0189 416F            104                AJMP  KS11
018B 4186            105                AJMP  KS12 
018D 419D            106                AJMP  KS13
018F 41B4            107                AJMP  KS14          
0191 41CB            108                AJMP  KS15
0193 41E2            109                AJMP  KS16
0195 752800          110     KS1:       MOV   BUFF_LED7,#00      ;显示键值
0198 752901          111                MOV   BUFF_LED8,#01
019B 752211          112                MOV    BUFF_LED1,#17
019E 752311          113                MOV    BUFF_LED2,#17
01A1 752511          114                MOV    BUFF_LED4,#17
01A4 752611          115                MOV    BUFF_LED5,#17
01A7 3095FD          116                JNB   KEYL1,$
01AA 80AB            117                JMP   WAIT_KEYL1
01AC 752800          118     KS2:       MOV   BUFF_LED7,#00
01AF 752902          119                MOV   BUFF_LED8,#02
01B2 752211          120                MOV    BUFF_LED1,#17
01B5 752311          121                MOV    BUFF_LED2,#17
01B8 752511          122                MOV    BUFF_LED4,#17
01BB 752611          123                MOV    BUFF_LED5,#17
01BE 3095FD          124                JNB   KEYL1,$
A51 MACRO ASSEMBLER  DEMO_LED_0809                                                        05/30/2006 11:28:13 PAGE     3

01C1 8094            125                JMP   WAIT_KEYL1
01C3 752800          126     KS3:       MOV   BUFF_LED7,#00
01C6 752903          127                MOV   BUFF_LED8,#03
01C9 752211          128                MOV    BUFF_LED1,#17
01CC 752311          129                MOV    BUFF_LED2,#17
01CF 752511          130                MOV    BUFF_LED4,#17
01D2 752611          131                MOV    BUFF_LED5,#17
01D5 3095FD          132                JNB   KEYL1,$
01D8 2157            133                JMP   WAIT_KEYL1
01DA 752800          134     KS4:       MOV   BUFF_LED7,#00
01DD 752904          135                MOV   BUFF_LED8,#04
01E0 752211          136                MOV    BUFF_LED1,#17
01E3 752311          137                MOV    BUFF_LED2,#17
01E6 752511          138                MOV    BUFF_LED4,#17
01E9 752611          139                MOV    BUFF_LED5,#17
01EC 3095FD          140                JNB   KEYL1,$
01EF 2157            141                JMP   WAIT_KEYL1
01F1 752800          142     KS5:       MOV   BUFF_LED7,#00
01F4 752905          143                MOV   BUFF_LED8,#05
01F7 752211          144                MOV    BUFF_LED1,#17
01FA 752311          145                MOV    BUFF_LED2,#17
01FD 752511          146                MOV    BUFF_LED4,#17
0200 752611          147                MOV    BUFF_LED5,#17
0203 3095FD          148                JNB   KEYL1,$
0206 2157            149                JMP   WAIT_KEYL1
0208 752800          150     KS6:       MOV   BUFF_LED7,#00
020B 752906          151                MOV   BUFF_LED8,#06
020E 752211          152                MOV    BUFF_LED1,#17
0211 752311          153                MOV    BUFF_LED2,#17
0214 752511          154                MOV    BUFF_LED4,#17
0217 752611          155                MOV    BUFF_LED5,#17
021A 3095FD          156                JNB   KEYL1,$
021D 2157            157                JMP   WAIT_KEYL1
021F 752800          158     KS7:       MOV   BUFF_LED7,#00
0222 752907          159                MOV   BUFF_LED8,#07
0225 752211          160                MOV    BUFF_LED1,#17
0228 752311          161                MOV    BUFF_LED2,#17
022B 752511          162                MOV    BUFF_LED4,#17
022E 752611          163                MOV    BUFF_LED5,#17
0231 3095FD          164                JNB   KEYL1,$
0234 2157            165                JMP   WAIT_KEYL1
0236 752800          166     KS8:       MOV   BUFF_LED7,#00
0239 752908          167                MOV   BUFF_LED8,#08
023C 752211          168                MOV    BUFF_LED1,#17
023F 752311          169                MOV    BUFF_LED2,#17
0242 752511          170                MOV    BUFF_LED4,#17
0245 752611          171                MOV    BUFF_LED5,#17
0248 3095FD          172                JNB   KEYL1,$
024B 2157            173                JMP   WAIT_KEYL1
024D 752800          174     KS9:       MOV   BUFF_LED7,#00
0250 752909          175                MOV   BUFF_LED8,#09
0253 752211          176                MOV    BUFF_LED1,#17
0256 752311          177                MOV    BUFF_LED2,#17
0259 752511          178                MOV    BUFF_LED4,#17
025C 752611          179                MOV    BUFF_LED5,#17
025F 3096FD          180                JNB   KEYL2,$
0262 2157            181                JMP   WAIT_KEYL1
0264 752801          182     KS10:      MOV   BUFF_LED7,#01
0267 752900          183                MOV   BUFF_LED8,#00
026A 3096FD          184                JNB   KEYL2,$
026D 2157            185                JMP   WAIT_KEYL1
026F 752801          186     KS11:      MOV   BUFF_LED7,#01
0272 752901          187                MOV   BUFF_LED8,#01
0275 752211          188                MOV    BUFF_LED1,#17
0278 752311          189                MOV    BUFF_LED2,#17
027B 752511          190                MOV    BUFF_LED4,#17
A51 MACRO ASSEMBLER  DEMO_LED_0809                                                        05/30/2006 11:28:13 PAGE     4

027E 752611          191                MOV    BUFF_LED5,#17
0281 3096FD          192                JNB   KEYL2,$
0284 2157            193                JMP   WAIT_KEYL1
0286 752801          194     KS12:      MOV   BUFF_LED7,#01
0289 752902          195                MOV   BUFF_LED8,#02
028C 752211          196                MOV    BUFF_LED1,#17
028F 752311          197                MOV    BUFF_LED2,#17
0292 752511          198                MOV    BUFF_LED4,#17
0295 752611          199                MOV    BUFF_LED5,#17
0298 3096FD          200                JNB   KEYL2,$
029B 2157            201                JMP   WAIT_KEYL1
029D 752801          202     KS13:      MOV   BUFF_LED7,#01
02A0 752903          203                MOV   BUFF_LED8,#03
02A3 752211          204                MOV    BUFF_LED1,#17
02A6 752311          205                MOV    BUFF_LED2,#17
02A9 752511          206                MOV    BUFF_LED4,#17
02AC 752611          207                MOV    BUFF_LED5,#17
02AF 3096FD          208                JNB   KEYL2,$
02B2 2157            209                JMP   WAIT_KEYL1
02B4 752801          210     KS14:      MOV   BUFF_LED7,#01
02B7 752904          211                MOV   BUFF_LED8,#04
02BA 752211          212                MOV    BUFF_LED1,#17
02BD 752311          213                MOV    BUFF_LED2,#17
02C0 752511          214                MOV    BUFF_LED4,#17
02C3 752611          215                MOV    BUFF_LED5,#17
02C6 3096FD          216                JNB   KEYL2,$
02C9 2157            217                JMP   WAIT_KEYL1
02CB 752801          218     KS15:      MOV   BUFF_LED7,#01
02CE 752905          219                MOV   BUFF_LED8,#05
02D1 752211          220                MOV    BUFF_LED1,#17
02D4 752311          221                MOV    BUFF_LED2,#17
02D7 752511          222                MOV    BUFF_LED4,#17
02DA 752611          223                MOV    BUFF_LED5,#17
02DD 3096FD          224                JNB   KEYL2,$
02E0 2157            225                JMP   WAIT_KEYL1
02E2 752801          226     KS16:      MOV   BUFF_LED7,#01
02E5 752906          227                MOV   BUFF_LED8,#06
02E8 752211          228                MOV    BUFF_LED1,#17
02EB 752311          229                MOV    BUFF_LED2,#17
02EE 752511          230                MOV    BUFF_LED4,#17
02F1 752611          231                MOV    BUFF_LED5,#17
02F4 3096FD          232                JNB   KEYL2,$
02F7 2157            233                JMP   WAIT_KEYL1           
02F9 02036F          234     SW5_OKA: JMP   SW5_OK
02FC 02038B          235     SW6_OKA: JMP   SW6_OK
02FF E538            236     SW1_OK:  MOV    A,HOR
0301 B4180C          237              CJNE   A,#24,SW1_OVER
0304 753800          238              MOV    HOR,#00H
0307 D297            239              SETB   BEEP
0309 1203A7          240              LCALL  DEL
030C C297            241              CLR    BEEP
030E 2157            242              JMP    WAIT_KEYL1
0310 0538            243     SW1_OVER:INC    HOR        ;时加1
0312 D297            244              SETB    BEEP
0314 1203A7          245              LCALL  DEL
0317 C297            246              CLR    BEEP
0319 2157            247              JMP    WAIT_KEYL1
                     248     
031B E538            249     SW2_OK:  MOV    A,HOR
031D B4000C          250              CJNE   A,#00,SW2_OVER
0320 753817          251              MOV    HOR,#23
0323 D297            252              SETB   BEEP
0325 1203A7          253              LCALL  DEL
0328 C297            254              CLR    BEEP
032A 2157            255              JMP    WAIT_KEYL1
032C 1538            256     SW2_OVER:DEC    HOR        ;时减1
A51 MACRO ASSEMBLER  DEMO_LED_0809                                                        05/30/2006 11:28:13 PAGE     5

032E D297            257              SETB   BEEP
0330 1203A7          258              LCALL  DEL
0333 C297            259              CLR    BEEP
0335 2157            260              JMP    WAIT_KEYL1
                     261     
0337 E539            262     SW3_OK:  MOV    A,MIN
0339 B43B0C          263              CJNE   A,#59,SW3_OVER

⌨️ 快捷键说明

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