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

📄 5-1.lst

📁 8051单片机的万年历程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
A51 MACRO ASSEMBLER  5-1                                                                  09/12/2004 21:30:19 PAGE     1


MACRO ASSEMBLER A51 V1.08
OBJECT MODULE PLACED IN 5-1.OBJ
ASSEMBLER INVOKED BY: C:\MANLEY\PMEDWIN\A51.EXE 5-1.ASM DB

LOC  OBJ            LINE     SOURCE

                       1     ;---------------------------------------万年历------------------------------------
                       2     ;5-1.asm
                       3     ;万年历程序
                       4     ;---------------------------------------头文件------------------------------------
  0000                 5     FL_250ms        BIT             00H
  0001                 6     FL_500ms        BIT             FL_250ms+1
  0002                 7     Set_Clk_F       BIT             FL_500ms+1
  0003                 8     Set_AL4_F       BIT             Set_Clk_F+1
  0004                 9     AM_F            BIT             Set_AL4_F+1
  0005                10     FL_3S           BIT             AM_F+1
  0006                11     AL1_F           BIT             FL_3S+1
  0007                12     AL2_F           BIT             FL_3S+2
  0008                13     AL3_F           BIT             FL_3S+3
  0009                14     AL4_F           BIT             FL_3S+4
  000A                15     Set_Over                BIT             AL4_F+1 
  000B                16     HA_F            BIT             Set_Over+1
  000C                17     HA_OVER         BIT             HA_F+1
  000D                18     FL_MS_F         BIT             HA_OVER+1
  000E                19     FL_S_F          BIT             FL_MS_F+1 
  000F                20     Key_OVER        BIT             FL_S_F+1
                      21     ;-----------------------------------------------------------------------------------------
  0008                22     Key_Data        EQU     08H
  0009                23     TimerS          EQU     Key_Data+1
  000A                24     T_30ms          EQU     TimerS+1
  000B                25     T_20MS          EQU     T_30ms+1
  000C                26     T_1S            EQU     T_20MS+1
  000D                27     K1_Data                 EQU     T_1S+1
  000E                28     K2_Data                 EQU     K1_Data+1
  000F                29     Stat_Work       EQU     K2_Data+1
  0010                30     Stat_Led                EQU     Stat_Work+1
  0011                31     T_1ms           EQU     Stat_Led+1
  0012                32     T_20M           EQU     T_1ms+1 
  0012                33     Beep            EQU     T_20M
  0013                34     AL1             EQU     Beep+1
  0014                35     AL2             EQU     Beep+2
  0015                36     AL3             EQU             Beep+3
  0016                37     AL4             EQU     Beep+4
  0017                38     AL5             EQU     Beep+5
  0018                39     AL6             EQU     Beep+6
  0019                40     AL7             EQU     Beep+7
  001A                41     AL8             EQU     Beep+8
  001B                42     Ret_Timer       EQU     AL8+1
                      43     ;--------------------------------------定义计时单元-----------------------------------
  0023                44     SEC             EQU     23H                             ;定义秒单元
  0024                45     MIN             EQU     SEC+1H                  ;定义分钟单元
  0025                46     Hour            EQU     MIN+1H                  ;定义小时单元
  0026                47     Day                     EQU     Hour+1H                 ;定义日单元
  0027                48     Mon             EQU     Day+1H                  ;定义月单元
  0028                49     Year            EQU     Mon+1H                  ;定义年单元
  0029                50     W_Adj           EQU     Year+1H                 ;定义
  002A                51     Week            EQU     W_Adj+1H                ;定义星期单元
                      52     ;-----------------------------------8路定时单元------------------------------------
  002B                53     AL1_H           EQU     Week+1H                 ;1路时单元
  002C                54     AL1_M           EQU     AL1_H+1H                ;1路分单元
  002D                55     AL2_H           EQU     AL1_M+1H                ;2路时单元
  002E                56     AL2_M           EQU     AL2_H+1H                ;2路分单元
  002F                57     AL3_H           EQU     AL2_M+1H                ;3路时单元
  0030                58     AL3_M           EQU     AL3_H+1H                ;3路分单元
A51 MACRO ASSEMBLER  5-1                                                                  09/12/2004 21:30:19 PAGE     2

  0031                59     AL4_H           EQU     AL3_M+1H                ;4路时单元
  0032                60     AL4_M           EQU     AL4_H+1H                ;4路分单元
  0033                61     AL5_H           EQU     AL4_M+1H                ;5路时单元
  0034                62     AL5_M           EQU     AL5_H+1H                ;5路分单元
  0035                63     AL6_H           EQU     AL5_M+1H                ;6路时单元
  0036                64     AL6_M           EQU     AL6_H+1H                ;6路分单元
  0037                65     AL7_H           EQU     AL6_M+1H                ;7路时单元
  0038                66     AL7_M           EQU     AL7_H+1H                ;7路分单元
  0039                67     AL8_H           EQU     AL7_M+1H                ;8路时单元
  003A                68     AL8_M           EQU     AL8_H+1H                ;8路分单元
  003B                69     Beep_T          EQU     AL8_M+1
  003C                70     Frist           EQU     Beep_T+1
                      71     ;----------------------------------------定义显存-------------------------------------
  003D                72     Led1            EQU     Frist+1
  003E                73     Led2            EQU     Led1+1
  003F                74     Led3            EQU     Led2+1
  0040                75     Led4            EQU     Led3+1
  0041                76     Led5            EQU     Led4+1
  0042                77     SP_Data                 EQU     Led5+1
                      78     ;-----------------------------------------------------------------------------------------
  00B5                79     Led_1           BIT             P3.5                            ;定义数码显示器的位控端口1
  00B4                80     Led_2           BIT             P3.4                            ;定义数码显示器的位控端口2
  00B3                81     Led_3           BIT             P3.3                            ;定义数码显示器的位控端口3
  00B2                82     Led_4           BIT             P3.2                            ;定义数码显示器的位控端口4
  00B1                83     Led_5           BIT             P3.1                            ;定义数码显示器的位控端口5
  00B7                84     Beep_F          BIT             P3.7
  00B0                85     Key_F           BIT             P3.0
                      86     ;-----------------------------------------------------------------------------------------
  005D                87     T_H_100MS       EQU     05DH                    ;100 ms for 6MHz
  007F                88     T_L_100ms       EQU     07FH                    ;C6 for 100ms 
  0008                89     Timer_NO        EQU     8D                              ;3C90+30D=3CB0H
  0032                90     W_Adj_Dat       EQU     50D
  0006                91     Key_DA          EQU     00000110B
                      92     ;-----------------------------------------------------------------------------------------
  0014                93     Blk_Led                 EQU     20D 
  0015                94     DOT_Led         EQU     21D 
  0016                95     F_Led           EQU     22D 
  0017                96     N_Led           EQU     23D 
  0018                97     U_Led           EQU     24D 
  0019                98     T_Led           EQU     25D 
  001A                99     B_Led           EQU     26D 
  001B               100     D_Led           EQU     27D 
                     101     ;--------------------------------------系统复位程序---------------------------------
0000                 102     ORG     0000H
0000 020024          103     LJMP    START 
                     104     ;--------------------------------------外中断0入口---------------------------------
0003                 105     ORG     0003H
0003 32              106     RETI
                     107     ;--------------------------------------T0中断入口----------------------------------
000B                 108     ORG     000BH
000B 32              109     RETI
                     110     ;--------------------------------------外中断1入口---------------------------------
0013                 111     ORG     0013H 
0013 32              112     RETI
                     113     ;--------------------------------------T1中断入口----------------------------------
001B                 114     ORG     001BH
001B 0206A0          115     LJMP    T1INT
                     116     ;--------------------------------------串行口中断入口------------------------------
0023                 117     ORG     0023H
0023 32              118     RETI
                     119     ;--------------------------------------主程序------------------------------------------
0024 12034F          120     START:  LCALL   Clr_Ram                 ;清内存
0027 758142          121     MOV     SP, #SP_Data            ;设置栈区首地址
002A 120051          122     LCALL   INT_T0                          ;
002D 120084          123     LCALL   Timer_INT                       ;
0030 120311          124     LCALL   Timer_20ms                      ;
A51 MACRO ASSEMBLER  5-1                                                                  09/12/2004 21:30:19 PAGE     3

0033 1200BB          125     STAR_BI:        LCALL   Clock 
0036 12014E          126     LCALL   Week_Auto
0039 1201A4          127     LCALL   AL_Out
003C 120746          128     LCALL   Key_Bord
003F 120706          129     LCALL   Key_Del 
0042 120359          130     LCALL   Set_Clk_AL
0045 1201F4          131     LCALL   Key_Jmp 
0048 1201D2          132     LCALL   REBack
004B 12022B          133     LCALL   Led_Jmp
004E 020033          134     LJMP    STAR_BI 
                     135     ;---------------------------------T1中断初始化程序-----------------------------
