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

📄 93c46seg.lst

📁 K3:--- P1.6 K4:--- P1.7 BEEP:--- P3.7 K3 --- 控制按键 K4 --- 清零按键 开机显示: SECOND-CLOCK 0 TIM
💻 LST
字号:
A51 MACRO ASSEMBLER  93C46SEG                                                             06/03/2005 12:22:10 PAGE     1


MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\93c46seg.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\93c46seg.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2     ;本程序使用93c46存储七段码的实时状态
                       3     
                       4     ;=====================================================
  0080                 5     READ    EQU     80H                                     ;读命令码
  0040                 6     WRITE   EQU     40H                                     ;写命令码
  0030                 7     EWEN    EQU     30H                                     ;写使能命令码
  0000                 8     EWDS    EQU     00H                 ;写禁止命令码
                       9     
                      10     ;AT93C46接口
  00B4                11     MEM_CS          EQU     P3.4
  00B3                12     MEM_SK          EQU     P3.3
                      13     ;MEM_ORG                EQU     P1.2    ;LOGIC1=>16bit
  00B5                14     MEM_DI          EQU     P3.5
  00B6                15     MEM_DO          EQU     P3.6
0000                  16             org     0000h
0000 0130             17             ajmp    main
0030                  18             org     0030h
0030                  19     main:
0030 C2A0             20             CLR P2.0                                ;开个位显示
0032 753000           21             mov 30h,#00h
0035 9000B6           22             mov dptr,#tab
0038 7480             23             MOV     A,      #READ
003A D2B4             24             SETB    MEM_CS
003C C2B3             25             CLR     MEM_SK
003E D2B5             26             SETB    MEM_DI
0040 D2B3             27             SETB    MEM_SK
0042 1200C6           28             LCALL   WR_AT93C46
0045 1200DA           29             LCALL   RD_AT93C46
0048 F530             30             mov 30h,a
004A B40A00           31             cjne    a,#0Ah,com1
004D                  32     com1: 
004D 4004             33             jc loop
004F 7400             34             mov     a,#00h
0051 F530             35             mov 30h,a
0053                  36     loop:
0053 93               37             movc a,@a+dptr
0054 F580             38             mov p0,a
0056 0530             39             inc 30h
0058 7C64             40             mov r4,#100
005A                  41     tt3:
005A 1200AD           42             lcall delay10ms
005D DCFB             43             djnz    r4,tt3
005F C2B4             44             CLR     MEM_CS
0061 7430             45             MOV     A,      #EWEN           ;允许写入
0063 D2B4             46             SETB    MEM_CS
0065 C2B3             47             CLR     MEM_SK
0067 D2B5             48             SETB    MEM_DI
0069 D2B3             49             SETB    MEM_SK
006B 1200C6           50             LCALL   WR_AT93C46
006E C2B4             51             CLR     MEM_CS
0070 1200EB           52             LCALL   DELAY20MS
                      53     
0073 7440             54             MOV     A,      #WRITE          ;写指令
0075 D2B4             55             SETB    MEM_CS
0077 C2B3             56             CLR     MEM_SK
0079 D2B5             57             SETB    MEM_DI
007B D2B3             58             SETB    MEM_SK
A51 MACRO ASSEMBLER  93C46SEG                                                             06/03/2005 12:22:10 PAGE     2

007D 1200C6           59             LCALL   WR_AT93C46
0080 E530             60             MOV     A,      30h
0082 1200C6           61             LCALL   WR_AT93C46
0085 E531             62             MOV     A,      31h
0087 1200C6           63             LCALL   WR_AT93C46
008A C2B4             64             CLR     MEM_CS
008C 1200F4           65             LCALL   DELAY30MS
008F 1200F4           66             LCALL   DELAY30MS
                      67     
0092 7400             68             MOV     A,      #EWDS           ;禁止写入
0094 D2B4             69             SETB    MEM_CS
0096 C2B3             70             CLR     MEM_SK
0098 D2B5             71             SETB    MEM_DI
009A D2B3             72             SETB    MEM_SK
009C 1200C6           73             LCALL   WR_AT93C46
009F C2B4             74             CLR     MEM_CS
                      75     
00A1 E530             76             mov a,30h
00A3 B40AAD           77             cjne a,#10,loop
00A6 753000           78             mov     30h,#00h
00A9 E530             79             mov     a,30h
                      80     
00AB 0153             81             ajmp    loop
                      82     
00AD                  83     delay10ms:
00AD 7E64             84             mov r6,#100
00AF                  85     tt2:
00AF 7D32             86             mov r5,#50
00B1 DDFE             87             djnz r5,$
00B3 DEFA             88             djnz r6,tt2
00B5 22               89             ret
                      90             
