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

📄 i2c.lst

📁 AT89C51 I2C接口通信程序例程.rar
💻 LST
📖 第 1 页 / 共 3 页
字号:
0017 C3                CLR     C
0018 22                RET     
0019         ?C0016:
                                           ; SOURCE LINE # 151
0019 AF01              MOV     R7,AR1
001B 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 152
001E 200002      R     JB      ACK,?C0017
0021 C3                CLR     C
0022 22                RET     
0023         ?C0017:
                                           ; SOURCE LINE # 153
0023 AF03              MOV     R7,AR3
0025 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 154
0028 200002      R     JB      ACK,?C0018
002B C3                CLR     C
002C 22                RET     
002D         ?C0018:
                                           ; SOURCE LINE # 155
002D 120000      R     LCALL   I2C_Stop
                                           ; SOURCE LINE # 156
0030 D3                SETB    C
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 11  

                                           ; SOURCE LINE # 157
0031         ?C0015:
0031 22                RET     
             ; FUNCTION _NVM_WriteB (END)

             ; FUNCTION _NVM_ReadB (BEGIN)
                                           ; SOURCE LINE # 165
0000 8F00        R     MOV     sla,R7
;---- Variable 'addr' assigned to Register 'R4/R5' ----
;---- Variable 'ch' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 166
                                           ; SOURCE LINE # 168
0002 ED                MOV     A,R5
0003 F500        R     MOV     laddr,A
                                           ; SOURCE LINE # 169
;---- Variable 'haddr' assigned to Register 'R4' ----
                                           ; SOURCE LINE # 170
0005 120000      R     LCALL   I2C_Start
                                           ; SOURCE LINE # 171
0008 AF00        R     MOV     R7,sla
000A 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 172
000D 200002      R     JB      ACK,?C0019
0010 C3                CLR     C
0011 22                RET     
0012         ?C0019:
                                           ; SOURCE LINE # 173
0012 AF04              MOV     R7,AR4
0014 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 174
0017 200002      R     JB      ACK,?C0021
001A C3                CLR     C
001B 22                RET     
001C         ?C0021:
                                           ; SOURCE LINE # 175
001C AF00        R     MOV     R7,laddr
001E 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 176
0021 200002      R     JB      ACK,?C0022
0024 C3                CLR     C
0025 22                RET     
0026         ?C0022:
                                           ; SOURCE LINE # 177
0026 120000      R     LCALL   I2C_Start
                                           ; SOURCE LINE # 178
0029 E500        R     MOV     A,sla
002B 04                INC     A
002C FF                MOV     R7,A
002D 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 179
0030 200002      R     JB      ACK,?C0023
0033 C3                CLR     C
0034 22                RET     
0035         ?C0023:
                                           ; SOURCE LINE # 180
0035 120000      R     LCALL   I2C_ReadByte
0038 EF                MOV     A,R7
0039 120000      E     LCALL   ?C?CSTPTR
                                           ; SOURCE LINE # 181
003C 120000      R     LCALL   I2C_NoACK
                                           ; SOURCE LINE # 182
003F 120000      R     LCALL   I2C_Stop
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 12  

                                           ; SOURCE LINE # 183
0042 D3                SETB    C
                                           ; SOURCE LINE # 184
0043         ?C0020:
0043 22                RET     
             ; FUNCTION _NVM_ReadB (END)

             ; FUNCTION _NVM_WriteStr (BEGIN)
                                           ; SOURCE LINE # 192
0000 8F00        R     MOV     sla,R7
0002 8B00        R     MOV     str,R3
0004 8A00        R     MOV     str+01H,R2
0006 8900        R     MOV     str+02H,R1
;---- Variable 'addr' assigned to Register 'R4/R5' ----
                                           ; SOURCE LINE # 193
                                           ; SOURCE LINE # 196
0008 ED                MOV     A,R5
;---- Variable 'laddr' assigned to Register 'R3' ----
0009 FB                MOV     R3,A
                                           ; SOURCE LINE # 197
;---- Variable 'haddr' assigned to Register 'R4' ----
                                           ; SOURCE LINE # 198
000A 120000      R     LCALL   I2C_Start
                                           ; SOURCE LINE # 199
000D AF00        R     MOV     R7,sla
000F 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 200
0012 200002      R     JB      ACK,?C0024
0015 C3                CLR     C
0016 22                RET     
0017         ?C0024:
                                           ; SOURCE LINE # 201
0017 AF04              MOV     R7,AR4
0019 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 202
001C 200002      R     JB      ACK,?C0026
001F C3                CLR     C
0020 22                RET     
0021         ?C0026:
                                           ; SOURCE LINE # 203
0021 AF03              MOV     R7,AR3
0023 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 204
0026 200002      R     JB      ACK,?C0027
0029 C3                CLR     C
002A 22                RET     
002B         ?C0027:
                                           ; SOURCE LINE # 205
;---- Variable 'index' assigned to Register 'R4' ----
002B E4                CLR     A
002C FC                MOV     R4,A
002D         ?C0028:
002D EC                MOV     A,R4
002E C3                CLR     C
002F 9500        R     SUBB    A,length
0031 501A              JNC     ?C0029
                                           ; SOURCE LINE # 206
                                           ; SOURCE LINE # 207
0033 AB00        R     MOV     R3,str
0035 AA00        R     MOV     R2,str+01H
0037 A900        R     MOV     R1,str+02H
0039 8C82              MOV     DPL,R4
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 13  

003B 758300            MOV     DPH,#00H
003E 120000      E     LCALL   ?C?CLDOPTR
0041 FF                MOV     R7,A
;---- Variable 'temp' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 208
0042 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 209
0045 200002      R     JB      ACK,?C0030
0048 C3                CLR     C
0049 22                RET     
                                           ; SOURCE LINE # 210
004A         ?C0030:
004A 0C                INC     R4
004B 80E0              SJMP    ?C0028
004D         ?C0029:
                                           ; SOURCE LINE # 211
004D 120000      R     LCALL   I2C_Stop
                                           ; SOURCE LINE # 212
0050 D3                SETB    C
                                           ; SOURCE LINE # 213
0051         ?C0025:
0051 22                RET     
             ; FUNCTION _NVM_WriteStr (END)

             ; FUNCTION _NVM_ReadStr (BEGIN)
                                           ; SOURCE LINE # 221
0000 8F00        R     MOV     sla,R7
0002 8B00        R     MOV     str,R3
0004 8A00        R     MOV     str+01H,R2
0006 8900        R     MOV     str+02H,R1
;---- Variable 'addr' assigned to Register 'R4/R5' ----
                                           ; SOURCE LINE # 222
                                           ; SOURCE LINE # 225
0008 ED                MOV     A,R5
;---- Variable 'laddr' assigned to Register 'R3' ----
0009 FB                MOV     R3,A
                                           ; SOURCE LINE # 226
;---- Variable 'haddr' assigned to Register 'R4' ----
                                           ; SOURCE LINE # 227
000A 120000      R     LCALL   I2C_Start
                                           ; SOURCE LINE # 228
000D AF00        R     MOV     R7,sla
000F 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 229
0012 200002      R     JB      ACK,?C0032
0015 C3                CLR     C
0016 22                RET     
0017         ?C0032:
                                           ; SOURCE LINE # 230
0017 AF04              MOV     R7,AR4
0019 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 231
001C 200002      R     JB      ACK,?C0034
001F C3                CLR     C
0020 22                RET     
0021         ?C0034:
                                           ; SOURCE LINE # 232
0021 AF03              MOV     R7,AR3
0023 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 233
0026 200002      R     JB      ACK,?C0035
0029 C3                CLR     C
C51 COMPILER V7.04   I2C                                                                   12/26/2007 09:33:09 PAGE 14  

002A 22                RET     
002B         ?C0035:
                                           ; SOURCE LINE # 234
002B 120000      R     LCALL   I2C_Start
                                           ; SOURCE LINE # 235
002E E500        R     MOV     A,sla
0030 04                INC     A
0031 FF                MOV     R7,A
0032 120000      R     LCALL   _I2C_WriteByte
                                           ; SOURCE LINE # 236
0035 200002      R     JB      ACK,?C0036
0038 C3                CLR     C
0039 22                RET     
003A         ?C0036:
                                           ; SOURCE LINE # 237
;---- Variable 'index' assigned to Register 'R4' ----
003A E4                CLR     A
003B FC                MOV     R4,A
003C         ?C0037:
003C EC                MOV     A,R4
003D C3                CLR     C
003E 9500        R     SUBB    A,length
0040 5018              JNC     ?C0038
                                           ; SOURCE LINE # 238
                                           ; SOURCE LINE # 239
0042 120000      R     LCALL   I2C_ReadByte
0045 AB00        R     MOV     R3,str
0047 AA00        R     MOV     R2,str+01H
0049 A900        R     MOV     R1,str+02H
004B 8C82              MOV     DPL,R4
004D 758300            MOV     DPH,#00H
0050 EF                MOV     A,R7
0051 120000      E     LCALL   ?C?CSTOPTR
                                           ; SOURCE LINE # 240
0054 120000      R     LCALL   I2C_ACK
                                           ; SOURCE LINE # 241
0057 0C                INC     R4
0058 80E2              SJMP    ?C0037
005A         ?C0038:
                                           ; SOURCE LINE # 242
005A 120000      R     LCALL   I2C_NoACK
                                           ; SOURCE LINE # 243
005D 120000      R     LCALL   I2C_Stop
                                           ; SOURCE LINE # 244
0060 D3                SETB    C
                                           ; SOURCE LINE # 245
0061         ?C0033:
0061 22                RET     
             ; FUNCTION _NVM_ReadStr (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    473    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      16
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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