📄 tsl5621.lst
字号:
302 0735 _I_send_str
303 ; _sla assigned to ?a_I_send_str+0
304 0000 _I_send_str$sla set ?a_I_send_str
305 ; _i assigned to ?a_I_send_str+1
306 0000 _I_send_str$i set ?a_I_send_str+1
307 ;_sla stored from w
308 0735 0183 clrf 3 ;select bank 0
309 0736 00A8 movwf ?a_I_send_str
310 ;tsl5621.c: 130: unsigned char i;
311 0737 2720 fcall _start_i2c
312 ;tsl5621.c: 132: send_byte(sla);
313 0738 0828 movf ?a_I_send_str,w
314 0739 26E8 fcall _send_byte
315 ;tsl5621.c: 133: if (ack==0) iic_error();
316 073A 08A0 movf _ack
317 073B 1D03 btfss 3,2
318 073C 2F3E goto l18
319 073D 26DA fcall _iic_error
320 073E l18
321 ;tsl5621.c: 134: send_byte(suba);
322 073E 0825 movf ?_I_send_str,w
323 073F 26E8 fcall _send_byte
324 ;tsl5621.c: 135: if (ack==0) iic_error();
325 0740 08A0 movf _ack
326 0741 1D03 btfss 3,2
327 0742 2F44 goto l19
328 0743 26DA fcall _iic_error
329 0744 l19
330 ;tsl5621.c: 136: for (i=0;i<no;i++)
331 0744 01A9 clrf ?a_I_send_str+1
332 0745 l23
333 0745 0827 movf ?_I_send_str+2,w
334 0746 0229 subwf ?a_I_send_str+1,w
335 0747 1803 btfsc 3,0
336 0748 2F55 goto l21
337 ;tsl5621.c: 137: {
338 ;tsl5621.c: 138: send_byte(*s);
339 0749 0826 movf ?_I_send_str+1,w
340 074A 0084 movwf 4
341 074B 1383 bcf 3,7
342 074C 0800 movf 0,w
343 074D 26E8 fcall _send_byte
344 ;tsl5621.c: 139: if (ack==0) iic_error();
345 074E 08A0 movf _ack
346 074F 1D03 btfss 3,2
347 0750 2F52 goto l24
348 0751 26DA fcall _iic_error
349 0752 l24
350 ;tsl5621.c: 140: s++;
351 0752 0AA6 incf ?_I_send_str+1
352 ;tsl5621.c: 141: }
353 0753 0AA9 incf ?a_I_send_str+1
354 0754 2F45 goto l23
355 0755 l21
356 ;tsl5621.c: 142: stop_i2c();
357 0755 2EBC ljmp _stop_i2c
358 0756 _WriteByte
359 ; _Command1 assigned to ?a_WriteByte+0
360 0000 _WriteByte$Command1 set ?a_WriteByte
361 ;_Command1 stored from w
362 0756 0183 clrf 3 ;select bank 0
363 0757 00A5 movwf ?a_WriteByte
364 ;tsl5621.c: 148: start_i2c();
365 0758 2720 fcall _start_i2c
366 ;tsl5621.c: 149: send_byte(0x72);
367 0759 3072 movlw 114
368 075A 26E8 fcall _send_byte
369 ;tsl5621.c: 150: if (ack==0) iic_error();
370 075B 08A0 movf _ack
371 075C 1D03 btfss 3,2
372 075D 2F5F goto l26
373 075E 26DA fcall _iic_error
374 075F l26
375 ;tsl5621.c: 151: send_byte(Command1);
376 075F 0825 movf ?a_WriteByte,w
377 0760 26E8 fcall _send_byte
378 ;tsl5621.c: 152: if (ack==0) iic_error();
379 0761 08A0 movf _ack
380 0762 1D03 btfss 3,2
381 0763 2F65 goto l27
382 0764 26DA fcall _iic_error
383 0765 l27
384 ;tsl5621.c: 153: send_byte(Data);
385 0765 0825 movf ?_WriteByte,w
386 0766 26E8 fcall _send_byte
387 ;tsl5621.c: 154: if (ack==0) iic_error();
388 0767 08A0 movf _ack
389 0768 1D03 btfss 3,2
390 0769 2F6B goto l28
391 076A 26DA fcall _iic_error
392 076B l28
393 ;tsl5621.c: 155: stop_i2c();
394 076B 2EBC ljmp _stop_i2c
395 076C _WriteWord
396 ; _Command2 assigned to ?a_WriteWord+0
397 0000 _WriteWord$Command2 set ?a_WriteWord
398 ;_Command2 stored from w
399 076C 0183 clrf 3 ;select bank 0
400 076D 00A5 movwf ?a_WriteWord
401 ;tsl5621.c: 160: start_i2c();
402 076E 2720 fcall _start_i2c
403 ;tsl5621.c: 161: send_byte(0x72);
404 076F 3072 movlw 114
405 0770 26E8 fcall _send_byte
406 ;tsl5621.c: 162: if (ack==0) iic_error();
407 0771 08A0 movf _ack
408 0772 1D03 btfss 3,2
409 0773 2F75 goto l30
410 0774 26DA fcall _iic_error
411 0775 l30
412 ;tsl5621.c: 163: send_byte(Command2);
413 0775 0825 movf ?a_WriteWord,w
414 0776 26E8 fcall _send_byte
415 ;tsl5621.c: 164: if (ack==0) iic_error();
416 0777 08A0 movf _ack
417 0778 1D03 btfss 3,2
418 0779 2F7B goto l31
419 077A 26DA fcall _iic_error
420 077B l31
421 ;tsl5621.c: 165: send_byte(DataLow);
422 077B 0825 movf ?_WriteWord,w
423 077C 26E8 fcall _send_byte
424 ;tsl5621.c: 166: if (ack==0) iic_error();
425 077D 08A0 movf _ack
426 077E 1D03 btfss 3,2
427 077F 2F81 goto l32
428 0780 26DA fcall _iic_error
429 0781 l32
430 ;tsl5621.c: 167: send_byte(DataHigh);
431 0781 0826 movf ?_WriteWord+1,w
432 0782 26E8 fcall _send_byte
433 ;tsl5621.c: 168: if (ack==0) iic_error();
434 0783 08A0 movf _ack
435 0784 1D03 btfss 3,2
436 0785 2F87 goto l33
437 0786 26DA fcall _iic_error
438 0787 l33
439 ;tsl5621.c: 169: stop_i2c();
440 0787 2EBC ljmp _stop_i2c
441 ;tsl5621.c: 172: unsigned char ReadByte(unsigne
+ d char Command3)
442 ;tsl5621.c: 173: {
443 0788 _ReadByte
444 ; _Command3 assigned to ?a_ReadByte+0
445 0000 _ReadByte$Command3 set ?a_ReadByte
446 ;_Command3 stored from w
447 0788 0183 clrf 3 ;select bank 0
448 0789 00A5 movwf ?a_ReadByte
449 ;tsl5621.c: 174: start_i2c();
450 078A 2720 fcall _start_i2c
451 ;tsl5621.c: 175: send_byte(0x72);
452 078B 3072 movlw 114
453 078C 26E8 fcall _send_byte
454 ;tsl5621.c: 176: if (ack==0) iic_error();
455 078D 08A0 movf _ack
456 078E 1D03 btfss 3,2
457 078F 2F91 goto l35
458 0790 26DA fcall _iic_error
459 0791 l35
460 ;tsl5621.c: 177: send_byte(Command3);
461 0791 0825 movf ?a_ReadByte,w
462 0792 26E8 fcall _send_byte
463 ;tsl5621.c: 178: if (ack==0) iic_error();
464 0793 08A0 movf _ack
465 0794 1D03 btfss 3,2
466 0795 2F97 goto l36
467 0796 26DA fcall _iic_error
468 0797 l36
469 ;tsl5621.c: 179: start_i2c();
470 0797 2720 fcall _start_i2c
471 ;tsl5621.c: 180: send_byte(0x73);
472 0798 3073 movlw 115
473 0799 26E8 fcall _send_byte
474 ;tsl5621.c: 181: if (ack==0) iic_error();
475 079A 08A0 movf _ack
476 079B 1D03 btfss 3,2
477 079C 2F9E goto l37
478 079D 26DA fcall _iic_error
479 079E l37
480 ;tsl5621.c: 182: receivedata=receive_byte();
481 079E 2698 fcall _receive_byte
482 079F 00A4 movwf _receivedata
483 ;tsl5621.c: 184: stop_i2c();
484 07A0 26BC fcall _stop_i2c
485 ;tsl5621.c: 185: return(receivedata);
486 07A1 0824 movf _receivedata,w
487 ;tsl5621.c: 186: }
488 07A2 0008 return
489 07A3 _I_byte_write
490 ; _slave_address assigned to ?a_I_byte_write+0
491 0000 _I_byte_write$slave_address set ?a_I_byte_write
492 ;_slave_address stored from w
493 07A3 0183 clrf 3 ;select bank 0
494 07A4 00A5 movwf ?a_I_byte_write
495 ;tsl5621.c: 190: start_i2c();
496 07A5 2720 fcall _start_i2c
497 ;tsl5621.c: 191: send_byte(slave_address);
498 07A6 0825 movf ?a_I_byte_write,w
499 07A7 26E8 fcall _send_byte
500 ;tsl5621.c: 192: if (ack==0) iic_error();
501 07A8 08A0 movf _ack
502 07A9 1D03 btfss 3,2
503 07AA 2FAC goto l39
504 07AB 26DA fcall _iic_error
505 07AC l39
506 ;tsl5621.c: 193: send_byte(byte_address);
507 07AC 0825 movf ?_I_byte_write,w
508 07AD 26E8 fcall _send_byte
509 ;tsl5621.c: 194: if (ack==0) iic_error();
510 07AE 08A0 movf _ack
511 07AF 1D03 btfss 3,2
512 07B0 2FB2 goto l40
513 07B1 26DA fcall _iic_error
514 07B2 l40
515 ;tsl5621.c: 195: send_byte(datain);
516 07B2 0826 movf ?_I_byte_write+1,w
517 07B3 26E8 fcall _send_byte
518 ;tsl5621.c: 196: if (ack==0) iic_error();
519 07B4 08A0 movf _ack
520 07B5 1D03 btfss 3,2
521 07B6 2FB8 goto l41
522 07B7 26DA fcall _iic_error
523 07B8 l41
524 ;tsl5621.c: 197: stop_i2c();
525 07B8 2EBC ljmp _stop_i2c
526 ;tsl5621.c: 200: unsigned char I_random_read(un
+ signed char address)
527 ;tsl5621.c: 201: {
528 07B9 _I_random_read
529 ; _address assigned to ?a_I_random_read+0
530 0000 _I_random_read$address set ?a_I_random_read
531 ;_address stored from w
532 07B9 0183 clrf 3 ;select bank 0
533 07BA 00A5 movwf ?a_I_random_read
534 ;tsl5621.c: 202: start_i2c();
535 07BB 2720 fcall _start_i2c
536 ;tsl5621.c: 203: send_byte(0xa0);
537 07BC 30A0 movlw -96
538 07BD 26E8 fcall _send_byte
539 ;tsl5621.c: 204: if (ack==0) iic_error();
540 07BE 08A0 movf _ack
541 07BF 1D03 btfss 3,2
542 07C0 2FC2 goto l43
543 07C1 26DA fcall _iic_error
544 07C2 l43
545 ;tsl5621.c: 205: send_byte(address);
546 07C2 0825 movf ?a_I_random_read,w
547 07C3 26E8 fcall _send_byte
548 ;tsl5621.c: 206: if (ack==0) iic_error();
549 07C4 08A0 movf _ack
550 07C5 1D03 btfss 3,2
551 07C6 2FC8 goto l44
552 07C7 26DA fcall _iic_error
553 07C8 l44
554 ;tsl5621.c: 207: start_i2c();
555 07C8 2720 fcall _start_i2c
556 ;tsl5621.c: 208: send_byte(0xa1);
557 07C9 30A1 movlw -95
558 07CA 26E8 fcall _send_byte
559 ;tsl5621.c: 209: if (ack==0) iic_error();
560 07CB 08A0 movf _ack
561 07CC 1D03 btfss 3,2
562 07CD 2FCF goto l45
563 07CE 26DA fcall _iic_error
564 07CF l45
565 ;tsl5621.c: 210: data=receive_byte();
566 07CF 2698 fcall _receive_byte
567 07D0 00A2 movwf _data
568 ;tsl5621.c: 211: stop_i2c();
569 07D1 26BC fcall _stop_i2c
570 ;tsl5621.c: 212: return (data);
571 07D2 0822 movf _data,w
572 ;tsl5621.c: 214: }
573 07D3 0008 return
574 07D4 _iic_initial
575 ;tsl5621.c: 27: TRISB=0XFF;
576 07D4 30FF movlw -1
577 07D5 1683 bsf 3,5
578 07D6 1303 bcf 3,6 ;carry unused
579 07D7 0086 movwf 6 ;volatile
580 ;tsl5621.c: 28: PORTB=0X00;
581 07D8 1283 bcf 3,5
582 07D9 0186 clrf 6 ;volatile
583 ;tsl5621.c: 29: }
584 07DA 0008 return
585 ;tsl5621.c: 247: void main(void)
586 ;tsl5621.c: 248: {
587 07DB _main
588 ;tsl5621.c: 249: TRISC=0X00;
589 07DB 1683 bsf 3,5
590 07DC 1303 bcf 3,6 ;carry unused
591 07DD 0187 clrf 7 ;volatile
592 ;tsl5621.c: 250: PORTC=0X00;
593 07DE 1283 bcf 3,5
594 07DF 0187 clrf 7 ;volatile
595 ;tsl5621.c: 251: iic_initial();
596 07E0 27D4 fcall _iic_initial
597 ;tsl5621.c: 253: I_send_str(0xa0,0x00,code,9);
598 07E1 01A5 clrf ?_I_send_str
599 07E2 302D movlw _code
600 07E3 00A6 movwf ?_I_send_str+1
601 07E4 3009 movlw 9
602 07E5 00A7 movwf ?_I_send_str+2
603 07E6 30A0 movlw -96
604 07E7 2735 118A fcall _I_send_str
605 ;tsl5621.c: 255: delay_250ms();
606 07E9 26CD fcall _delay_250ms
607 ;tsl5621.c: 256: asm("clrwdt");
608 07EA 0064 clrwdt ;#
609 ;tsl5621.c: 260: I_random_read(0x02);
610 07EB 3002 movlw 2
611 07EC 27B9 118A fcall _I_random_read
612 ;tsl5621.c: 262: if(data==0x03)
613 07EE 0822 movf _data,w
614 07EF 3A03 xorlw 3
615 07F0 1D03 btfss 3,2
616 07F1 2FF4 goto l55
617 ;tsl5621.c: 263: { RC3=1;
618 07F2 1587 bsf 7,3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -