📄 i2c.lst
字号:
219 00778A 06F3 decf prodl,f,c
220 00778C A0D8 btfss status,0,c
221 00778E 06F4 decf prodh,f,c
222 007790 50F4 movf prodh,w,c
223 007792 0A80 xorlw 128
224 007794 0F80 addlw -128
225 007796 0E01 movlw 1
226 007798 B4D8 btfsc status,2,c
227 00779A 5CF3 subwf prodl,w,c
228 00779C E2F6 bc l7
229 ;I2C.c: 67: TRISC |= 0B00010000;
230 00779E 8894 bsf 3988,4,c ;volatile
231 ;I2C.c: 68: I2C_Set_sck_high();
232 0077A0 DFDC call _I2C_Set_sck_high ;wreg free
233 ;I2C.c: 70: for(j = 30;j > 0;j--);
234 0077A2 0E1E movlw 30
235 0077A4 6EF3 movwf prodl,c
236 0077A6 6AF4 clrf prodh,c
237 0077A8 l10:
238 0077A8 06F3 decf prodl,f,c
239 0077AA A0D8 btfss status,0,c
240 0077AC 06F4 decf prodh,f,c
241 0077AE 50F4 movf prodh,w,c
242 0077B0 0A80 xorlw 128
243 0077B2 0F80 addlw -128
244 0077B4 0E01 movlw 1
245 0077B6 B4D8 btfsc status,2,c
246 0077B8 5CF3 subwf prodl,w,c
247 0077BA E2F6 bc l10
248 ;I2C.c: 72: nTemp = (int)(PORTC&0B00010000);
249 0077BC 5082 movf 3970,w,c ;volatile
250 0077BE 0B10 andlw 16
251 0077C0 6EF3 movwf prodl,c
252 0077C2 6AF4 clrf prodh,c
253 ;I2C.c: 74: I2C_Set_sck_low();
254 0077C4 DFD2 call _I2C_Set_sck_low ;wreg free
255 ;I2C.c: 76: return (nTemp & 0B00010000);
256 0077C6 0E10 movlw 16
257 0077C8 CFF3 F000 movff prodl,btemp
258 0077CC CFF4 F001 movff prodh,btemp+1
259 0077D0 1600 andwf btemp,f,c
260 0077D2 0E00 movlw 0
261 0077D4 6A01 clrf btemp+1,c
262 0077D6 0012 return
263 ;I2C.c: 77: }
264 0077D8 _I2C_SetACK:
265 000000
266 ;I2C.c: 78: void I2C_SetACK(void)
267 0077D8 DFC8 call _I2C_Set_sck_low ;wreg free
268 ;I2C.c: 81: I2C_Set_sda_low();
269 0077DA DFB7 call _I2C_Set_sda_low ;wreg free
270 ;I2C.c: 82: I2C_Set_sck_high();
271 0077DC DFBE call _I2C_Set_sck_high ;wreg free
272 ;I2C.c: 83: I2C_Set_sck_low();
273 0077DE D7C5 goto _I2C_Set_sck_low ;wreg free
274 ;I2C.c: 84: return;
275 ;I2C.c: 85: }
276 0077E0 _I2C_SetNAk:
277 000000
278 ;I2C.c: 86: void I2C_SetNAk(void)
279 0077E0 DFC4 call _I2C_Set_sck_low ;wreg free
280 ;I2C.c: 89: I2C_Set_sda_high();
281 0077E2 DFAB call _I2C_Set_sda_high ;wreg free
282 ;I2C.c: 90: I2C_Set_sck_high();
283 0077E4 DFBA call _I2C_Set_sck_high ;wreg free
284 ;I2C.c: 91: I2C_Set_sck_low();
285 0077E6 D7C1 goto _I2C_Set_sck_low ;wreg free
286 ;I2C.c: 92: return;
287 ;I2C.c: 93: }
288 0077E8 _I2C_START:
289 000000
290 ;I2C.c: 94: void I2C_START(void)
291 0077E8 DFA8 call _I2C_Set_sda_high ;wreg free
292 ;I2C.c: 99: for(i = 5;i > 0;i--);
293 0077EA 0E05 movlw 5
294 0077EC 6EF3 movwf prodl,c
295 0077EE 6AF4 clrf prodh,c
296 0077F0 l16:
297 0077F0 06F3 decf prodl,f,c
298 0077F2 A0D8 btfss status,0,c
299 0077F4 06F4 decf prodh,f,c
300 0077F6 50F4 movf prodh,w,c
301 0077F8 0A80 xorlw 128
302 0077FA 0F80 addlw -128
303 0077FC 0E01 movlw 1
304 0077FE B4D8 btfsc status,2,c
305 007800 5CF3 subwf prodl,w,c
306 007802 E2F6 bc l16
307 ;I2C.c: 100: I2C_Set_sck_high();
308 007804 DFAA call _I2C_Set_sck_high ;wreg free
309 ;I2C.c: 101: for(i = 5;i > 0;i--);
310 007806 0E05 movlw 5
311 007808 6EF3 movwf prodl,c
312 00780A 6AF4 clrf prodh,c
313 00780C l19:
314 00780C 06F3 decf prodl,f,c
315 00780E A0D8 btfss status,0,c
316 007810 06F4 decf prodh,f,c
317 007812 50F4 movf prodh,w,c
318 007814 0A80 xorlw 128
319 007816 0F80 addlw -128
320 007818 0E01 movlw 1
321 00781A B4D8 btfsc status,2,c
322 00781C 5CF3 subwf prodl,w,c
323 00781E E2F6 bc l19
324 ;I2C.c: 102: I2C_Set_sda_low();
325 007820 DF94 call _I2C_Set_sda_low ;wreg free
326 ;I2C.c: 103: for(i = 5;i > 0;i--);
327 007822 0E05 movlw 5
328 007824 6EF3 movwf prodl,c
329 007826 6AF4 clrf prodh,c
330 007828 l22:
331 007828 06F3 decf prodl,f,c
332 00782A A0D8 btfss status,0,c
333 00782C 06F4 decf prodh,f,c
334 00782E 50F4 movf prodh,w,c
335 007830 0A80 xorlw 128
336 007832 0F80 addlw -128
337 007834 0E01 movlw 1
338 007836 B4D8 btfsc status,2,c
339 007838 5CF3 subwf prodl,w,c
340 00783A E2F6 bc l22
341 ;I2C.c: 104: I2C_Set_sck_low();
342 00783C D796 goto _I2C_Set_sck_low ;wreg free
343 ;I2C.c: 105: return;
344 ;I2C.c: 106: }
345 00783E _I2C_STOP:
346 000000
347 ;I2C.c: 107: void I2C_STOP(void)
348 00783E DF85 call _I2C_Set_sda_low ;wreg free
349 ;I2C.c: 112: for(i = 5;i > 0;i--);
350 007840 0E05 movlw 5
351 007842 6EF3 movwf prodl,c
352 007844 6AF4 clrf prodh,c
353 007846 l26:
354 007846 06F3 decf prodl,f,c
355 007848 A0D8 btfss status,0,c
356 00784A 06F4 decf prodh,f,c
357 00784C 50F4 movf prodh,w,c
358 00784E 0A80 xorlw 128
359 007850 0F80 addlw -128
360 007852 0E01 movlw 1
361 007854 B4D8 btfsc status,2,c
362 007856 5CF3 subwf prodl,w,c
363 007858 E2F6 bc l26
364 ;I2C.c: 113: I2C_Set_sck_low();
365 00785A DF87 call _I2C_Set_sck_low ;wreg free
366 ;I2C.c: 114: for(i = 5;i > 0;i--);
367 00785C 0E05 movlw 5
368 00785E 6EF3 movwf prodl,c
369 007860 6AF4 clrf prodh,c
370 007862 l29:
371 007862 06F3 decf prodl,f,c
372 007864 A0D8 btfss status,0,c
373 007866 06F4 decf prodh,f,c
374 007868 50F4 movf prodh,w,c
375 00786A 0A80 xorlw 128
376 00786C 0F80 addlw -128
377 00786E 0E01 movlw 1
378 007870 B4D8 btfsc status,2,c
379 007872 5CF3 subwf prodl,w,c
380 007874 E2F6 bc l29
381 ;I2C.c: 115: I2C_Set_sck_high();
382 007876 DF71 call _I2C_Set_sck_high ;wreg free
383 ;I2C.c: 116: for(i = 5;i > 0;i--);
384 007878 0E05 movlw 5
385 00787A 6EF3 movwf prodl,c
386 00787C 6AF4 clrf prodh,c
387 00787E l32:
388 00787E 06F3 decf prodl,f,c
389 007880 A0D8 btfss status,0,c
390 007882 06F4 decf prodh,f,c
391 007884 50F4 movf prodh,w,c
392 007886 0A80 xorlw 128
393 007888 0F80 addlw -128
394 00788A 0E01 movlw 1
395 00788C B4D8 btfsc status,2,c
396 00788E 5CF3 subwf prodl,w,c
397 007890 E2F6 bc l32
398 ;I2C.c: 117: I2C_Set_sda_high();
399 007892 DF53 call _I2C_Set_sda_high ;wreg free
400 ;I2C.c: 118: for(i = 5;i > 0;i--);
401 007894 0E05 movlw 5
402 007896 6EF3 movwf prodl,c
403 007898 6AF4 clrf prodh,c
404 00789A l35:
405 00789A 06F3 decf prodl,f,c
406 00789C A0D8 btfss status,0,c
407 00789E 06F4 decf prodh,f,c
408 0078A0 50F4 movf prodh,w,c
409 0078A2 0A80 xorlw 128
410 0078A4 0F80 addlw -128
411 0078A6 0E01 movlw 1
412 0078A8 B4D8 btfsc status,2,c
413 0078AA 5CF3 subwf prodl,w,c
414 0078AC E2F6 bc l35
415 ;I2C.c: 119: I2C_Set_sck_low();
416 0078AE DF5D call _I2C_Set_sck_low ;wreg free
417 0078B0 L5:
418 ;I2C.c: 121: Delay_ms(10);
419 0078B0 0E0A movlw 10
420 0078B2 0100 movlb __Lparam shr (0+8)
421 0078B4 6FFC movwf ?_Delay_ms^(__Lparam& (0+65280)),b
422 0078B6 6BFD clrf (?_Delay_ms+1)^(__Lparam& (0+65280)),b
423 0078B8 6BFE clrf (?_Delay_ms+2)^(__Lparam& (0+65280)),b
424 0078BA 6BFF clrf (?_Delay_ms+3)^(__Lparam& (0+65280)),b
425 0078BC D0DC goto _Delay_ms ;wreg free
426 ;I2C.c: 123: return;
427 ;I2C.c: 124: }
428 ; param _nValue assigned to ?_I2C_TxHToL+0
429 0078BE 00FC dw ?_I2C_TxHToL
430 0078C0 _I2C_TxHToL:
431 000000
432 ;I2C.c: 125: void I2C_TxHToL(int nValue)
433 0078C0 6AF6 clrf tblptrl,c
434 0078C2 6AF7 clrf tblptrh,c
435 0078C4 l39:
436 ;I2C.c: 131: {
437 0078C4 0100 movlb __Lparam shr (0+8)
438 0078C6 AFFC btfss ?_I2C_TxHToL^(__Lparam& (0+65280)),7,b
439 0078C8 D002 goto l42
440 ;I2C.c: 133: I2C_Set_sda_high();
441 0078CA DF37 call _I2C_Set_sda_high ;wreg free
442 0078CC D001 goto l43
443 0078CE l42:
444 ;I2C.c: 134: else
445 0078CE DF3D call _I2C_Set_sda_low ;wreg free
446 0078D0 l43:
447 ;I2C.c: 136: for(j = 30;j > 0;j--);
448 0078D0 0E1E movlw 30
449 0078D2 6EF3 movwf prodl,c
450 0078D4 6AF4 clrf prodh,c
451 0078D6 l44:
452 0078D6 06F3 decf prodl,f,c
453 0078D8 A0D8 btfss status,0,c
454 0078DA 06F4 decf prodh,f,c
455 0078DC 50F4 movf prodh,w,c
456 0078DE 0A80 xorlw 128
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -