📄 i2c.lst
字号:
; SOURCE LINE # 183
;---- Variable 'SlaveAddr' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
;---- Variable 'SubAddr' assigned to Register 'R5' ----
;---- Variable 'Size' assigned to Register 'R4' ----
0002 AC03 MOV R4,AR3
; SOURCE LINE # 184
; SOURCE LINE # 186
0004 EC MOV A,R4
0005 7002 JNZ ?C0055
0007 C3 CLR C
0008 22 RET
0009 ?C0055:
; SOURCE LINE # 188
; SOURCE LINE # 190
; SOURCE LINE # 192
; SOURCE LINE # 193
0009 120000 R LCALL L?0084
000C 5002 JNC ?C0057
; SOURCE LINE # 194
; SOURCE LINE # 195
; SOURCE LINE # 196
000E 8026 SJMP ?C0080
; SOURCE LINE # 197
0010 ?C0057:
; SOURCE LINE # 199
0010 AF05 MOV R7,AR5
0012 120000 R LCALL _I2C_Write
; SOURCE LINE # 200
0015 120000 R LCALL I2C_GetAck
0018 5002 JNC ?C0061
; SOURCE LINE # 201
; SOURCE LINE # 202
001A ?C0079:
; SOURCE LINE # 203
001A 801A SJMP ?C0080
; SOURCE LINE # 204
001C ?C0061:
; SOURCE LINE # 207
; SOURCE LINE # 208
001C AB00 R MOV R3,dat
001E 0500 R INC dat+02H
0020 E500 R MOV A,dat+02H
0022 AA00 R MOV R2,dat+01H
0024 7002 JNZ ?C0077
0026 0500 R INC dat+01H
0028 ?C0077:
0028 14 DEC A
0029 F9 MOV R1,A
002A 120000 E LCALL ?C?CLDPTR
002D FF MOV R7,A
002E 120000 R LCALL _I2C_Write
; SOURCE LINE # 209
0031 120000 R LCALL I2C_GetAck
0034 5003 JNC ?C0059
; SOURCE LINE # 210
; SOURCE LINE # 211
0036 ?C0080:
0036 020000 R LJMP I2C_Stop
; SOURCE LINE # 212
; SOURCE LINE # 213
; SOURCE LINE # 214
C51 COMPILER V8.16 I2C 10/04/2008 14:53:01 PAGE 17
0039 ?C0059:
0039 DCE1 DJNZ R4,?C0061
; SOURCE LINE # 216
003B 120000 R LCALL I2C_Stop
; SOURCE LINE # 217
003E C3 CLR C
; SOURCE LINE # 218
003F ?C0056:
003F 22 RET
; FUNCTION _I2C_Puts (END)
; FUNCTION _I2C_Puts_s (BEGIN)
; SOURCE LINE # 220
;---- Variable 'SlaveAddr' assigned to Register 'R6' ----
0000 AE07 MOV R6,AR7
;---- Variable 'SubAddr' assigned to Register 'R5' ----
; SOURCE LINE # 221
; SOURCE LINE # 225
; SOURCE LINE # 227
; SOURCE LINE # 229
; SOURCE LINE # 230
0002 120000 R LCALL L?0084
0005 5002 JNC ?C0063
; SOURCE LINE # 231
; SOURCE LINE # 232
; SOURCE LINE # 233
0007 800A SJMP ?C0081
; SOURCE LINE # 234
0009 ?C0063:
; SOURCE LINE # 236
0009 AF05 MOV R7,AR5
000B 120000 R LCALL _I2C_Write
; SOURCE LINE # 237
000E 120000 R LCALL I2C_GetAck
0011 5003 JNC ?C0064
; SOURCE LINE # 238
; SOURCE LINE # 239
0013 ?C0081:
0013 120000 R LCALL I2C_Stop
; SOURCE LINE # 240
; SOURCE LINE # 241
; SOURCE LINE # 257
0016 ?C0064:
0016 22 RET
; FUNCTION _I2C_Puts_s (END)
; FUNCTION _I2C_Put (BEGIN)
; SOURCE LINE # 269
0000 8B00 R MOV dat,R3
;---- Variable 'SubAddr' assigned to Register 'R5' ----
;---- Variable 'SlaveAddr' assigned to Register 'R7' ----
; SOURCE LINE # 270
; SOURCE LINE # 271
0002 750000 R MOV ?_I2C_Puts?BYTE+03H,#00H
0005 750000 R MOV ?_I2C_Puts?BYTE+04H,#HIGH dat
0008 750000 R MOV ?_I2C_Puts?BYTE+05H,#LOW dat
000B 7B01 MOV R3,#01H
000D 120000 R LCALL _I2C_Puts
; SOURCE LINE # 272
0010 ?C0066:
0010 22 RET
; FUNCTION _I2C_Put (END)
C51 COMPILER V8.16 I2C 10/04/2008 14:53:01 PAGE 18
; FUNCTION _I2C_Gets (BEGIN)
; SOURCE LINE # 287
;---- Variable 'SlaveAddr' assigned to Register 'R4' ----
0000 AC07 MOV R4,AR7
;---- Variable 'SubAddr' assigned to Register 'R2' ----
0002 AA05 MOV R2,AR5
;---- Variable 'Size' assigned to Register 'R5' ----
0004 AD03 MOV R5,AR3
; SOURCE LINE # 288
; SOURCE LINE # 290
0006 ED MOV A,R5
0007 7002 JNZ ?C0067
0009 C3 CLR C
000A 22 RET
000B ?C0067:
; SOURCE LINE # 292
000B 5304FE ANL AR4,#0FEH
; SOURCE LINE # 294
000E 120000 R LCALL I2C_Start
; SOURCE LINE # 296
0011 AF04 MOV R7,AR4
0013 120000 R LCALL _I2C_Write
; SOURCE LINE # 297
0016 120000 R LCALL I2C_GetAck
0019 5002 JNC ?C0069
; SOURCE LINE # 298
; SOURCE LINE # 299
; SOURCE LINE # 300
001B 801C SJMP ?C0083
; SOURCE LINE # 301
001D ?C0069:
; SOURCE LINE # 303
001D AF02 MOV R7,AR2
001F 120000 R LCALL _I2C_Write
; SOURCE LINE # 304
0022 120000 R LCALL I2C_GetAck
0025 5002 JNC ?C0070
; SOURCE LINE # 305
; SOURCE LINE # 306
0027 ?C0082:
; SOURCE LINE # 307
0027 8010 SJMP ?C0083
; SOURCE LINE # 308
0029 ?C0070:
; SOURCE LINE # 310
0029 120000 R LCALL I2C_Start
; SOURCE LINE # 312
002C 430401 ORL AR4,#01H
; SOURCE LINE # 313
002F AF04 MOV R7,AR4
0031 120000 R LCALL _I2C_Write
; SOURCE LINE # 314
0034 120000 R LCALL I2C_GetAck
0037 5003 JNC ?C0072
; SOURCE LINE # 315
; SOURCE LINE # 316
0039 ?C0083:
0039 020000 R LJMP I2C_Stop
; SOURCE LINE # 317
; SOURCE LINE # 318
; SOURCE LINE # 320
C51 COMPILER V8.16 I2C 10/04/2008 14:53:01 PAGE 19
003C ?C0072:
; SOURCE LINE # 321
; SOURCE LINE # 322
003C 120000 R LCALL I2C_Read
003F AB00 R MOV R3,dat
0041 0500 R INC dat+02H
0043 E500 R MOV A,dat+02H
0045 AA00 R MOV R2,dat+01H
0047 7002 JNZ ?C0078
0049 0500 R INC dat+01H
004B ?C0078:
004B 14 DEC A
004C F9 MOV R1,A
004D EF MOV A,R7
004E 120000 E LCALL ?C?CSTPTR
; SOURCE LINE # 323
0051 DD07 DJNZ R5,?C0074
; SOURCE LINE # 324
; SOURCE LINE # 325
0053 D200 R SETB ?I2C_PutAck?BIT
0055 120000 R LCALL I2C_PutAck
; SOURCE LINE # 326
0058 8007 SJMP ?C0073
; SOURCE LINE # 327
005A ?C0074:
; SOURCE LINE # 328
005A C200 R CLR ?I2C_PutAck?BIT
005C 120000 R LCALL I2C_PutAck
; SOURCE LINE # 329
005F 80DB SJMP ?C0072
0061 ?C0073:
; SOURCE LINE # 331
0061 120000 R LCALL I2C_Stop
; SOURCE LINE # 332
0064 C3 CLR C
; SOURCE LINE # 333
0065 ?C0068:
0065 22 RET
; FUNCTION _I2C_Gets (END)
; FUNCTION _I2C_Get (BEGIN)
; SOURCE LINE # 347
0000 8B00 R MOV dat,R3
0002 8A00 R MOV dat+01H,R2
0004 8900 R MOV dat+02H,R1
;---- Variable 'SubAddr' assigned to Register 'R5' ----
;---- Variable 'SlaveAddr' assigned to Register 'R7' ----
; SOURCE LINE # 348
; SOURCE LINE # 349
0006 8B00 R MOV ?_I2C_Gets?BYTE+03H,R3
0008 8A00 R MOV ?_I2C_Gets?BYTE+04H,R2
000A 8900 R MOV ?_I2C_Gets?BYTE+05H,R1
000C 7B01 MOV R3,#01H
000E 120000 R LCALL _I2C_Gets
; SOURCE LINE # 350
0011 ?C0075:
0011 22 RET
; FUNCTION _I2C_Get (END)
C51 COMPILER V8.16 I2C 10/04/2008 14:53:01 PAGE 20
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
I2C_SCL. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
I2C_Read . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
t. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
_I2C_Puts_s. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SlaveAddr. . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
SubAddr. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
_I2C_Write . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
dat. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
t. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
I2C_Start. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_I2C_Gets. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SlaveAddr. . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
SubAddr. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
Size . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
dat. . . . . . . . . . . . . . . . . AUTO DATA PTR 0003H 3
I2C_Init . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_I2C_Get . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SlaveAddr. . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
SubAddr. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
dat. . . . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
I2C_Stop . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
t. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0006H 2
_I2C_Puts. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SlaveAddr. . . . . . . . . . . . . . AUTO DATA U_CHAR 0006H 1
SubAddr. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
Size . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
dat. . . . . . . . . . . . . . . . . AUTO DATA PTR 0003H 3
I2C_GetAck . . . . . . . . . . . . . . PUBLIC CODE PROC 000BH -----
ack. . . . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
_I2C_Put . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SlaveAddr. . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
SubAddr. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
dat. . . . . . . . . . . . . . . . . AUTO DATA CHAR 0000H 1
I2C_Delay_t. . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0000H 1
I2C_PutAck . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ack. . . . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
I2C_SDA. . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 443 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 16
IDATA SIZE = ---- ----
BIT SIZE = ---- 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -