📄 iic_rw.lst
字号:
; SOURCE LINE # 49
0012 120000 R LCALL delay_nop
; SOURCE LINE # 50
0015 120000 R LCALL start_IIC
; SOURCE LINE # 52
0018 AF00 R MOV R7,device
001A 0500 R INC device
001C 120000 R LCALL _send_IIC
001F 9200 R MOV ack,C
0021 5007 JNC ?C0004
; SOURCE LINE # 53
0023 AF00 R MOV R7,address
0025 120000 R LCALL _send_IIC
0028 9200 R MOV ack,C
002A ?C0004:
; SOURCE LINE # 55
002A 30001F R JNB ack,?C0003
; SOURCE LINE # 56
002D ?C0005:
; SOURCE LINE # 59
002D E4 CLR A
002E F500 R MOV buffer,A
; SOURCE LINE # 60
0030 120000 R LCALL stop_IIC
; SOURCE LINE # 61
0033 120000 R LCALL delay_nop
; SOURCE LINE # 62
0036 120000 R LCALL start_IIC
; SOURCE LINE # 64
0039 AF00 R MOV R7,device
003B 0500 R INC device
003D 120000 R LCALL _send_IIC
0040 9200 R MOV ack,C
0042 5008 JNC ?C0003
; SOURCE LINE # 65
; SOURCE LINE # 66
0044 120000 R LCALL receive_IIC
0047 8F00 R MOV buffer,R7
; SOURCE LINE # 67
0049 120000 R LCALL nack_IIC
; SOURCE LINE # 68
C51 COMPILER V7.50 IIC_RW 09/29/2006 10:54:50 PAGE 7
; SOURCE LINE # 69
004C ?C0003:
004C 0500 R INC i
004E E500 R MOV A,i
0050 C3 CLR C
0051 940A SUBB A,#0AH
0053 40B7 JC ?C0001
0055 ?C0002:
; SOURCE LINE # 71
0055 120000 R LCALL delay_nop
; SOURCE LINE # 72
0058 120000 R LCALL stop_IIC
; SOURCE LINE # 73
005B 120000 R LCALL delay_nop
; SOURCE LINE # 75
005E AF00 R MOV R7,buffer
; SOURCE LINE # 76
0060 ?C0007:
0060 22 RET
; FUNCTION _read1828 (END)
; FUNCTION _write1828 (BEGIN)
; SOURCE LINE # 84
0000 8F00 R MOV address,R7
0002 8D00 R MOV buf_data,R5
; SOURCE LINE # 85
; SOURCE LINE # 90
0004 120000 R LCALL stop_IIC
; SOURCE LINE # 91
0007 120000 R LCALL delay_nop
; SOURCE LINE # 92
000A 120000 R LCALL start_IIC
; SOURCE LINE # 94
000D 7FDE MOV R7,#0DEH
000F 120000 R LCALL _send_IIC
; SOURCE LINE # 95
0012 AF00 R MOV R7,address
0014 120000 R LCALL _send_IIC
; SOURCE LINE # 96
0017 AF00 R MOV R7,buf_data
0019 020000 R LJMP _send_IIC
; FUNCTION _write1828 (END)
; FUNCTION _send_IIC (BEGIN)
; SOURCE LINE # 107
0000 8F00 R MOV bytedata,R7
; SOURCE LINE # 108
; SOURCE LINE # 109
0002 E4 CLR A
0003 F500 R MOV i,A
; SOURCE LINE # 112
0005 C281 CLR scl
; SOURCE LINE # 113
0007 120000 R LCALL delay_nop
; SOURCE LINE # 115
000A 750008 R MOV i,#08H
000D ?C0009:
; SOURCE LINE # 116
; SOURCE LINE # 118
000D E500 R MOV A,bytedata
000F 30E704 JNB ACC.7,?C0012
; SOURCE LINE # 119
C51 COMPILER V7.50 IIC_RW 09/29/2006 10:54:50 PAGE 8
0012 D280 SETB sda
0014 8002 SJMP ?C0013
0016 ?C0012:
; SOURCE LINE # 121
0016 C280 CLR sda
0018 ?C0013:
; SOURCE LINE # 122
0018 120000 R LCALL delay_nop
; SOURCE LINE # 123
001B E500 R MOV A,bytedata
001D 25E0 ADD A,ACC
001F F500 R MOV bytedata,A
; SOURCE LINE # 126
0021 D281 SETB scl
; SOURCE LINE # 127
0023 120000 R LCALL delay_nop
; SOURCE LINE # 128
0026 C281 CLR scl
; SOURCE LINE # 129
0028 120000 R LCALL delay_nop
; SOURCE LINE # 130
002B 1500 R DEC i
002D D3 SETB C
002E E500 R MOV A,i
0030 6480 XRL A,#080H
0032 9480 SUBB A,#080H
0034 50D7 JNC ?C0009
0036 ?C0010:
; SOURCE LINE # 131
0036 120000 R LCALL delay_nop
; SOURCE LINE # 133
0039 D280 SETB sda
; SOURCE LINE # 134
003B 120000 R LCALL delay_nop
; SOURCE LINE # 135
003E D281 SETB scl
; SOURCE LINE # 136
0040 120000 R LCALL delay_nop
; SOURCE LINE # 137
0043 A280 MOV C,sda
0045 9200 R MOV ack,C
; SOURCE LINE # 138
0047 120000 R LCALL delay_nop
; SOURCE LINE # 139
004A C281 CLR scl
; SOURCE LINE # 140
004C 120000 R LCALL delay_nop
; SOURCE LINE # 142
004F A200 R MOV C,ack
0051 B3 CPL C
; SOURCE LINE # 143
0052 ?C0014:
0052 22 RET
; FUNCTION _send_IIC (END)
; FUNCTION receive_IIC (BEGIN)
; SOURCE LINE # 151
; SOURCE LINE # 152
; SOURCE LINE # 153
0000 E4 CLR A
0001 F500 R MOV i,A
; SOURCE LINE # 154
C51 COMPILER V7.50 IIC_RW 09/29/2006 10:54:50 PAGE 9
0003 F500 R MOV receive,A
; SOURCE LINE # 156
0005 750008 R MOV i,#08H
0008 ?C0015:
; SOURCE LINE # 157
; SOURCE LINE # 158
0008 E500 R MOV A,receive
000A 25E0 ADD A,ACC
000C F500 R MOV receive,A
; SOURCE LINE # 159
000E D281 SETB scl
; SOURCE LINE # 160
0010 120000 R LCALL delay_nop
; SOURCE LINE # 161
0013 308003 JNB sda,?C0018
; SOURCE LINE # 162
0016 430001 R ORL receive,#01H
0019 ?C0018:
; SOURCE LINE # 164
0019 C281 CLR scl
; SOURCE LINE # 165
001B 120000 R LCALL delay_nop
; SOURCE LINE # 166
001E 1500 R DEC i
0020 E500 R MOV A,i
0022 D3 SETB C
0023 9400 SUBB A,#00H
0025 50E1 JNC ?C0015
0027 ?C0016:
; SOURCE LINE # 167
0027 AF00 R MOV R7,receive
; SOURCE LINE # 168
0029 ?C0019:
0029 22 RET
; FUNCTION receive_IIC (END)
; FUNCTION nack_IIC (BEGIN)
; SOURCE LINE # 192
; SOURCE LINE # 193
; SOURCE LINE # 195
0000 C280 CLR sda
; SOURCE LINE # 196
0002 120000 R LCALL delay_nop
; SOURCE LINE # 197
0005 D281 SETB scl
; SOURCE LINE # 198
0007 120000 R LCALL delay_nop
; SOURCE LINE # 200
000A D280 SETB sda
; SOURCE LINE # 201
000C 120000 R LCALL delay_nop
; SOURCE LINE # 202
000F C281 CLR scl
; SOURCE LINE # 203
0011 020000 R LJMP delay_nop
; FUNCTION nack_IIC (END)
; FUNCTION start_IIC (BEGIN)
; SOURCE LINE # 211
; SOURCE LINE # 212
; SOURCE LINE # 213
0000 D280 SETB sda
C51 COMPILER V7.50 IIC_RW 09/29/2006 10:54:50 PAGE 10
; SOURCE LINE # 214
0002 120000 R LCALL delay_nop
; SOURCE LINE # 215
0005 D281 SETB scl
; SOURCE LINE # 216
0007 120000 R LCALL delay_nop
; SOURCE LINE # 217
000A C280 CLR sda
; SOURCE LINE # 218
000C 120000 R LCALL delay_nop
; SOURCE LINE # 219
000F C281 CLR scl
; SOURCE LINE # 220
0011 020000 R LJMP delay_nop
; FUNCTION start_IIC (END)
; FUNCTION stop_IIC (BEGIN)
; SOURCE LINE # 227
; SOURCE LINE # 228
; SOURCE LINE # 229
0000 C281 CLR scl
; SOURCE LINE # 230
0002 120000 R LCALL delay_nop
; SOURCE LINE # 231
0005 C280 CLR sda
; SOURCE LINE # 232
0007 120000 R LCALL delay_nop
; SOURCE LINE # 233
000A D281 SETB scl
; SOURCE LINE # 234
000C 120000 R LCALL delay_nop
; SOURCE LINE # 235
000F D280 SETB sda
; SOURCE LINE # 236
0011 020000 R LJMP delay_nop
; FUNCTION stop_IIC (END)
; FUNCTION delay_nop (BEGIN)
; SOURCE LINE # 247
; SOURCE LINE # 248
; SOURCE LINE # 252
0000 22 RET
; FUNCTION delay_nop (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 311 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 10
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 + -