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

📄 i2c.lst

📁 AD/DA转换
💻 LST
📖 第 1 页 / 共 3 页
字号:
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE     1


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

LOC  OBJ            LINE     SOURCE

                       1     ; I2C.SRC generated from: I2C.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        C:\Keil\C51\BIN\C51.EXE I2C.c BROWSE DEBUG OBJECTEXTEND
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    I2C
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00B4                13     T0      BIT     0B0H.4
  00D6                14     AC      BIT     0D0H.6
  00B5                15     T1      BIT     0B0H.5
  0090                16     T2      BIT     090H.0
  00AF                17     EA      BIT     0A8H.7
  00A8                18     IE      DATA    0A8H
  00CE                19     EXF2    BIT     0C8H.6
  00B7                20     RD      BIT     0B0H.7
  00AC                21     ES      BIT     0A8H.4
  00B8                22     IP      DATA    0B8H
  0098                23     RI      BIT     098H.0
  00B2                24     INT0    BIT     0B0H.2
  00D7                25     CY      BIT     0D0H.7
  0099                26     TI      BIT     098H.1
  00B3                27     INT1    BIT     0B0H.3
  00CB                28     RCAP2H  DATA    0CBH
  00BC                29     PS      BIT     0B8H.4
  0081                30     SP      DATA    081H
  0091                31     T2EX    BIT     090H.1
  00D2                32     OV      BIT     0D0H.2
  00CA                33     RCAP2L  DATA    0CAH
  00C9                34     C_T2    BIT     0C8H.1
  00B6                35     WR      BIT     0B0H.6
  00CD                36     RCLK    BIT     0C8H.5
  00CC                37     TCLK    BIT     0C8H.4
  0099                38     SBUF    DATA    099H
  0087                39     PCON    DATA    087H
  0098                40     SCON    DATA    098H
  0089                41     TMOD    DATA    089H
  0088                42     TCON    DATA    088H
  0089                43     IE0     BIT     088H.1
  008B                44     IE1     BIT     088H.3
  00F0                45     B       DATA    0F0H
  00C8                46     CP_RL2  BIT     0C8H.0
  00E0                47     ACC     DATA    0E0H
  00A9                48     ET0     BIT     0A8H.1
  00AB                49     ET1     BIT     0A8H.3
  008D                50     TF0     BIT     088H.5
  00AD                51     ET2     BIT     0A8H.5
  008F                52     TF1     BIT     088H.7
  00CF                53     TF2     BIT     0C8H.7
  009A                54     RB8     BIT     098H.2
  008C                55     TH0     DATA    08CH
  00A8                56     EX0     BIT     0A8H.0
  0088                57     IT0     BIT     088H.0
  008D                58     TH1     DATA    08DH
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE     2

  009B                59     TB8     BIT     098H.3
  00AA                60     EX1     BIT     0A8H.2
  008A                61     IT1     BIT     088H.2
  00CD                62     TH2     DATA    0CDH
  00D0                63     P       BIT     0D0H.0
  009F                64     SM0     BIT     098H.7
  008A                65     TL0     DATA    08AH
  009E                66     SM1     BIT     098H.6
  008B                67     TL1     DATA    08BH
  009D                68     SM2     BIT     098H.5
  00CC                69     TL2     DATA    0CCH
  00B9                70     PT0     BIT     0B8H.1
  00BB                71     PT1     BIT     0B8H.3
  00D3                72     RS0     BIT     0D0H.3
  00BD                73     PT2     BIT     0B8H.5
  008C                74     TR0     BIT     088H.4
  00D4                75     RS1     BIT     0D0H.4
  008E                76     TR1     BIT     088H.6
  00A1                77     SDA     BIT     0A0H.1
  00CA                78     TR2     BIT     0C8H.2
  00B8                79     PX0     BIT     0B8H.0
  00BA                80     PX1     BIT     0B8H.2
  0083                81     DPH     DATA    083H
  0082                82     DPL     DATA    082H
  00A0                83     SCL     BIT     0A0H.0
  00CB                84     EXEN2   BIT     0C8H.3
  009C                85     REN     BIT     098H.4
  00C8                86     T2CON   DATA    0C8H
  00B0                87     RXD     BIT     0B0H.0
  00B1                88     TXD     BIT     0B0H.1
  00D5                89     F0      BIT     0D0H.5
  00D0                90     PSW     DATA    0D0H
                      91     ?PR?Start_I2c?I2C    SEGMENT CODE 
                      92     ?PR?Stop_I2c?I2C     SEGMENT CODE 
                      93     ?PR?_SendByte?I2C    SEGMENT CODE 
                      94     ?PR?RcvByte?I2C      SEGMENT CODE 
                      95     ?PR?Ack_I2c?I2C      SEGMENT CODE 
                      96     ?BI?Ack_I2c?I2C      SEGMENT BIT OVERLAYABLE 
                      97     ?BI?I2C              SEGMENT BIT 
                      98             PUBLIC  ack
                      99             PUBLIC  ?Ack_I2c?BIT
                     100             PUBLIC  Ack_I2c
                     101             PUBLIC  RcvByte
                     102             PUBLIC  _SendByte
                     103             PUBLIC  Stop_I2c
                     104             PUBLIC  Start_I2c
                     105     
----                 106             RSEG  ?BI?Ack_I2c?I2C
0000                 107     ?Ack_I2c?BIT:
0000                 108               a?444:   DBIT   1
                     109     
----                 110             RSEG  ?BI?I2C
0000                 111                 ack:   DBIT   1
                     112     ; 
                     113     ; /*************************此部分为I2C总线的驱动程序*************************************/
                     114     
                     115     ; #include<reg52.h>
                     116     ; #include <intrins.h>
                     117     ; #include <I2C.H>
                     118     ; 
                     119     ; 
                     120     ; #define  NOP()   _nop_()   /* 定义空指令 */
                     121     ; #define  _Nop()  _nop_()   /*定义空指令*/
                     122     ; 
                     123     ;  
                     124     ; sbit     SCL=P2^0;       //I2C  时钟 
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE     3

                     125     ; sbit     SDA=P2^1;       //I2C  数据 
                     126     ; bit ack;                 /*应答标志位*/
                     127     ;    
                     128     ; 
                     129     ; /*******************************************************************
                     130     ;                      起动总线函数               
                     131     ; 函数原型: void  Start_I2c();  
                     132     ; 功能:     启动I2C总线,即发送I2C起始条件.  
                     133     ; ********************************************************************/
                     134     ; void Start_I2c()
                     135     
----                 136             RSEG  ?PR?Start_I2c?I2C
0000                 137     Start_I2c:
                     138                             ; SOURCE LINE # 23
                     139     ; {
                     140                             ; SOURCE LINE # 24
                     141     ;   SDA=1;         /*发送起始条件的数据信号*/
                     142                             ; SOURCE LINE # 25
0000 D2A1            143             SETB    SDA
                     144     ;   _Nop();
                     145                             ; SOURCE LINE # 26
0002 00              146             NOP     
                     147     ;   SCL=1;
                     148                             ; SOURCE LINE # 27
0003 D2A0            149             SETB    SCL
                     150     ;   _Nop();        /*起始条件建立时间大于4.7us,延时*/
                     151                             ; SOURCE LINE # 28
0005 00              152             NOP     
                     153     ;   _Nop();
                     154                             ; SOURCE LINE # 29
0006 00              155             NOP     
                     156     ;   _Nop();
                     157                             ; SOURCE LINE # 30
0007 00              158             NOP     
                     159     ;   _Nop();
                     160                             ; SOURCE LINE # 31
0008 00              161             NOP     
                     162     ;   _Nop();    
                     163                             ; SOURCE LINE # 32
0009 00              164             NOP     
                     165     ;   SDA=0;         /*发送起始信号*/
                     166                             ; SOURCE LINE # 33
000A C2A1            167             CLR     SDA
                     168     ;   _Nop();        /* 起始条件锁定时间大于4μs*/
                     169                             ; SOURCE LINE # 34
000C 00              170             NOP     
                     171     ;   _Nop();
                     172                             ; SOURCE LINE # 35
000D 00              173             NOP     
                     174     ;   _Nop();
                     175                             ; SOURCE LINE # 36
000E 00              176             NOP     
                     177     ;   _Nop();
                     178                             ; SOURCE LINE # 37
000F 00              179             NOP     
                     180     ;   _Nop();       
                     181                             ; SOURCE LINE # 38
0010 00              182             NOP     
                     183     ;   SCL=0;       /*钳住I2C总线,准备发送或接收数据 */
                     184                             ; SOURCE LINE # 39
0011 C2A0            185             CLR     SCL
                     186     ;   _Nop();
                     187                             ; SOURCE LINE # 40
0013 00              188             NOP     
                     189     ;   _Nop();
                     190                             ; SOURCE LINE # 41
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE     4

0014 00              191             NOP     
                     192     ; }
                     193                             ; SOURCE LINE # 42
0015 22              194             RET     
                     195     ; END OF Start_I2c
                     196     
                     197     ; 
                     198     ; /*******************************************************************
                     199     ;                       结束总线函数               
                     200     ; 函数原型: void  Stop_I2c();  
                     201     ; 功能:     结束I2C总线,即发送I2C结束条件.  
                     202     ; ********************************************************************/
                     203     ; void Stop_I2c()
                     204     
----                 205             RSEG  ?PR?Stop_I2c?I2C
0000                 206     Stop_I2c:
                     207                             ; SOURCE LINE # 49
                     208     ; {
                     209                             ; SOURCE LINE # 50
                     210     ;   SDA=0;      /*发送结束条件的数据信号*/
                     211                             ; SOURCE LINE # 51
0000 C2A1            212             CLR     SDA
                     213     ;   _Nop();       /*发送结束条件的时钟信号*/
                     214                             ; SOURCE LINE # 52
0002 00              215             NOP     
                     216     ;   SCL=1;      /*结束条件建立时间大于4μs*/
                     217                             ; SOURCE LINE # 53
0003 D2A0            218             SETB    SCL
                     219     ;   _Nop();

⌨️ 快捷键说明

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