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

📄 demo_led_8255.lst

📁 单片机时钟代码
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  DEMO_LED_8255                                                        05/30/2006 11:12:23 PAGE     1


MACRO ASSEMBLER A51 V1.11
OBJECT MODULE PLACED IN DEMO_LED_8255.OBJ
ASSEMBLER INVOKED BY: C:\MANLEY\PMEDWIN\A51.EXE DEMO_LED_8255.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
  8000                26              CS_8255    EQU   8000H     ;CS8255接CS0处
  8000                27              ADD_8255_PA  EQU  08000H
  8001                28              ADD_8255_PB  EQU  08001H
  8002                29              ADD_8255_PC  EQU  08002H
  8003                30              ADD_8255_PCON EQU 08003H
  0030                31              BUFF_RED    EQU   30H           ;红灯缓存
  0031                32              BUFF_YEL    EQU   31H           ;黄灯缓存
  0032                33              BUFF_GRN    EQU   32H           ;绿灯缓存
  0033                34              BUFF_STEP   EQU   33H           ;交通灯运行步骤
  003C                35              RED_VAL     EQU   60
  0005                36              YEL_VAL     EQU   5
  001E                37              GRN_VAL     EQU   30
  0038                38              HOR         EQU   38H
  0039                39              MIN         EQU   39H
  003A                40              SEC         EQU   3AH
0000                  41             org   000h
0000 020100           42             JMP   main
000B                  43             ORG   00BH
000B 0203BA           44             JMP   T0_INT
0100                  45             ORG   100H
0100 758140           46     MAIN:   MOV    SP ,#40H
0103 75D000           47             MOV    PSW,#00H
0106 787F             48             MOV    R0,#7FH      ;初始化RAM区,
0108 7400             49     CLR_RAM:MOV    A,#00H
010A F6               50             MOV    @R0,A
010B D8FB             51             DJNZ   R0,CLR_RAM
010D 7590FF           52             MOV    P1,#0FFH      ;INIT
0110 75A0FF           53             MOV    P2,#0FFH
0113 7580FF           54             MOV    P0,#0FFH
0116 75B0FF           55             MOV    P3,#0FFH
0119 758921           56             MOV    TMOD,#21h
011C 758CF4           57             MOV    TH0,#HIGH(65536-3000)     ;T0=3MS
011F 758A47           58             MOV    TL0,#LOW(65535-3000)
A51 MACRO ASSEMBLER  DEMO_LED_8255                                                        05/30/2006 11:12:23 PAGE     2

                      59            ; SETB   TR0
                      60            ; SETB   ET0
                      61            ; SETB   EA
0122 908003           62             MOV    DPTR,#ADD_8255_PCON       ;初始化8255
0125 7480             63             MOV    A,#80H
0127 F0               64             MOVX   @DPTR,A
0128 908000           65             MOV    DPTR,#ADD_8255_PA
012B 7400             66     MLOOP:  MOV    A,#00H
012D F0               67             MOVX   @DPTR,A
012E 120398           68             LCALL  DEL
0131 74FF             69             MOV    A,#0FFH
0133 F0               70             MOVX   @DPTR,A
0134 120398           71             LCALL  DEL
0137 80F2             72             JMP    MLOOP
                      73             
0139 75380A           74             mov    hor,#10
013C 75390A           75             mov    min,#10
013F 753A0A           76             mov    sec,#10
0142 752711           77             MOV    BUFF_LED6,#17
0145 752411           78             MOV    BUFF_LED3,#17
                      79             
0148 20951C           80     WAIT_KEYL1:JB    KEYL1,WAIT_KEYL2      ;等候按键!
014B 752C00           81                MOV   BUFF_T0,#00H
014E E590             82                MOV   A,P1
0150 541C             83                ANL   A,#00011100B
0152 03               84                RR    A
0153 900157           85                MOV   DPTR,#TAB_KL1
0156 73               86                JMP   @A+DPTR
0157 2186             87     TAB_KL1:   AJMP  KS1
0159 219D             88                AJMP  KS2           
015B 21B4             89                AJMP  KS3
015D 21CB             90                AJMP  KS4  
015F 21E2             91                AJMP  KS5
0161 21F9             92                AJMP  KS6           
0163 4110             93                AJMP  KS7
0165 4127             94                AJMP  KS8 
0167 2096DE           95     WAIT_KEYL2:JB    KEYL2,WAIT_KEYL1
016A 752C00           96                MOV   BUFF_T0,#00H
016D E590             97                MOV   A,P1
016F 541C             98                ANL   A,#00011100B
0171 03               99                RR    A
0172 900176          100                MOV   DPTR,#TAB_KL2
0175 73              101                JMP   @A+DPTR
0176 413E            102     TAB_KL2:   AJMP  KS9
0178 4155            103                AJMP  KS10           
017A 4160            104                AJMP  KS11
017C 4177            105                AJMP  KS12 
017E 418E            106                AJMP  KS13
0180 41A5            107                AJMP  KS14          
0182 41BC            108                AJMP  KS15
0184 41D3            109                AJMP  KS16
0186 752800          110     KS1:       MOV   BUFF_LED7,#00      ;显示键值
0189 752901          111                MOV   BUFF_LED8,#01
018C 752211          112                MOV    BUFF_LED1,#17
018F 752311          113                MOV    BUFF_LED2,#17
0192 752511          114                MOV    BUFF_LED4,#17
0195 752611          115                MOV    BUFF_LED5,#17
0198 3095FD          116                JNB   KEYL1,$
019B 80AB            117                JMP   WAIT_KEYL1
019D 752800          118     KS2:       MOV   BUFF_LED7,#00
01A0 752902          119                MOV   BUFF_LED8,#02
01A3 752211          120                MOV    BUFF_LED1,#17
01A6 752311          121                MOV    BUFF_LED2,#17
01A9 752511          122                MOV    BUFF_LED4,#17
01AC 752611          123                MOV    BUFF_LED5,#17
01AF 3095FD          124                JNB   KEYL1,$
A51 MACRO ASSEMBLER  DEMO_LED_8255                                                        05/30/2006 11:12:23 PAGE     3

01B2 8094            125                JMP   WAIT_KEYL1
01B4 752800          126     KS3:       MOV   BUFF_LED7,#00
01B7 752903          127                MOV   BUFF_LED8,#03
01BA 752211          128                MOV    BUFF_LED1,#17
01BD 752311          129                MOV    BUFF_LED2,#17
01C0 752511          130                MOV    BUFF_LED4,#17
01C3 752611          131                MOV    BUFF_LED5,#17
01C6 3095FD          132                JNB   KEYL1,$
01C9 2148            133                JMP   WAIT_KEYL1
01CB 752800          134     KS4:       MOV   BUFF_LED7,#00
01CE 752904          135                MOV   BUFF_LED8,#04
01D1 752211          136                MOV    BUFF_LED1,#17
01D4 752311          137                MOV    BUFF_LED2,#17
01D7 752511          138                MOV    BUFF_LED4,#17
01DA 752611          139                MOV    BUFF_LED5,#17
01DD 3095FD          140                JNB   KEYL1,$
01E0 2148            141                JMP   WAIT_KEYL1
01E2 752800          142     KS5:       MOV   BUFF_LED7,#00
01E5 752905          143                MOV   BUFF_LED8,#05
01E8 752211          144                MOV    BUFF_LED1,#17
01EB 752311          145                MOV    BUFF_LED2,#17
01EE 752511          146                MOV    BUFF_LED4,#17
01F1 752611          147                MOV    BUFF_LED5,#17
01F4 3095FD          148                JNB   KEYL1,$
01F7 2148            149                JMP   WAIT_KEYL1
01F9 752800          150     KS6:       MOV   BUFF_LED7,#00
01FC 752906          151                MOV   BUFF_LED8,#06
01FF 752211          152                MOV    BUFF_LED1,#17
0202 752311          153                MOV    BUFF_LED2,#17
0205 752511          154                MOV    BUFF_LED4,#17
0208 752611          155                MOV    BUFF_LED5,#17
020B 3095FD          156                JNB   KEYL1,$
020E 2148            157                JMP   WAIT_KEYL1
0210 752800          158     KS7:       MOV   BUFF_LED7,#00
0213 752907          159                MOV   BUFF_LED8,#07
0216 752211          160                MOV    BUFF_LED1,#17
0219 752311          161                MOV    BUFF_LED2,#17
021C 752511          162                MOV    BUFF_LED4,#17
021F 752611          163                MOV    BUFF_LED5,#17
0222 3095FD          164                JNB   KEYL1,$
0225 2148            165                JMP   WAIT_KEYL1
0227 752800          166     KS8:       MOV   BUFF_LED7,#00
022A 752908          167                MOV   BUFF_LED8,#08
022D 752211          168                MOV    BUFF_LED1,#17
0230 752311          169                MOV    BUFF_LED2,#17
0233 752511          170                MOV    BUFF_LED4,#17
0236 752611          171                MOV    BUFF_LED5,#17
0239 3095FD          172                JNB   KEYL1,$
023C 2148            173                JMP   WAIT_KEYL1
023E 752800          174     KS9:       MOV   BUFF_LED7,#00
0241 752909          175                MOV   BUFF_LED8,#09
0244 752211          176                MOV    BUFF_LED1,#17
0247 752311          177                MOV    BUFF_LED2,#17
024A 752511          178                MOV    BUFF_LED4,#17
024D 752611          179                MOV    BUFF_LED5,#17
0250 3096FD          180                JNB   KEYL2,$
0253 2148            181                JMP   WAIT_KEYL1
0255 752801          182     KS10:      MOV   BUFF_LED7,#01
0258 752900          183                MOV   BUFF_LED8,#00
025B 3096FD          184                JNB   KEYL2,$
025E 2148            185                JMP   WAIT_KEYL1
0260 752801          186     KS11:      MOV   BUFF_LED7,#01
0263 752901          187                MOV   BUFF_LED8,#01
0266 752211          188                MOV    BUFF_LED1,#17

⌨️ 快捷键说明

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