📄 iic.lst
字号:
227 0D52 2506 fcall _i2c_stop
228 0D53 l46
229 ;iic.c: 114: i2c_stop();
230 0D53 2506 fcall _i2c_stop
231 0D54 l49
232 ;iic.c: 116: do{
233 ;iic.c: 117: i2c_start();
234 0D54 2515 fcall _i2c_start
235 ;iic.c: 118: SSPBUF=0xA0;
236 0D55 30A0 movlw -96
237 0D56 0093 movwf 19 ;volatile
238 ;iic.c: 119: i2c_dataout();
239 0D57 2510 fcall _i2c_dataout
240 ;iic.c: 120: i2c_stop();
241 0D58 2506 fcall _i2c_stop
242 ;iic.c: 121: if(!ACKSTAT)break;
243 0D59 1683 bsf 3,5
244 0D5A 1F11 btfss 17,6
245 0D5B 2D5E goto l32
246 ;iic.c: 122: }while(ACKSTAT);
247 0D5C 1B11 btfsc 17,6
248 0D5D 2D54 goto l49
249 ;iic.c: 123: }
250 0D5E l32
251 0D5E 1283 bcf 3,5
252 0D5F 0008 return
253 ;iic.c: 125: unsigned int current_read(void)
254 ;iic.c: 126: {
255 0D60 _current_read
256 ;iic.c: 127: i2c_start();
257 0D60 2515 fcall _i2c_start
258 ;iic.c: 128: SSPBUF=0xA1;
259 0D61 30A1 movlw -95
260 0D62 0093 movwf 19 ;volatile
261 ;iic.c: 129: i2c_dataout();
262 0D63 2510 fcall _i2c_dataout
263 ;iic.c: 130: if(ACKSTAT)
264 0D64 1683 bsf 3,5
265 0D65 1F11 btfss 17,6
266 0D66 2D69 goto l52
267 ;iic.c: 131: i2c_error();
268 ;iic.c: 79: i2c_stop();
269 0D67 2506 fcall _i2c_stop
270 ;iic.c: 132: else if(!ACKSTAT)
271 0D68 2D6C goto l53
272 0D69 l52
273 0D69 1B11 btfsc 17,6
274 0D6A 2D6C goto l53
275 ;iic.c: 133: i2c_datainlast();
276 0D6B 24F4 fcall _i2c_datainlast
277 ;iic.c: 134: i2c_stop();
278 0D6C l53
279 0D6C 2506 fcall _i2c_stop
280 ;iic.c: 136: return ((unsigned int)receive);
281 0D6D 0823 movf _receive,w
282 0D6E 00BC movwf btemp
283 0D6F 01BD clrf btemp+1
284 ;iic.c: 137: }
285 0D70 0008 return
286 0D71 _random_read
287 ;iic.c: 141: i2c_start();
288 0D71 2515 fcall _i2c_start
289 ;iic.c: 142: SSPBUF=0xA0;
290 0D72 30A0 movlw -96
291 0D73 0093 movwf 19 ;volatile
292 ;iic.c: 143: i2c_dataout();
293 0D74 2510 fcall _i2c_dataout
294 ;iic.c: 145: if(ACKSTAT)
295 0D75 1683 bsf 3,5
296 0D76 1F11 btfss 17,6
297 0D77 2D7A goto l56
298 ;iic.c: 146: i2c_error();
299 ;iic.c: 79: i2c_stop();
300 0D78 2506 fcall _i2c_stop
301 ;iic.c: 147: else if(!ACKSTAT)
302 0D79 2D7F goto l57
303 0D7A l56
304 0D7A 1B11 btfsc 17,6
305 0D7B 2D7F goto l57
306 ;iic.c: 148: SSPBUF=eepromaddress/256;
307 0D7C 1283 bcf 3,5
308 0D7D 0834 movf ?_random_read+1,w
309 0D7E 0093 movwf 19 ;volatile
310 ;iic.c: 150: i2c_dataout();
311 0D7F l57
312 0D7F 2510 fcall _i2c_dataout
313 ;iic.c: 152: if(ACKSTAT)
314 0D80 1683 bsf 3,5
315 0D81 1F11 btfss 17,6
316 0D82 2D85 goto l59
317 ;iic.c: 153: i2c_error();
318 ;iic.c: 79: i2c_stop();
319 0D83 2506 fcall _i2c_stop
320 ;iic.c: 154: else if(!ACKSTAT)
321 0D84 2D8A goto l60
322 0D85 l59
323 0D85 1B11 btfsc 17,6
324 0D86 2D8A goto l60
325 ;iic.c: 155: SSPBUF=eepromaddress%256;
326 0D87 1283 bcf 3,5
327 0D88 0833 movf ?_random_read,w
328 0D89 0093 movwf 19 ;volatile
329 ;iic.c: 156: i2c_dataout();
330 0D8A l60
331 0D8A 2510 fcall _i2c_dataout
332 ;iic.c: 158: if(ACKSTAT)
333 0D8B 1683 bsf 3,5
334 0D8C 1F11 btfss 17,6
335 0D8D 2D90 goto l62
336 ;iic.c: 159: i2c_error();
337 ;iic.c: 79: i2c_stop();
338 0D8E 2506 fcall _i2c_stop
339 ;iic.c: 160: else if(!ACKSTAT)
340 0D8F 2D93 goto l63
341 0D90 l62
342 0D90 1B11 btfsc 17,6
343 0D91 2D93 goto l63
344 ;iic.c: 162: i2c_restart();
345 0D92 24EC fcall _i2c_restart
346 ;iic.c: 163: SSPBUF=0xA1;
347 0D93 l63
348 0D93 30A1 movlw -95
349 0D94 1283 bcf 3,5
350 0D95 0093 movwf 19 ;volatile
351 ;iic.c: 164: i2c_dataout();
352 0D96 2510 fcall _i2c_dataout
353 ;iic.c: 166: if(ACKSTAT)
354 0D97 1683 bsf 3,5
355 0D98 1F11 btfss 17,6
356 0D99 2D9C goto l65
357 ;iic.c: 167: i2c_error();
358 ;iic.c: 79: i2c_stop();
359 0D9A 2506 fcall _i2c_stop
360 ;iic.c: 168: else if(!ACKSTAT)
361 0D9B 2D9F goto l66
362 0D9C l65
363 0D9C 1B11 btfsc 17,6
364 0D9D 2D9F goto l66
365 ;iic.c: 169: i2c_datainlast();
366 0D9E 24F4 fcall _i2c_datainlast
367 ;iic.c: 170: i2c_stop();
368 0D9F l66
369 0D9F 2506 fcall _i2c_stop
370 ;iic.c: 171: return ((unsigned int)receive);
371 0DA0 0823 movf _receive,w
372 0DA1 00BC movwf btemp
373 0DA2 01BD clrf btemp+1
374 ;iic.c: 173: }
375 0DA3 0008 return
376
377 psect text4
378 ;iic.c: 43: void i2c_datain()
379 ;iic.c: 44: {
380 0C63 _i2c_datain
381 ;iic.c: 45: RCEN=1;
382 0C63 1683 bsf 3,5
383 0C64 1303 bcf 3,6 ;carry unused
384 0C65 1591 bsf 17,3
385 0C66 l20
386 ;iic.c: 46: do{
387 ;iic.c: 47: ;
388 0C66 1283 bcf 3,5
389 0C67 1D8C btfss 12,3
390 0C68 2C66 goto l20
391 ;iic.c: 49: SSPIF=0;
392 0C69 118C bcf 12,3
393 ;iic.c: 50: receive=SSPBUF;
394 0C6A 0813 movf 19,w ;volatile
395 0C6B 00A3 movwf _receive
396 ;iic.c: 51: ACKDT=0;
397 0C6C 1683 bsf 3,5
398 0C6D 1291 bcf 17,5
399 ;iic.c: 52: ACKEN=1;
400 0C6E 1611 bsf 17,4
401 0C6F l23
402 ;iic.c: 53: do{
403 ;iic.c: 54: ;
404 0C6F 1283 bcf 3,5
405 0C70 1D8C btfss 12,3
406 0C71 2C6F goto l23
407 ;iic.c: 56: SSPIF=0;
408 0C72 118C bcf 12,3
409 ;iic.c: 57: }
410 0C73 0008 return
411
412 psect text10
413 0000
414 0000
415 0000
416 0000
417 0000
418 0000
419 0000
420 0000
421 0000
422 0000
423 0000
424 0000
425 0000
426 0000
427 0000
428 0000
429 0000
430 0000
431 0000
432 0000
433 0000
434 0000
435 0000
436 0000
437 0000
438 0000
439 0000
440 0000
441 0000
442 0000
443 0000
444 0000
445 0000
446 0000
447 0000
448 0000
449 0000
450 0000
451 0000
452 0000
453 0000
454 0000
455 0000
456 0000
457 0000
458 0000
459 0000
460 0000
461 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -