📄 i2c.lst
字号:
248 ;I2C.c: 110: RC4 = 1;
249 05CF 1607 bsf 7,4
250 ;I2C.c: 111: asm("nop");
251 05D0 0000 nop ;#
252 ;I2C.c: 112: SSPEN = 1;
253 05D1 1694 bsf 20,5
254 05D2 l49
255 ;I2C.c: 113: }
256 05D2 1683 bsf 3,5
257 05D3 0811 movf 17,w ;volatile
258 05D4 391F andlw 31
259 05D5 1903 btfsc 3,2
260 05D6 1914 btfsc 20,2
261 05D7 2DCB goto l50
262 ;I2C.c: 115: SEN = 1;
263 05D8 1411 bsf 17,0
264 ;I2C.c: 116: while(SEN);
265 05D9 l52
266 05D9 1811 btfsc 17,0
267 05DA 2DD9 goto l52
268 ;I2C.c: 117: SSPIF = 0;
269 05DB 1283 bcf 3,5
270 05DC 118C bcf 12,3
271 ;I2C.c: 118: SSPBUF = 0b10100000;
272 05DD 30A0 movlw -96
273 05DE 0093 movwf 19 ;volatile
274 ;I2C.c: 119: while(!SSPIF);
275 05DF l55
276 05DF 198C btfsc 12,3
277 05E0 2DF0 goto l58
278 05E1 2DDF goto l55
279 ;I2C.c: 121: while(ACKSTAT){
280 05E2 l59
281 ;I2C.c: 122: RSEN = 1;
282 05E2 1491 bsf 17,1
283 ;I2C.c: 123: while(RSEN);
284 05E3 l61
285 05E3 1891 btfsc 17,1
286 05E4 2DE3 goto l61
287 ;I2C.c: 124: SSPIF = 0;
288 05E5 1283 bcf 3,5
289 05E6 118C bcf 12,3
290 ;I2C.c: 125: SSPBUF = 0b10100000;
291 05E7 30A0 movlw -96
292 05E8 0093 movwf 19 ;volatile
293 ;I2C.c: 126: while(!SSPIF);
294 05E9 l64
295 05E9 1D8C btfss 12,3
296 05EA 2DE9 goto l64
297 ;I2C.c: 127: if(cnt++>200) return 0xAA;
298 05EB 30C9 movlw -55
299 05EC 0226 subwf ?a_EEPROM_WriteByte,w
300 05ED 0AA6 incf ?a_EEPROM_WriteByte
301 05EE 1803 btfsc 3,0
302 05EF 2E07 goto u350
303 05F0 l58
304 05F0 1683 bsf 3,5
305 05F1 1B11 btfsc 17,6
306 05F2 2DE2 goto l59
307 ;I2C.c: 130: if(ACKSTAT) return 0xAA;
308 05F3 1B11 btfsc 17,6
309 05F4 2E07 goto u350
310 ;I2C.c: 131: SSPIF = 0;
311 05F5 1283 bcf 3,5
312 05F6 118C bcf 12,3
313 ;I2C.c: 132: SSPBUF = (unsigned char)(Addr>>8);
314 05F7 0827 movf ?_EEPROM_WriteByte+1,w
315 05F8 0093 movwf 19 ;volatile
316 ;I2C.c: 133: while(!SSPIF);
317 05F9 l69
318 05F9 1D8C btfss 12,3
319 05FA 2DF9 goto l69
320 ;I2C.c: 135: if(ACKSTAT) return 0xAA;
321 05FB 1683 bsf 3,5
322 05FC 1B11 btfsc 17,6
323 05FD 2E07 goto u350
324 ;I2C.c: 136: SSPIF = 0;
325 05FE 1283 bcf 3,5
326 05FF 118C bcf 12,3
327 ;I2C.c: 137: SSPBUF = (unsigned char)Addr;
328 0600 0826 movf ?_EEPROM_WriteByte,w
329 0601 0093 movwf 19 ;volatile
330 ;I2C.c: 138: while(!SSPIF);
331 0602 l73
332 0602 1D8C btfss 12,3
333 0603 2E02 goto l73
334 ;I2C.c: 140: if(ACKSTAT) return 0xAA;
335 0604 1683 bsf 3,5
336 0605 1F11 btfss 17,6
337 0606 2E09 goto l76
338 0607 u350
339 0607 30AA movlw -86
340 0608 2E14 goto l48
341 0609 l76
342 ;I2C.c: 141: SSPIF = 0;
343 0609 1283 bcf 3,5
344 060A 118C bcf 12,3
345 ;I2C.c: 142: SSPBUF = cData;
346 060B 0828 movf ?_EEPROM_WriteByte+2,w
347 060C 0093 movwf 19 ;volatile
348 ;I2C.c: 143: while(!SSPIF);
349 060D l77
350 060D 1D8C btfss 12,3
351 060E 2E0D goto l77
352 ;I2C.c: 145: PEN = 1;
353 060F 1683 bsf 3,5
354 0610 1511 bsf 17,2
355 ;I2C.c: 146: while(PEN);
356 0611 l80
357 0611 1911 btfsc 17,2
358 0612 2E11 goto l80
359 ;I2C.c: 148: return 0;
360 0613 3000 movlw 0
361 ;I2C.c: 149: }
362 0614 l48
363 0614 1283 bcf 3,5
364 0615 0008 return
365
366 psect text3
367 0616 _EEPROM_ReadByte1
368 ; _Addr assigned to ?a_EEPROM_ReadByte1+0
369 0000 _EEPROM_ReadByte1$Addr set ?a_EEPROM_ReadByte1
370 ; _cnt assigned to ?a_EEPROM_ReadByte1+1
371 0000 _EEPROM_ReadByte1$cnt set ?a_EEPROM_ReadByte1+1
372 ;_Addr stored from w
373 0616 0183 clrf 3 ;select bank 0
374 0617 00A9 movwf ?a_EEPROM_ReadByte1
375 ;I2C.c: 154: unsigned char cnt=0;
376 0618 01AA clrf ?a_EEPROM_ReadByte1+1
377 ;I2C.c: 156: while((SSPCON2 & 0x1F) || RW ){
378 0619 2E21 goto l84
379 061A l85
380 ;I2C.c: 157: SSPEN = 0;
381 061A 1283 bcf 3,5
382 061B 1294 bcf 20,5
383 ;I2C.c: 158: asm("nop");
384 061C 0000 nop ;#
385 ;I2C.c: 159: RC3 = 1;
386 061D 1587 bsf 7,3
387 ;I2C.c: 160: RC4 = 1;
388 061E 1607 bsf 7,4
389 ;I2C.c: 161: asm("nop");
390 061F 0000 nop ;#
391 ;I2C.c: 162: SSPEN = 1;
392 0620 1694 bsf 20,5
393 0621 l84
394 ;I2C.c: 163: }
395 0621 1683 bsf 3,5
396 0622 0811 movf 17,w ;volatile
397 0623 391F andlw 31
398 0624 1903 btfsc 3,2
399 0625 1914 btfsc 20,2
400 0626 2E1A goto l85
401 ;I2C.c: 165: SEN = 1;
402 0627 1411 bsf 17,0
403 ;I2C.c: 166: while(SEN);
404 0628 l87
405 0628 1811 btfsc 17,0
406 0629 2E28 goto l87
407 ;I2C.c: 167: SSPIF = 0;
408 062A 1283 bcf 3,5
409 062B 118C bcf 12,3
410 ;I2C.c: 168: SSPBUF = 0b10100000;
411 062C 30A0 movlw -96
412 062D 0093 movwf 19 ;volatile
413 ;I2C.c: 169: while(!SSPIF);
414 062E l90
415 062E 198C btfsc 12,3
416 062F 2E42 goto l93
417 0630 2E2E goto l90
418 ;I2C.c: 171: while(ACKSTAT){
419 0631 l94
420 ;I2C.c: 172: RSEN = 1;
421 0631 1491 bsf 17,1
422 ;I2C.c: 173: while(RSEN);
423 0632 l96
424 0632 1891 btfsc 17,1
425 0633 2E32 goto l96
426 ;I2C.c: 174: SSPIF = 0;
427 0634 1283 bcf 3,5
428 0635 118C bcf 12,3
429 ;I2C.c: 175: SSPBUF = 0b10100000;
430 0636 30A0 movlw -96
431 0637 0093 movwf 19 ;volatile
432 ;I2C.c: 176: while(!SSPIF);
433 0638 l99
434 0638 1D8C btfss 12,3
435 0639 2E38 goto l99
436 ;I2C.c: 177: asm("nop");
437 063A 0000 nop ;#
438 ;I2C.c: 178: asm("nop");
439 063B 0000 nop ;#
440 ;I2C.c: 179: asm("nop");
441 063C 0000 nop ;#
442 ;I2C.c: 180: if(cnt++>200) return 0xAA;
443 063D 30C9 movlw -55
444 063E 022A subwf ?a_EEPROM_ReadByte1+1,w
445 063F 0AAA incf ?a_EEPROM_ReadByte1+1
446 0640 1803 btfsc 3,0
447 0641 2E5E goto u530
448 0642 l93
449 0642 1683 bsf 3,5
450 0643 1B11 btfsc 17,6
451 0644 2E31 goto l94
452 ;I2C.c: 183: if(ACKSTAT) return 0xAA;
453 0645 1B11 btfsc 17,6
454 0646 2E5E goto u530
455 ;I2C.c: 184: SSPIF = 0;
456 0647 1283 bcf 3,5
457 0648 118C bcf 12,3
458 ;I2C.c: 185: SSPBUF = Addr;
459 0649 0829 movf ?a_EEPROM_ReadByte1,w
460 064A 0093 movwf 19 ;volatile
461 ;I2C.c: 186: while(!SSPIF);
462 064B l104
463 064B 1D8C btfss 12,3
464 064C 2E4B goto l104
465 ;I2C.c: 188: if(ACKSTAT) return 0xAA;
466 064D 1683 bsf 3,5
467 064E 1B11 btfsc 17,6
468 064F 2E5E goto u530
469 ;I2C.c: 189: RSEN = 1;
470 0650 1491 bsf 17,1
471 ;I2C.c: 190: while(RSEN);
472 0651 l108
473 0651 1891 btfsc 17,1
474 0652 2E51 goto l108
475 ;I2C.c: 192: if(ACKSTAT) return 0xAA;
476 0653 1B11 btfsc 17,6
477 0654 2E5E goto u530
478 ;I2C.c: 193: SSPIF = 0;
479 0655 1283 bcf 3,5
480 0656 118C bcf 12,3
481 ;I2C.c: 194: SSPBUF = 0b10100001;
482 0657 30A1 movlw -95
483 0658 0093 movwf 19 ;volatile
484 ;I2C.c: 195: while(!SSPIF);
485 0659 l112
486 0659 1D8C btfss 12,3
487 065A 2E59 goto l112
488 ;I2C.c: 197: if(ACKSTAT) return 0xAA;
489 065B 1683 bsf 3,5
490 065C 1F11 btfss 17,6
491 065D 2E60 goto l115
492 065E u530
493 065E 30AA movlw -86
494 065F 2E76 goto l83
495 0660 l115
496 ;I2C.c: 198: SSPIF = 0;
497 0660 1283 bcf 3,5
498 0661 118C bcf 12,3
499 ;I2C.c: 199: RCEN = 1;
500 0662 1683 bsf 3,5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -