📄 copy.src
字号:
NOP
; _Nop();
; SOURCE LINE # 134
NOP
; _Nop();
; SOURCE LINE # 135
NOP
; _Nop();
; SOURCE LINE # 136
NOP
; SDA1 = 1;
; SOURCE LINE # 137
SETB SDA1
; _Nop();
; SOURCE LINE # 138
NOP
; _Nop();
; SOURCE LINE # 139
NOP
; _Nop();
; SOURCE LINE # 140
NOP
; _Nop();
; SOURCE LINE # 141
NOP
; _Nop();
; SOURCE LINE # 142
NOP
; }
; SOURCE LINE # 143
RET
; END OF jubuStopI2c
;
; void jubuSend_byte( uchar c )
RSEG ?PR?_jubuSend_byte?COPY
L?0298:
USING 0
L?0299:
LCALL ?C?CLDPTR
MOV R7,A
_jubuSend_byte:
USING 0
; SOURCE LINE # 145
;---- Variable 'c?446' assigned to Register 'R7' ----
; {
; SOURCE LINE # 146
; uchar BitCnt;
; for( BitCnt = 0; BitCnt < 8; BitCnt ++ )
; SOURCE LINE # 148
;---- Variable 'BitCnt?447' assigned to Register 'R6' ----
CLR A
MOV R6,A
?C0014:
; {
; SOURCE LINE # 149
; if((c << BitCnt) & 0x80) SDA1 = 1;
; SOURCE LINE # 150
MOV A,R7
MOV R0,AR6
INC R0
SJMP ?C0259
?C0258:
CLR C
RLC A
?C0259:
DJNZ R0,?C0258
JNB ACC.7,?C0017
SETB SDA1
SJMP ?C0018
?C0017:
; else SDA1 = 0;
; SOURCE LINE # 151
CLR SDA1
?C0018:
; _Nop();
; SOURCE LINE # 152
NOP
; _Nop();
; SOURCE LINE # 153
NOP
; _Nop();
; SOURCE LINE # 154
NOP
; SCL = 1;
; SOURCE LINE # 155
SETB SCL
; _Nop();
; SOURCE LINE # 156
NOP
; _Nop();
; SOURCE LINE # 157
NOP
; _Nop();
; SOURCE LINE # 158
NOP
; _Nop();
; SOURCE LINE # 159
NOP
; _Nop();
; SOURCE LINE # 160
NOP
; _Nop();
; SOURCE LINE # 161
NOP
; _Nop();
; SOURCE LINE # 162
NOP
; SCL = 0;
; SOURCE LINE # 163
CLR SCL
; _Nop();
; SOURCE LINE # 164
NOP
; _Nop();
; SOURCE LINE # 165
NOP
; _Nop();
; SOURCE LINE # 166
NOP
; }
; SOURCE LINE # 167
INC R6
CJNE R6,#08H,?C0014
?C0015:
; _Nop();
; SOURCE LINE # 168
NOP
; _Nop();
; SOURCE LINE # 169
NOP
; _Nop();
; SOURCE LINE # 170
NOP
; SDA1 = 1;
; SOURCE LINE # 171
SETB SDA1
; _Nop();
; SOURCE LINE # 172
NOP
; _Nop();
; SOURCE LINE # 173
NOP
; _Nop();
; SOURCE LINE # 174
NOP
; SCL = 1;
; SOURCE LINE # 175
SETB SCL
; _Nop();
; SOURCE LINE # 176
NOP
; _Nop();
; SOURCE LINE # 177
NOP
; _Nop();
; SOURCE LINE # 178
NOP
; _Nop();
; SOURCE LINE # 179
NOP
; _Nop();
; SOURCE LINE # 180
NOP
; _Nop();
; SOURCE LINE # 181
NOP
; if (SDA1 == 1) ack =0;
; SOURCE LINE # 182
JNB SDA1,?C0019
CLR ack
SJMP ?C0020
?C0019:
; else ack = 1;
; SOURCE LINE # 183
SETB ack
?C0020:
; SCL = 0;
; SOURCE LINE # 184
CLR SCL
; _Nop();
; SOURCE LINE # 185
NOP
; _Nop();
; SOURCE LINE # 186
NOP
; _Nop();
; SOURCE LINE # 187
NOP
; _Nop();
; SOURCE LINE # 188
NOP
; }
; SOURCE LINE # 189
RET
; END OF _jubuSend_byte
; ///////////////
; uchar jubuRcv_byte()
RSEG ?PR?jubuRcv_byte?COPY
jubuRcv_byte:
USING 0
; SOURCE LINE # 191
; {
; SOURCE LINE # 192
; uchar retc;
; uchar BitCnt;
;
; retc = 0;
; SOURCE LINE # 196
;---- Variable 'retc?548' assigned to Register 'R7' ----
CLR A
MOV R7,A
; SDA1 = 1;
; SOURCE LINE # 197
SETB SDA1
; for( BitCnt = 0 ; BitCnt < 8; BitCnt ++)
; SOURCE LINE # 198
;---- Variable 'BitCnt?549' assigned to Register 'R6' ----
MOV R6,A
?C0022:
; {
; SOURCE LINE # 199
; _Nop();
; SOURCE LINE # 200
NOP
; _Nop();
; SOURCE LINE # 201
NOP
; _Nop();
; SOURCE LINE # 202
NOP
; SCL = 0;
; SOURCE LINE # 203
CLR SCL
; _Nop();
; SOURCE LINE # 204
NOP
; _Nop();
; SOURCE LINE # 205
NOP
; _Nop();
; SOURCE LINE # 206
NOP
; _Nop();
; SOURCE LINE # 207
NOP
; _Nop();
; SOURCE LINE # 208
NOP
; _Nop();
; SOURCE LINE # 209
NOP
; _Nop();
; SOURCE LINE # 210
NOP
; SCL = 1;
; SOURCE LINE # 211
SETB SCL
; _Nop();
; SOURCE LINE # 212
NOP
; _Nop();
; SOURCE LINE # 213
NOP
; _Nop();
; SOURCE LINE # 214
NOP
; _Nop();
; SOURCE LINE # 215
NOP
; _Nop();
; SOURCE LINE # 216
NOP
; _Nop();
; SOURCE LINE # 217
NOP
; _Nop();
; SOURCE LINE # 218
NOP
; retc = retc << 1;
; SOURCE LINE # 219
MOV A,R7
ADD A,ACC
MOV R7,A
; if (SDA1 == 1) retc= retc +1;
; SOURCE LINE # 220
JNB SDA1,?C0025
INC R7
?C0025:
; _Nop();
; SOURCE LINE # 221
NOP
; _Nop();
; SOURCE LINE # 222
NOP
; _Nop();
; SOURCE LINE # 223
NOP
; _Nop();
; SOURCE LINE # 224
NOP
; }
; SOURCE LINE # 225
INC R6
CJNE R6,#08H,?C0022
?C0023:
; SCL = 0;
; SOURCE LINE # 226
CLR SCL
; _Nop();
; SOURCE LINE # 227
NOP
; _Nop();
; SOURCE LINE # 228
NOP
; _Nop();
; SOURCE LINE # 229
NOP
; _Nop();
; SOURCE LINE # 230
NOP
; return(retc);
; SOURCE LINE # 231
; }
; SOURCE LINE # 232
?C0026:
RET
; END OF jubuRcv_byte
; void jubuAckI2c( bit a )
RSEG ?PR?jubuAckI2c?COPY
L?0296:
USING 0
LCALL jubuRcv_byte
MOV A,R7
LCALL ?C?CSTPTR
CLR ?jubuAckI2c?BIT
jubuAckI2c:
; SOURCE LINE # 233
; {
; SOURCE LINE # 234
; if ( a == 0) SDA1 = 0;
; SOURCE LINE # 235
JB a?650,?C0027
CLR SDA1
SJMP ?C0028
?C0027:
; else SDA1 = 1;
; SOURCE LINE # 236
SETB SDA1
?C0028:
; _Nop();
; SOURCE LINE # 237
NOP
; _Nop();
; SOURCE LINE # 238
NOP
; _Nop();
; SOURCE LINE # 239
NOP
; _Nop();
; SOURCE LINE # 240
NOP
; _Nop();
; SOURCE LINE # 241
NOP
; SCL = 1;
; SOURCE LINE # 242
SETB SCL
; _Nop();
; SOURCE LINE # 243
NOP
; _Nop();
; SOURCE LINE # 244
NOP
; _Nop();
; SOURCE LINE # 245
NOP
; _Nop();
; SOURCE LINE # 246
NOP
; _Nop();
; SOURCE LINE # 247
NOP
; _Nop();
; SOURCE LINE # 248
NOP
; SCL = 0;
; SOURCE LINE # 249
CLR SCL
; _Nop();
; SOURCE LINE # 250
NOP
; _Nop();
; SOURCE LINE # 251
NOP
; _Nop();
; SOURCE LINE # 252
NOP
; }
; SOURCE LINE # 253
RET
; END OF jubuAckI2c
; ///////////////////////////////////
; bit jubu_RS16K ( uchar sla, uchar suba, uchar *s, uchar no )
RSEG ?PR?_jubu_RS16K?COPY
_jubu_RS16K:
USING 0
; SOURCE LINE # 255
;---- Variable 'sla?751' assigned to Register 'R4' ----
MOV R4,AR7
;---- Variable 's?753' assigned to Register 'R1/R2/R3' ----
;---- Variable 'suba?752' assigned to Register 'R5' ----
; {
; SOURCE LINE # 256
; uchar i;
; jubuStartI2c ();
; SOURCE LINE # 258
LCALL jubuStartI2c
; jubuSend_byte (sla);
; SOURCE LINE # 259
LCALL _jubuSend_byte
; if( ack == 0 ) return (0);
; SOURCE LINE # 260
JB ack,?C0030
CLR C
RET
?C0030:
; jubuSend_byte (suba);
; SOURCE LINE # 261
MOV R7,AR5
LCALL _jubuSend_byte
; if (ack == 0 ) return (0);
; SOURCE LINE # 262
JB ack,?C0032
CLR C
RET
?C0032:
; jubuStartI2c();
; SOURCE LINE # 263
LCALL jubuStartI2c
; jubuSend_byte(sla + 1);
; SOURCE LINE # 264
MOV A,R4
INC A
MOV R7,A
LCALL _jubuSend_byte
; if ( ack == 0) return ( 0 );
; SOURCE LINE # 265
JB ack,?C0033
CLR C
RET
?C0033:
; for(i =0;i< no -1; i++)
; SOURCE LINE # 266
;---- Variable 'i?755' assigned to Register 'R5' ----
CLR A
MOV R5,A
?C0034:
MOV A,no?754
DEC A
MOV R7,A
MOV A,R5
CLR C
SUBB A,R7
JNC ?C0035
; {
; SOURCE LINE # 267
; *s = jubuRcv_byte();
; SOURCE LINE # 268
; jubuAckI2c(0);
; SOURCE LINE # 269
LCALL L?0296
; s++;
; SOURCE LINE # 270
MOV A,#01H
ADD A,R1
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
; }
; SOURCE LINE # 271
INC R5
SJMP ?C0034
?C0035:
; *s = jubuRcv_byte();
; SOURCE LINE # 272
LCALL jubuRcv_byte
MOV A,R7
LCALL ?C?CSTPTR
; jubuAckI2c(1);
; SOURCE LINE # 273
SETB ?jubuAckI2c?BIT
LCALL jubuAckI2c
; jubuStopI2c();
; SOURCE LINE # 274
LCALL jubuStopI2c
; return(1);
; SOURCE LINE # 275
SETB C
; }
; SOURCE LINE # 276
?C0031:
RET
; END OF _jubu_RS16K
; bit jubu_RS32K ( uchar sla, uint suba, uchar *s, uchar no )
RSEG ?PR?_jubu_RS32K?COPY
_jubu_RS32K:
USING 0
; SOURCE LINE # 277
MOV sla?856,R7
;---- Variable 's?858' assigned to Register 'R1/R2/R3' ----
;---- Variable 'suba?857' assigned to Register 'R4/R5' ----
; {
; SOURCE LINE # 278
; uchar i;
; jubuStartI2c ();
; SOURCE LINE # 280
LCALL jubuStartI2c
; jubuSend_byte (sla);
; SOURCE LINE # 281
MOV R7,sla?856
LCALL _jubuSend_byte
; if( ack == 0 ) return (0);
; SOURCE LINE # 282
JB ack,?C0037
CLR C
RET
?C0037:
; jubuSend_byte (suba / 256); // the high byte address
; SOURCE LINE # 283
MOV R7,AR4
LCALL _jubuSend_byte
; if (ack == 0 ) return (0);
; SOURCE LINE # 284
JB ack,?C0039
CLR C
RET
?C0039:
; jubuSend_byte (suba % 256); // the low byte address
; SOURCE LINE # 285
MOV R7,AR5
LCALL _jubuSend_byte
; if (ack == 0 ) return (0);
; SOURCE LINE # 286
JB ack,?C0040
CLR C
RET
?C0040:
; jubuStartI2c();
; SOURCE LINE # 287
LCALL jubuStartI2c
; jubuSend_byte(sla + 1);
; SOURCE LINE # 288
MOV A,sla?856
INC A
MOV R7,A
LCALL _jubuSend_byte
; if ( ack == 0) return ( 0 );
; SOURCE LINE # 289
JB ack,?C0041
CLR C
RET
?C0041:
; for(i =0;i< no -1; i++)
; SOURCE LINE # 290
;---- Variable 'i?860' assigned to Register 'R5' ----
CLR A
MOV R5,A
?C0042:
MOV A,no?859
DEC A
MOV R7,A
MOV A,R5
CLR C
SUBB A,R7
JNC ?C0043
; {
; SOURCE LINE # 291
; *s = jubuRcv_byte();
; SOURCE LINE # 292
; jubuAckI2c(0);
; SOURCE LINE # 293
LCALL L?0296
; s++;
; SOURCE LINE # 294
MOV A,#01H
ADD A,R1
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
; }
; SOURCE LINE # 295
INC R5
SJMP ?C0042
?C0043:
; *s = jubuRcv_byte();
; SOURCE LINE # 296
LCALL jubuRcv_byte
MOV A,R7
LCALL ?C?CSTPTR
; jubuAckI2c(1);
; SOURCE LINE # 297
SETB ?jubuAckI2c?BIT
LCALL jubuAckI2c
; jubuStopI2c();
; SOURCE LINE # 298
LCALL jubuStopI2c
; return(1);
; SOURCE LINE # 299
SETB C
; }
; SOURCE LINE # 300
?C0038:
RET
; END OF _jubu_RS32K
; ////////////////////////////////
; bit jubuSendStr16K( uchar sla, uchar suba, uchar *s, uchar no )
RSEG ?PR?_jubuSendStr16K?COPY
_jubuSendStr16K:
USING 0
; SOURCE LINE # 302
;---- Variable 'sla?961' assigned to Register 'R6' ----
MOV R6,AR7
;---- Variable 's?963' assigned to Register 'R1/R2/R3' ----
;---- Variable 'suba?962' assigned to Register 'R5' ----
; {
; SOURCE LINE # 303
; uchar i;
; jubuStartI2c();
; SOURCE LINE # 305
LCALL jubuStartI2c
; jubuSend_byte(sla);
; SOURCE LINE # 306
LCALL _jubuSend_byte
; if(ack == 0)return (0);
; SOURCE LINE # 307
JB ack,?C0045
CLR C
RET
?C0045:
; jubuSend_byte(suba);
; SOURCE LINE # 308
MOV R7,AR5
LCALL _jubuSend_byte
; if(ack == 0)return (0);
; SOURCE LINE # 309
JB ack,?C0047
CLR C
RET
?C0047:
; for( i = 0; i < no ;i ++)
; SOURCE LINE # 310
;---- Variable 'i?965' assigned to Register 'R5' ----
CLR A
MOV R5,A
?C0048:
MOV A,R5
CLR C
SUBB A,no?964
JNC ?C0049
; {
; SOURCE LINE # 311
; jubuSend_byte(*s);
; SOURCE LINE # 312
LCALL L?0298
; if(ack == 0)return (0);
; SOURCE LINE # 313
JB ack,?C0051
CLR C
RET
?C0051:
; s++;
; SOURCE LINE # 314
MOV A,#01H
ADD A,R1
MOV R1,A
CLR A
ADDC A,R2
MOV R2,A
; }
; SOURCE LINE # 315
INC R5
SJMP ?C0048
?C0049:
; jubuStopI2c();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -