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

📄 main.lst

📁 是介绍使用单片机控制数码管显示的程序,可以显示多种样式.
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  MAIN                                                                 11/17/2007 23:56:46 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN MAIN.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE MAIN.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;*****************************************************
                       2     ;
                       3     ;   This programme is for mobile setup Ver1.0 beta
                       4     ;            The main control programe
                       5     ;This programme must be run in 12MHz standard settings
                       6     ;               Designer: cqmcu.com
                       7     ;
                       8     ;*****************************************************
                       9     
                      10     ;*****************************************************
                      11     ;参数定义
                      12     ;*****************************************************
                      13     
  0008                14     digital_bit             equ     08h                     ;显示位
  00C0                15     date_data               equ     0c0h                    ;时钟数据首地址
  000D                16     keys_byte               equ     0dh                     ;按键字节
                      17     
                      18     ;*****************************************************
                      19     ;主程序
                      20     ;*****************************************************
                      21     
0000                  22                             org     0000h
0000 802E             23                             sjmp    start
                      24     
0013                  25                             org     0013h
0013 02019C           26                             ljmp    keys_int
                      27     
0030                  28                             org     0030h
0030 758000           29     start:                  mov     p0,#0
0033 75900F           30                             mov     p1,#0fh
0036 75A000           31                             mov     p2,#0
0039 75B0FF           32                             mov     p3,#0ffh
                      33     
003C 758170           34                             mov     sp,#70h                     ;堆栈地址
003F 78FE             35                             mov     r0,#0feh                    ;Clear the ram
0041 7902             36                             mov     r1,#2
0043 E4               37                             clr     a
0044 F7               38     main_clear0:            mov     @r1,a
0045 09               39                             inc     r1
0046 D8FC             40                             djnz    r0,main_clear0
                      41     
0048 750976           42                             mov     09h,#76h
004B 750A54           43                             mov     0ah,#54h
004E 750B32           44                             mov     0bh,#32h
0051 750C10           45                             mov     0ch,#10h
                      46     
0054 750801           47                             mov     digital_bit,#1
0057 D2AA             48                             setb    ex1
0059 D2AF             49                             setb    ea
005B 120070           50                             lcall   beep1
005E 1200FB           51     main_wait:              lcall   digital
0061 E50D             52                             mov     a,keys_byte
0063 B40002           53                             cjne    a,#0,keysmanagement
0066 80F6             54                             sjmp    main_wait
                      55     
0068 1201C6           56     keysmanagement:         lcall   keys_management
006B 750D00           57                             mov     keys_byte,#0
006E 80EE             58                             sjmp    main_wait
A51 MACRO ASSEMBLER  MAIN                                                                 11/17/2007 23:56:46 PAGE     2

                      59     
                      60     ;*****************************************************
                      61     ;子程序文件载入
                      62     ;*****************************************************
                      63     
  0095                64     beep                    equ     p1.5
                      65     
                      66     ;*****************************************************
                      67     ;短鸣一声
                      68     ;*****************************************************
                      69     
0070 751F04           70     beep1:                  mov     1fh,#04h
0073 D295             71                             setb    beep
0075 1200FB           72     beep1_1:                lcall   digital
0078 1200FB           73                             lcall   digital
007B 1200FB           74                             lcall   digital
007E 1200FB           75                             lcall   digital
0081 1200FB           76                             lcall   digital
0084 1200FB           77                             lcall   digital
0087 D51FEB           78                             djnz    1fh,beep1_1
008A C295             79                             clr     beep
008C 22               80                             ret
                      81     
                      82     ;*****************************************************
                      83     ;长鸣一声
                      84     ;*****************************************************
                      85     
008D 751F1E           86     beep2:                  mov     1fh,#1eh
0090 D295             87                             setb    beep
0092 1200FB           88     beep2_1:                lcall   digital
0095 1200FB           89                             lcall   digital
0098 1200FB           90                             lcall   digital
009B 1200FB           91                             lcall   digital
009E 1200FB           92                             lcall   digital
00A1 1200FB           93                             lcall   digital
00A4 D51FEB           94                             djnz    1fh,beep2_1
00A7 C295             95                             clr     beep
00A9 22               96                             ret
                      97     
                      98     ;*****************************************************
                      99     ;短鸣两声
                     100     ;*****************************************************
                     101     
