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

📄 i2c.lst

📁 AD/DA转换
💻 LST
📖 第 1 页 / 共 3 页
字号:
0014 FF              448             MOV     R7,A
                     449     ;         if(SDA==1)retc=retc+1;  /*读数据位,接收的数据位放入retc中 */
                     450                             ; SOURCE LINE # 133
0015 30A101          451             JNB     SDA,?C0014
0018 0F              452             INC     R7
0019                 453     ?C0014:
                     454     ;         _Nop();
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE     8

                     455                             ; SOURCE LINE # 134
0019 00              456             NOP     
                     457     ;         _Nop(); 
                     458                             ; SOURCE LINE # 135
001A 00              459             NOP     
                     460     ;       }
                     461                             ; SOURCE LINE # 136
001B 0E              462             INC     R6
001C BE08E6          463             CJNE    R6,#08H,?C0011
001F                 464     ?C0012:
                     465     ;   SCL=0;    
                     466                             ; SOURCE LINE # 137
001F C2A0            467             CLR     SCL
                     468     ;   _Nop();
                     469                             ; SOURCE LINE # 138
0021 00              470             NOP     
                     471     ;   _Nop();
                     472                             ; SOURCE LINE # 139
0022 00              473             NOP     
                     474     ;   return(retc);
                     475                             ; SOURCE LINE # 140
                     476     ; }
                     477                             ; SOURCE LINE # 141
0023                 478     ?C0015:
0023 22              479             RET     
                     480     ; END OF RcvByte
                     481     
                     482     ; 
                     483     ; /********************************************************************
                     484     ;                      应答子函数
                     485     ; 函数原型:  void Ack_I2c(bit a);
                     486     ; 功能:      主控器进行应答信号(可以是应答或非应答信号,由位参数a决定)
                     487     ; ********************************************************************/
                     488     ; void Ack_I2c(bit a)
                     489     
----                 490             RSEG  ?PR?Ack_I2c?I2C
0000                 491     Ack_I2c:
                     492                             ; SOURCE LINE # 148
                     493     ; {
                     494                             ; SOURCE LINE # 149
                     495     ;   
                     496     ;   if(a==0)SDA=0;              /*在此发出应答或非应答信号 */
                     497                             ; SOURCE LINE # 151
0000 200004   F      498             JB      a?444,?C0016
0003 C2A1            499             CLR     SDA
0005 8002            500             SJMP    ?C0017
0007                 501     ?C0016:
                     502     ;   else SDA=1;
                     503                             ; SOURCE LINE # 152
0007 D2A1            504             SETB    SDA
0009                 505     ?C0017:
                     506     ;   _Nop();
                     507                             ; SOURCE LINE # 153
0009 00              508             NOP     
                     509     ;   _Nop();
                     510                             ; SOURCE LINE # 154
000A 00              511             NOP     
                     512     ;   _Nop();      
                     513                             ; SOURCE LINE # 155
000B 00              514             NOP     
                     515     ;   SCL=1;
                     516                             ; SOURCE LINE # 156
000C D2A0            517             SETB    SCL
                     518     ;   _Nop();
                     519                             ; SOURCE LINE # 157
000E 00              520             NOP     
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE     9

                     521     ;   _Nop();                    /*时钟低电平周期大于4μs*/
                     522                             ; SOURCE LINE # 158
000F 00              523             NOP     
                     524     ;   _Nop();
                     525                             ; SOURCE LINE # 159
0010 00              526             NOP     
                     527     ;   _Nop();
                     528                             ; SOURCE LINE # 160
0011 00              529             NOP     
                     530     ;   _Nop();  
                     531                             ; SOURCE LINE # 161
0012 00              532             NOP     
                     533     ;   SCL=0;                     /*清时钟线,钳住I2C总线以便继续接收*/
                     534                             ; SOURCE LINE # 162
0013 C2A0            535             CLR     SCL
                     536     ;   _Nop();
                     537                             ; SOURCE LINE # 163
0015 00              538             NOP     
                     539     ;   _Nop();    
                     540                             ; SOURCE LINE # 164
0016 00              541             NOP     
                     542     ; }
                     543                             ; SOURCE LINE # 165