00B6 C0F9A4B0         91     tab:    db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh
00BA 999282F8                
00BE 80908883                
00C2 C6A1868E                
                      92     
                      93     
00C6                  94     WR_AT93C46:
00C6 D2B4             95             SETB    MEM_CS
00C8 C2B3             96             CLR     MEM_SK
00CA 7F08             97             MOV     R7,       #08H
00CC                  98     WR_AT93C46_00:
00CC C2B3             99             CLR     MEM_SK
00CE 33              100             RLC     A
00CF 92B5            101             MOV     MEM_DI,  C
00D1 D2B3            102             SETB    MEM_SK
00D3 DFF7            103             DJNZ    R7,      WR_AT93C46_00
00D5 C2B3            104             CLR     MEM_SK
00D7 D2B5            105             SETB    MEM_DI
00D9 22              106             RET
                     107     ;*********************************************
00DA                 108     RD_AT93C46:
00DA C2B3            109             CLR     MEM_SK
00DC 7F08            110             MOV     R7,     #08H
00DE D2B6            111             SETB    MEM_DO
00E0                 112     RD_AT93C46_00:
00E0 D2B3            113             SETB    MEM_SK
00E2 00              114             NOP
00E3 A2B6            115             MOV     C,      MEM_DO
00E5 33              116             RLC     A
00E6 C2B3            117             CLR     MEM_SK
00E8 DFF6            118             DJNZ    R7,     RD_AT93C46_00
00EA 22              119             RET
                     120     ;#############################################################################
00EB                 121     DELAY20MS:
A51 MACRO ASSEMBLER  93C46SEG                                                             06/03/2005 12:22:10 PAGE     3

                     122             
00EB 7E3C            123             MOV     R6,     #03CH
00ED                 124     Dly20_CON2:
00ED 7FFF            125             MOV     R7,     #0FFH
00EF                 126     Dly20_CON1:
00EF DFFE            127             DJNZ    R7,     Dly20_CON1
00F1 DEFA            128             DJNZ    R6,     Dly20_CON2
00F3 22              129             RET
                     130     
00F4                 131     DELAY30MS:
00F4 C006            132             PUSH    6
00F6 C007            133             PUSH    7
00F8 7E59            134             MOV     R6,     #059H
00FA                 135     Dly30_CON2:
00FA 7FFF            136             MOV     R7,     #0FFH
00FC                 137     Dly30_CON1:
00FC DFFE            138             DJNZ    R7,     Dly30_CON1
00FE DEFA            139             DJNZ    R6,     Dly30_CON2
0100 D007            140             POP     7
0102 D006            141             POP     6
0104 22              142             RET
                     143     end
A51 MACRO ASSEMBLER  93C46SEG                                                             06/03/2005 12:22:10 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

COM1 . . . . . . .  C ADDR   004DH   A   
DELAY10MS. . . . .  C ADDR   00ADH   A   
DELAY20MS. . . . .  C ADDR   00EBH   A   
DELAY30MS. . . . .  C ADDR   00F4H   A   
DLY20_CON1 . . . .  C ADDR   00EFH   A   
DLY20_CON2 . . . .  C ADDR   00EDH   A   
DLY30_CON1 . . . .  C ADDR   00FCH   A   
DLY30_CON2 . . . .  C ADDR   00FAH   A   
EWDS . . . . . . .  N NUMB   0000H   A   
EWEN . . . . . . .  N NUMB   0030H   A   
LOOP . . . . . . .  C ADDR   0053H   A   
MAIN . . . . . . .  C ADDR   0030H   A   
MEM_CS . . . . . .  B ADDR   00B0H.4 A   
MEM_DI . . . . . .  B ADDR   00B0H.5 A   
MEM_DO . . . . . .  B ADDR   00B0H.6 A   
MEM_SK . . . . . .  B ADDR   00B0H.3 A   
P0 . . . . . . . .  D ADDR   0080H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
RD_AT93C46 . . . .  C ADDR   00DAH   A   
RD_AT93C46_00. . .  C ADDR   00E0H   A   
READ . . . . . . .  N NUMB   0080H   A   
TAB. . . . . . . .  C ADDR   00B6H   A   
TT2. . . . . . . .  C ADDR   00AFH   A   
TT3. . . . . . . .  C ADDR   005AH   A   
WRITE. . . . . . .  N NUMB   0040H   A   
WR_AT93C46 . . . .  C ADDR   00C6H   A   
WR_AT93C46_00. . .  C ADDR   00CCH   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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