00AA 751F04          102     beep3:                  mov     1fh,#04h
00AD D295            103                             setb    beep
00AF 1200FB          104     beep3_1:                lcall   digital
00B2 1200FB          105                             lcall   digital
00B5 1200FB          106                             lcall   digital
00B8 1200FB          107                             lcall   digital
00BB 1200FB          108                             lcall   digital
00BE 1200FB          109                             lcall   digital
00C1 D51FEB          110                             djnz    1fh,beep3_1
00C4 C295            111                             clr     beep
00C6 751F04          112                             mov     1fh,#04h
00C9 1200FB          113     beep3_2:                lcall   digital
00CC 1200FB          114                             lcall   digital
00CF 1200FB          115                             lcall   digital
00D2 1200FB          116                             lcall   digital
00D5 1200FB          117                             lcall   digital
00D8 1200FB          118                             lcall   digital
00DB D51FEB          119                             djnz    1fh,beep3_2
00DE D295            120                             setb    beep
00E0 751F04          121                             mov     1fh,#04h
00E3 1200FB          122     beep3_3:                lcall   digital
00E6 1200FB          123                             lcall   digital
00E9 1200FB          124                             lcall   digital
A51 MACRO ASSEMBLER  MAIN                                                                 11/17/2007 23:56:46 PAGE     3

00EC 1200FB          125                             lcall   digital
00EF 1200FB          126                             lcall   digital
00F2 1200FB          127                             lcall   digital
00F5 D51FEB          128                             djnz    1fh,beep3_3
00F8 C295            129                             clr     beep
00FA 22              130                             ret
                     131     ;*****************************************************
                     132     
  0009               133     digital_byte            equ     09h                     ;显存首址,连续4字节为显存
                     134     
                     135     ;*****************************************************
                     136     ;数码管显示
                     137     ;*****************************************************
                     138     
00FB E508            139     digital:               mov     a,digital_bit
00FD 20E018          140                            jb      acc.0,digital_check0
0100 20E11E          141                            jb      acc.1,digital_check1
0103 20E223          142                            jb      acc.2,digital_check2
0106 20E32A          143                            jb      acc.3,digital_check3
0109 20E430          144                            jb      acc.4,digital_check4
010C 20E538          145                            jb      acc.5,digital_check5
010F 20E63F          146                            jb      acc.6,digital_check6
0112 20E748          147                            jb      acc.7,digital_check7
0115 118D            148                            call    beep2
0117 22              149                            ret
0118 7809            150     digital_check0:        mov     r0,#digital_byte
011A E6              151                            mov     a,@r0
011B C4              152                            swap    a
011C 540F            153                            anl     a,#0fh
011E 8048            154                            jmp     digital_display
0120 22              155                            ret
0121 7809            156     digital_check1:        mov     r0,#digital_byte
0123 E6              157                            mov     a,@r0
0124 540F            158                            anl     a,#0fh
0126 8040            159                            jmp     digital_display
0128 22              160                            ret
0129 7809            161     digital_check2:        mov     r0,#digital_byte
012B 08              162                            inc     r0
012C E6              163                            mov     a,@r0
012D C4              164                            swap    a
012E 540F            165                            anl     a,#0fh
0130 8036            166                            jmp     digital_display
0132 22              167                            ret
0133 7809            168     digital_check3:        mov     r0,#digital_byte
0135 08              169                            inc     r0
0136 E6              170                            mov     a,@r0
0137 540F            171                            anl     a,#0fh
0139 802D            172                            jmp     digital_display
013B 22              173                            ret
013C 7809            174     digital_check4:        mov     r0,#digital_byte
013E 08              175                            inc     r0
013F 08              176                            inc     r0
0140 E6              177                            mov     a,@r0
0141 C4              178                            swap    a
0142 540F            179                            anl     a,#0fh
0144 8022            180                            jmp     digital_display
0146 22              181                            ret
0147 7809            182     digital_check5:        mov     r0,#digital_byte

⌨️ 快捷键说明

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