wl007.lst

来自「周立功的51单片机试验例程,我当年就是靠这个学会单片机的」· LST 代码 · 共 95 行

LST
95
字号
A51 MACRO ASSEMBLER  WL007                                                                01/18/2004 13:59:05 PAGE     1


MACRO ASSEMBLER A51 V7.08a
OBJECT MODULE PLACED IN wl007.OBJ
ASSEMBLER INVOKED BY: D:\Keil\C51\BIN\A51.EXE wl007.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ; /*******************************************************************************
                       2     ; *                                                                              *
                       3     ; *    File       :      .c                                                      *
                       4     ; *    Date       : 2004-1-5                                                     *
                       5     ; *    Version    : 1.0                                                          *
                       6     ; *                                                                              *
                       7     ; *    Author     : Freeman          freeman@willar.com                          *
                       8     ; *    Company    : Willar           www.willar.com                              *
                       9     ; *                                                                              *
                      10     ; ********************************************************************************
                      11     ; *    Descriptoon:                                                              *
                      12     ; *                读写AT24C01演示程序                                           *
                      13     ; *                                                                              *
                      14     ; *                                                                              *
                      15     ; *                                                                              *
                      16     ; *******************************************************************************/
                      17     
                      18     NAME    WL007
                      19     
  00A1                20     OP_READ         EQU     0xa1            ; 器件地址以及读取操作
  00A0                21     OP_WRITE        EQU     0xa0            ; 器件地址以及写入操作
  007F                22     MAX_ADDR        EQU     0x7f            ; AT24C01最大地址
                      23     
                      24     CODE_SEG        SEGMENT CODE 
                      25     DATA_SEG        SEGMENT DATA
                      26     STACK_SEG       SEGMENT IDATA
                      27     
                      28     
----                  29             RSEG  DATA_SEG
0000                  30     ADDR:   DS      1
0001                  31     TMP2:   DS      1
0002                  32     TMP3:   DS      1
                      33     
----                  34             RSEG    STACK_SEG
0000                  35     STACK:          DS      20
                      36     
  0090                37     SCL     BIT     P1.0
  0091                38     SDA     BIT     P1.1
                      39     
                      40     ;===============================================================================
----                  41     CSEG    AT      0000H                   ; 复位向量
0000 020000   F       42             JMP     MAIN
                      43     
                      44     
                      45     
                      46     ;===============================================================================
----                  47             RSEG  CODE_SEG
0000                  48     MAIN:
                      49     ; 主程序开始
                      50     
                      51             USING   0
                      52             
0000 758100   F       53             MOV     SP, #(STACK-1)          ; 设置堆栈
                      54             
0003 D291             55             SETB    SDA
0005 D290             56             SETB    SCL
                      57     
0007 7F5A             58             MOV     R7,#05AH                ; 全部填充0xff
A51 MACRO ASSEMBLER  WL007                                                                01/18/2004 13:59:05 PAGE     2

0009 120000   F       59             LCALL   FILL_BYTE
                      60     
000C E4               61             CLR     A
000D F500     F       62             MOV     ADDR,A
000F                  63     MAIN_LP1:                               ; 将表格DIS_CODE内示菪慈氲紼EPROM
                      64     
000F E500     F       65             MOV     A,ADDR
0011 900000   F       66             MOV     DPTR,#DIS_CODE
0014 93               67             MOVC    A,@A+DPTR               ; 查表
                      68             
0015 FD               69             MOV     R5,A                    ; 示莸絉5       
0016 AF00     F       70             MOV     R7,ADDR                 ; 地址到R7
0018 120000   F       71             LCALL   WRITE_BYTE
                      72     
001B 0500     F       73             INC     ADDR                    ; 地址加1
001D E500     F       74             MOV     A,ADDR
001F C3               75             CLR     C
0020 9408             76             SUBB    A,#08H                  ; 共8字节,判断是否完成
0022 40EB             77             JC      MAIN_LP1                ; 
                      78             
0024 E4               79             CLR     A                       ; 
0025 F500     F       80             MOV     ADDR,A                  ; 
0027                  81     MAIN_LP2:                               ; 循环读取AT24C01内容,并输出到P0口
0027 AF00     F       82             MOV     R7,ADDR                 ; 地址到R7
0029 120000   F       83             LCALL   READ_RANDOM
002C 8F80             84             MOV     P0,R7                   ; 将读取的示荽

⌨️ 快捷键说明

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