0051 D2AB            136     INT_T0: SETB    ET1                                     ;T1开中断
0053 758911          137     MOV     TMOD, #00010001B                ;T1定时方式1
0056 752932          138     MOV     W_Adj, #W_Adj_Dat
0059 D2AF            139     SETB    EA
005B 0206B9          140     LJMP    Adj_W
005E 782B            141     AL_Led: MOV     R0, #AL1_H
0060 E50F            142     MOV     A, Stat_Work
0062 14              143     DEC     A
0063 23              144     RL              A
0064 28              145     ADD     A, R0
0065 F8              146     MOV     R0, A
0066 E6              147     MOV     A, @R0
0067 1202A0          148     LCALL   BCD_8
006A F53E            149     MOV     Led2, A
006C 7003            150     JNZ     AL_1
006E 753E14          151     MOV     Led2, #Blk_Led
0071 E5F0            152     AL_1:   MOV     A, B
0073 240A            153     ADD     A, #10D
0075 F53F            154     MOV     Led3, A
0077 08              155     INC     R0
0078 E6              156     MOV     A, @R0
0079 1202A0          157     LCALL   BCD_8
007C 240A            158     ADD     A, #10D
007E F540            159     MOV     Led4, A
0080 85F041          160     MOV     Led5, B
0083                 161     AL_Led_End:
0083 22              162     RET
                     163     ;-----------------------------------------------------------------------------------------
0084 750C08          164     Timer_INT:MOV   T_1S, #Timer_NO
0087 753B0F          165     MOV     Beep_T, #15D
008A 752801          166     MOV     Year, #01D
008D 75270B          167     MOV     Mon, #011D
0090 752606          168     MOV     Day, #06D
0093 75250D          169     MOV     Hour, #13D
0096 752400          170     MOV     MIN, #00D
0099 752300          171     MOV     SEC, #00D
009C 7F10            172     MOV     R7,#16
009E 9000AB          173     MOV     DPTR, #AL_ASC
00A1 782B            174     MOV     R0, #AL1_H
00A3 E4              175     AL_READ:CLR     A
00A4 93              176     MOVC    A, @A+DPTR
00A5 F6              177     MOV     @R0, A
00A6 08              178     INC     R0
00A7 A3              179     INC     DPTR
00A8 DFF9            180     DJNZ    R7, AL_READ
00AA 22              181     RET
                     182     ;-----------------------------------------------------------------------------------------
00AB 06280632        183     AL_ASC: DB      06D,40D, 06D,50D, 07D,00D, 07D,10D;AM 4_AL
00AF 0700070A
00B3 070F0D28        184     DB      07D,15D, 013D,40D, 13D,45D, 14D,15D;PM 4_AL
00B7 0D2D0E0F
                     185     ;-----------------------------------------------------------------------------------------
00BB E523            186     Clock:  MOV     A, SEC 
00BD B43C56          187     CJNE    A, #60D, Clock_End
00C0 752300          188     MOV     SEC, #00H
A51 MACRO ASSEMBLER  5-1                                                                  09/12/2004 21:30:19 PAGE     4

00C3 0524            189     INC     MIN
00C5 C20C            190     CLR     HA_OVER
00C7 E524            191     MOV     A, MIN
00C9 B43C4A          192     CJNE    A, #60D, Clock_End
00CC 752400          193     MOV     MIN, #00H
00CF 0525            194     INC     Hour
00D1 E525            195     MOV     A, Hour
00D3 B41840          196     CJNE    A, #24D, Clock_End
00D6 752500          197     MOV     Hour, #00H
00D9 E527            198     MOV     A, Mon
00DB 6402            199     XRL     A, #02D
00DD 7009            200     JNZ     MM_1
00DF 900126          201     MOV     DPTR, #Year_D
00E2 E528            202     MOV     A, Year
00E4 93              203     MOVC    A, @A+DPTR
00E5 0200EF          204     LJMP    MM_2
00E8 E527            205     MM_1:   MOV     A, Mon
00EA 14              206     DEC     A 
00EB 90011A          207     MOV     DPTR, #MOU_12
00EE 93              208     MOVC    A, @A+DPTR
00EF F5F0            209     MM_2:   MOV     B, A
00F1 05F0            210     INC     B
00F3 0526            211     INC     Day
00F5 E526            212     MOV     A, Day
00F7 B5F003          213     CJNE    A, B, CLCK_End
00FA 0200FF          214     LJMP    CLCK1
00FD 4017            215     CLCK_End:JC             Clock_End
00FF 752601          216     CLCK1:  MOV     Day, #01H
0102 0527            217     INC     Mon
0104 E527            218     MOV     A, Mon

⌨️ 快捷键说明

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