0017 22              544             RET     
                     545     ; END OF Ack_I2c
                     546     
                     547             END
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE    10

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


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

?ACK_I2C?BIT . . .  B ADDR   0000H.0 R   SEG=?BI?ACK_I2C?I2C
?BI?ACK_I2C?I2C. .  B SEG    0001H       REL=UNIT
?BI?I2C. . . . . .  B SEG    0001H       REL=UNIT
?C0003 . . . . . .  C ADDR   0002H   R   SEG=?PR?_SENDBYTE?I2C
?C0004 . . . . . .  C ADDR   0023H   R   SEG=?PR?_SENDBYTE?I2C
?C0006 . . . . . .  C ADDR   0013H   R   SEG=?PR?_SENDBYTE?I2C
?C0007 . . . . . .  C ADDR   0015H   R   SEG=?PR?_SENDBYTE?I2C
?C0008 . . . . . .  C ADDR   0035H   R   SEG=?PR?_SENDBYTE?I2C
?C0009 . . . . . .  C ADDR   0037H   R   SEG=?PR?_SENDBYTE?I2C
?C0011 . . . . . .  C ADDR   0005H   R   SEG=?PR?RCVBYTE?I2C
?C0012 . . . . . .  C ADDR   001FH   R   SEG=?PR?RCVBYTE?I2C
?C0014 . . . . . .  C ADDR   0019H   R   SEG=?PR?RCVBYTE?I2C
?C0015 . . . . . .  C ADDR   0023H   R   SEG=?PR?RCVBYTE?I2C
?C0016 . . . . . .  C ADDR   0007H   R   SEG=?PR?ACK_I2C?I2C
?C0017 . . . . . .  C ADDR   0009H   R   SEG=?PR?ACK_I2C?I2C
?C0019 . . . . . .  C ADDR   0008H   R   SEG=?PR?_SENDBYTE?I2C
?C0020 . . . . . .  C ADDR   000AH   R   SEG=?PR?_SENDBYTE?I2C
?PR?ACK_I2C?I2C. .  C SEG    0018H       REL=UNIT
?PR?RCVBYTE?I2C. .  C SEG    0024H       REL=UNIT
?PR?START_I2C?I2C.  C SEG    0016H       REL=UNIT
?PR?STOP_I2C?I2C .  C SEG    0011H       REL=UNIT
?PR?_SENDBYTE?I2C.  C SEG    003CH       REL=UNIT
A?444. . . . . . .  B ADDR   0000H.0 R   SEG=?BI?ACK_I2C?I2C
AC . . . . . . . .  B ADDR   00D0H.6 A   
ACC. . . . . . . .  D ADDR   00E0H   A   
ACK. . . . . . . .  B ADDR   0000H.0 R   SEG=?BI?I2C
ACK_I2C. . . . . .  C ADDR   0000H   R   SEG=?PR?ACK_I2C?I2C
AR6. . . . . . . .  D ADDR   0006H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CP_RL2 . . . . . .  B ADDR   00C8H.0 A   
CY . . . . . . . .  B ADDR   00D0H.7 A   
C_T2 . . . . . . .  B ADDR   00C8H.1 A   
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   A   
EA . . . . . . . .  B ADDR   00A8H.7 A   
ES . . . . . . . .  B ADDR   00A8H.4 A   
ET0. . . . . . . .  B ADDR   00A8H.1 A   
ET1. . . . . . . .  B ADDR   00A8H.3 A   
ET2. . . . . . . .  B ADDR   00A8H.5 A   
EX0. . . . . . . .  B ADDR   00A8H.0 A   
EX1. . . . . . . .  B ADDR   00A8H.2 A   
EXEN2. . . . . . .  B ADDR   00C8H.3 A   
EXF2 . . . . . . .  B ADDR   00C8H.6 A   
F0 . . . . . . . .  B ADDR   00D0H.5 A   
I2C. . . . . . . .  N NUMB   -----       
IE . . . . . . . .  D ADDR   00A8H   A   
IE0. . . . . . . .  B ADDR   0088H.1 A   
IE1. . . . . . . .  B ADDR   0088H.3 A   
INT0 . . . . . . .  B ADDR   00B0H.2 A   
INT1 . . . . . . .  B ADDR   00B0H.3 A   
IP . . . . . . . .  D ADDR   00B8H   A   
IT0. . . . . . . .  B ADDR   0088H.0 A   
IT1. . . . . . . .  B ADDR   0088H.2 A   
OV . . . . . . . .  B ADDR   00D0H.2 A   
P. . . . . . . . .  B ADDR   00D0H.0 A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P2 . . . . . . . .  D ADDR   00A0H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
PCON . . . . . . .  D ADDR   0087H   A   
A51 MACRO ASSEMBLER  I2C                                                                  09/13/2009 23:31:56 PAGE    11

PS . . . . . . . .  B ADDR   00B8H.4 A   
PSW. . . . . . . .  D ADDR   00D0H   A   
PT0. . . . . . . .  B ADDR   00B8H.1 A   
PT1. . . . . . . .  B ADDR   00B8H.3 A   
PT2. . . . . . . .  B ADDR   00B8H.5 A   
PX0. . . . . . . .  B ADDR   00B8H.0 A   
PX1. . . . . . . .  B ADDR   00B8H.2 A   
RB8. . . . . . . .  B ADDR   0098H.2 A   
RCAP2H . . . . . .  D ADDR   00CBH   A   
RCAP2L . . . . . .  D ADDR   00CAH   A   
RCLK . . . . . . .  B ADDR   00C8H.5 A   
RCVBYTE. . . . . .  C ADDR   0000H   R   SEG=?PR?RCVBYTE?I2C
RD . . . . . . . .  B ADDR   00B0H.7 A   
REN. . . . . . . .  B ADDR   0098H.4 A   
RI . . . . . . . .  B ADDR   0098H.0 A   
RS0. . . . . . . .  B ADDR   00D0H.3 A   
RS1. . . . . . . .  B ADDR   00D0H.4 A   
RXD. . . . . . . .  B ADDR   00B0H.0 A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCL. . . . . . . .  B ADDR   00A0H.0 A   
SCON . . . . . . .  D ADDR   0098H   A   
SDA. . . . . . . .  B ADDR   00A0H.1 A   
SM0. . . . . . . .  B ADDR   0098H.7 A   
SM1. . . . . . . .  B ADDR   0098H.6 A   
SM2. . . . . . . .  B ADDR   0098H.5 A   
SP . . . . . . . .  D ADDR   0081H   A   
START_I2C. . . . .  C ADDR   0000H   R   SEG=?PR?START_I2C?I2C
STOP_I2C . . . . .  C ADDR   0000H   R   SEG=?PR?STOP_I2C?I2C
T0 . . . . . . . .  B ADDR   00B0H.4 A   
T1 . . . . . . . .  B ADDR   00B0H.5 A   
T2 . . . . . . . .  B ADDR   0090H.0 A   
T2CON. . . . . . .  D ADDR   00C8H   A   
T2EX . . . . . . .  B ADDR   0090H.1 A   
TB8. . . . . . . .  B ADDR   0098H.3 A   
TCLK . . . . . . .  B ADDR   00C8H.4 A   
TCON . . . . . . .  D ADDR   0088H   A   
TF0. . . . . . . .  B ADDR   0088H.5 A   
TF1. . . . . . . .  B ADDR   0088H.7 A   
TF2. . . . . . . .  B ADDR   00C8H.7 A   
TH0. . . . . . . .  D ADDR   008CH   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TH2. . . . . . . .  D ADDR   00CDH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL0. . . . . . . .  D ADDR   008AH   A   
TL1. . . . . . . .  D ADDR   008BH   A   
TL2. . . . . . . .  D ADDR   00CCH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR0. . . . . . . .  B ADDR   0088H.4 A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
TR2. . . . . . . .  B ADDR   00C8H.2 A   
TXD. . . . . . . .  B ADDR   00B0H.1 A   
WR . . . . . . . .  B ADDR   00B0H.6 A   
_SENDBYTE. . . . .  C ADDR   0000H   R   SEG=?PR?_SENDBYTE?I2C


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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