📄 rs485.lst
字号:
464 ;rs485.c: 249: }
465 3860 0012 return
466 3862 FFFF dw 65535
467 3864 D7DC goto f4622
468 ;rs485.c: 259: void Rs485_master( unsigned char
+ j )
469 ;rs485.c: 260: {
470 3866 _Rs485_master:
471 3866 FFFF dw 65535
472 3868 f4632:
473 0000
474 ; _j loaded to btemp+2
475 3868 6E02 movwf btemp+2
476 ;rs485.c: 261: unsigned char crc8_check;
477 386A C002 F000 movff btemp+2,btemp
478 386E 6A01 clrf btemp+1
479 3870 5000 movf btemp,w
480 3872 0F06 addlw low _SlaveAddr
481 3874 6EF6 movwf tblptrl,c
482 3876 5001 movf btemp+1,w
483 3878 6EF7 movwf tblptrh,c
484 387A 0E07 movlw high _SlaveAddr
485 387C 22F7 addwfc tblptrh,f,c
486 387E 0008 tblrd *
487 3880 FFFF dw 65535
488 3882 50F5 movf tablat,w,c
489 3884 DFCB call _Rs485SendPkg
490 ;rs485.c: 268: RC2 = 0;
491 3886 9482 bcf 3970,2,c ;volatile
492 ;rs485.c: 269: RCIE = 1;
493 3888 8A9D bsf 3997,5,c
494 ;rs485.c: 270: CREN = 1;
495 388A 88AB bsf 4011,4,c
496 ;rs485.c: 271: delay_nms(50);
497 388C 0E32 movlw 50
498 388E 0100 movlb __Lparam shr (0+8)
499 3890 6F8D movwf ?_delay_nms^(__Lparam& (0+65280))
500 3892 6B8E clrf (?_delay_nms+1)^(__Lparam& (0+65280))
501 3894 DF68 call _delay_nms ;wreg free
502 ;rs485.c: 274: while(1)
503 3896 l39:
504 ;rs485.c: 275: {
505 3896 C5AD F000 movff _flag_me,btemp
506 389A 0400 decf btemp,w
507 389C A4D8 btfss status,2,c
508 389E D057 goto l41
509 ;rs485.c: 278: {
510 38A0 0105 movlb _flag_me shr (0+8)
511 38A2 6BAD clrf _flag_me& (0+255),b
512 ;rs485.c: 283: if( RecBuf[2] == SlaveAddr[j] )
513 38A4 C002 F000 movff btemp+2,btemp
514 38A8 6A01 clrf btemp+1
515 38AA 5000 movf btemp,w
516 38AC 0F06 addlw low _SlaveAddr
517 38AE 6EF6 movwf tblptrl,c
518 38B0 5001 movf btemp+1,w
519 38B2 6EF7 movwf tblptrh,c
520 38B4 0E07 movlw high _SlaveAddr
521 38B6 22F7 addwfc tblptrh,f,c
522 38B8 0008 tblrd *
523 38BA FFFF dw 65535
524 38BC 50F5 movf tablat,w,c
525 38BE 0105 movlb (_RecBuf+2) shr (0+8)
526 38C0 63B6 cpfseq (_RecBuf+2)& (0+255),b
527 38C2 D7E9 goto l39
528 ;rs485.c: 284: {
529 38C4 0100 movlb __Lparam shr (0+8)
530 38C6 0EB4 movlw low _RecBuf
531 38C8 6F8A movwf ?_crc8^(__Lparam& (0+65280))
532 38CA 0E05 movlw high _RecBuf
533 38CC 6F8B movwf (?_crc8+1)^(__Lparam& (0+65280))
534 38CE 0E0A movlw 10
535 38D0 6F8C movwf (?_crc8+2)^(__Lparam& (0+65280))
536 38D2 DF5F call _crc8 ;wreg free
537 38D4 6EF3 movwf prodl,c
538 ;rs485.c: 288: if( crc8_check == RecBuf[11 - 1]
+ )
539 38D6 0105 movlb (_RecBuf+10) shr (0+8)
540 38D8 63BE cpfseq (_RecBuf+10)& (0+255),b
541 38DA D036 goto l43
542 ;rs485.c: 289: {
543 38DC 0105 movlb _rec_count shr (0+8)
544 38DE 6BB0 clrf _rec_count& (0+255),b
545 ;rs485.c: 292: for( h = 0; h < 6; h++ )
546 38E0 6AD9 clrf fsr2l,c
547 38E2 l44:
548 ;rs485.c: 293: {
549 ;rs485.c: 294: box[j].tempeture[h] = RecBuf[h+4]
+ ;
550 38E2 50D9 movf fsr2l,w,c
551 38E4 EE05 F0B8 lfsr 0,_RecBuf+4
552 38E8 26E9 addwf fsr0l,f,c
553 38EA 0E00 movlw 0
554 38EC 22EA addwfc fsr0h,f,c
555 38EE 5002 movf btemp+2,w
556 38F0 0D07 mullw 7
557 38F2 50D9 movf fsr2l,w,c
558 38F4 26F3 addwf prodl,f,c
559 38F6 0E00 movlw 0
560 38F8 22F4 addwfc prodh,f,c
561 38FA 0E4A movlw low (_box+1)
562 38FC 24F3 addwf prodl,w,c
563 38FE 6EE1 movwf fsr1l,c
564 3900 0E00 movlw high (_box+1)
565 3902 20F4 addwfc prodh,w,c
566 3904 6EE2 movwf fsr1h
567 3906 CFEF FFE7 movff indf0,indf1
568 ;rs485.c: 295: REC_BUF[h+j*6] = box[j].tempeture
+ [h];
569 390A 5002 movf btemp+2,w
570 390C 0D07 mullw 7
571 390E 50D9 movf fsr2l,w,c
572 3910 26F3 addwf prodl,f,c
573 3912 0E00 movlw 0
574 3914 22F4 addwfc prodh,f,c
575 3916 0E4A movlw low (_box+1)
576 3918 24F3 addwf prodl,w,c
577 391A 6EE1 movwf fsr1l,c
578 391C 0E00 movlw high (_box+1)
579 391E 20F4 addwfc prodh,w,c
580 3920 6EE2 movwf fsr1h
581 3922 5002 movf btemp+2,w
582 3924 0D06 mullw 6
583 3926 50D9 movf fsr2l,w,c
584 3928 26F3 addwf prodl,f,c
585 392A 0E00 movlw 0
586 392C 22F4 addwfc prodh,f,c
587 392E 0EBF movlw low _REC_BUF
588 3930 24F3 addwf prodl,w,c
589 3932 6EE9 movwf fsr0l,c
590 3934 0E05 movlw high _REC_BUF
591 3936 20F4 addwfc prodh,w,c
592 3938 6EEA movwf fsr0h
593 393A CFE7 FFEF movff indf1,indf0
594 ;rs485.c: 299: }
595 393E 2AD9 incf fsr2l,f,c
596 3940 0E05 movlw 5
597 3942 64D9 cpfsgt fsr2l,c
598 3944 D7CE goto l44
599 3946 D005 goto l40
600 ;rs485.c: 307: break;
601 3948 l43:
602 ;rs485.c: 310: {
603 3948 0105 movlb _rec_count shr (0+8)
604 394A 6BB0 clrf _rec_count& (0+255),b
605 ;rs485.c: 317: }
606 ;rs485.c: 318: }
607 ;rs485.c: 320: else
608 394C D7A4 goto l39
609 394E l41:
610 ;rs485.c: 321: {
611 394E 0105 movlb _rec_count shr (0+8)
612 3950 6BB0 clrf _rec_count& (0+255),b
613 ;rs485.c: 324: break;
614 ;rs485.c: 327: }
615 3952 l40:
616 ;rs485.c: 330: }
617 3952 0012 return
618 3954 FFFF dw 65535
619 3956 D788 goto f4632
620
621 psect bigbss
622 05AD _flag_me:
623 05AD ds 1
624 05AD _h:
625 05AD ds 1
626 05AD _i:
627 05AD ds 1
628 05AD _rec_count:
629 05AD ds 1
630 0000
631 0000
632 0000
633 0000
634 0000
635 0000
636 0000
637 05AD _SendBuf:
638 05AD ds 3
639 05AD _RecBuf:
640 05AD ds 11
641 05AD _REC_BUF:
642 05AD ds 60
643
644 psect bss
645 0049 _box:
646 0049 ds 21
647
648 psect temp
649 0000 btemp:
650 0000 ds 3
651 tblptrh equ 0xFF7
652 tblptrl equ 0xFF6
653 tablat equ 0xFF5
654 prodh equ 0xFF4
655 prodl equ 0xFF3
656 intcon equ 0xFF2
657 indf0 equ 0xFEF
658 fsr0h equ 0xFEA
659 fsr0l equ 0xFE9
660 wreg equ 0xFE8
661 indf1 equ 0xFE7
662 postinc1 equ 0xFE6
663 fsr1h equ 0xFE2
664 fsr1l equ 0xFE1
665 fsr2l equ 0xFD9
666 status equ 0xFD8
HI-TECH Software PICC-18 Macro Assembler V8.20PL4
Symbol Table Tue Dec 9 00:40:30 2008
l9 3724 _h 05AE _i 05AF
_delay_1ms 3744 _delay_1us 370E l11 374A
l20 379E l30 37E8 l23 37AC
_delay_nms 3766 l40 3952 l41 394E
l33 3802 l18 3770 l43 3948
l27 37BC l44 38E2 l28 37CA
l39 3896 _delay_nus 371A u10 373E
u30 378A u15 3730 u35 377C
u70 37D8 u90 3814 _box 0049
_RecBuf 05B4 wreg 0FE8 _REC_BUF 05BF
clear_big 0024 clear_bss 0018 f4602 3794
f4612 37E4 f4622 381E f4542 36C0
f4632 3868 f4552 36E0 f4562 3710
f4572 371C f4582 3746 f4592 3768
_crc8 3792 fsr0h 0FEA indf0 0FEF
fsr0l 0FE9 indf1 0FE7 fsr1l 0FE1
fsr2l 0FD9 btemp 0000 _Timer1Init 36BE
_rec_count 05B0 prodh 0FF4 prodl 0FF3
_Rs485SendPkg 381C _SendBuf 05B1 tblptrh 0FF7
tblptrl 0FF6 __Lparam 0077 _Rs485_master 3866
?_crc8 008A ?_delay_nms 008D ?_delay_nus 0077
__ramtop 0600 _flag_me 05AD _SlaveAddr 0706
tablat 0FF5 status 0FD8 _SendData 37E2
_UsartInit 36DE postinc1 0FE6 used_btemp0 0001
used_btemp1 0001 used_btemp2 0001 ?_SendData 008A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -