📄 int.ls1
字号:
658 ; //MsgVal=1, Xad=0,Dir=0:get id= 0x001
659 ; CAN0DATH = 0x14; //use the filter,RxEn=1
660 ; SOURCE LINE # 133
001C 75D914 661 MOV CAN0DATH,#014H
662 ; CAN0DATL = 0x88; //IF2MSGC
663 ; SOURCE LINE # 134
001F 75D888 664 MOV CAN0DATL,#088H
665 ;
666 ; CAN0ADR = IF2CMDRQST;
667 ; SOURCE LINE # 136
0022 75DA20 668 MOV CAN0ADR,#020H
669 ; CAN0DATL = MsgNum; //
670 ; SOURCE LINE # 137
0025 8FD8 671 MOV CAN0DATL,R7
672 ; }
673 ; SOURCE LINE # 138
0027 22 674 RET
675 ; END OF _CAN_Receive_Init
676
677 ;
678 ; //-----------------------------------------------------------------------------
679 ; // Timer_Init
680 ; // Timer0 For CAN Error -- If there is no CAN information form the bus for
681 ; // 10ms, CPU will close all the outputs.
682 ; //-----------------------------------------------------------------------------
683 ; void Timer_Init (void) {
684
---- 685 RSEG ?PR?Timer_Init?INT
0000 686 Timer_Init:
687 ; SOURCE LINE # 145
688 ; SFRPAGE = TIMER01_PAGE;
689 ; SOURCE LINE # 146
0000 E4 690 CLR A
0001 F584 691 MOV SFRPAGE,A
692 ; TMOD |= 0x01;
693 ; SOURCE LINE # 147
0003 438901 694 ORL TMOD,#01H
695 ; CKCON |= 0x02;
696 ; SOURCE LINE # 148
0006 438E02 697 ORL CKCON,#02H
698 ; TH0 = 0xFF;
699 ; SOURCE LINE # 149
0009 758CFF 700 MOV TH0,#0FFH
701 ; TL0 = 0xFF;
702 ; SOURCE LINE # 150
000C 758AFF 703 MOV TL0,#0FFH
704 ; }
705 ; SOURCE LINE # 151
000F 22 706 RET
707 ; END OF Timer_Init
708
709 ;
710 ; //-----------------------------------------------------------------------------
711 ; // CAN_send
712 ; //-----------------------------------------------------------------------------
713 ; void CAN_send(unsigned char MsgNum,unsigned char *p )
714
---- 715 RSEG ?PR?_CAN_send?INT
0000 716 _CAN_send:
717 USING 0
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 12
718 ; SOURCE LINE # 156
0000 8B00 F 719 MOV p?747,R3
0002 8A00 F 720 MOV p?747+01H,R2
0004 8900 F 721 MOV p?747+02H,R1
722 ;---- Variable 'MsgNum?746' assigned to Register 'R7' ----
723 ; {
724 ; SOURCE LINE # 157
725 ; unsigned char num;
726 ;
727 ; SFRPAGE = CAN0_PAGE;
728 ; SOURCE LINE # 160
0006 758401 729 MOV SFRPAGE,#01H
730 ; CAN0ADR = IF1CMDMSK;
731 ; SOURCE LINE # 161
0009 75DA09 732 MOV CAN0ADR,#09H
733 ; CAN0DATL = 0x87; //wr/rd=1,mask=0,arb=0,control=0,,clrintpnd=0,txrqet=1,dataa=1,data
b=1
734 ; SOURCE LINE # 162
000C 75D887 735 MOV CAN0DATL,#087H
736 ;
737 ; CAN0ADR = IF1DATA1;
738 ; SOURCE LINE # 164
000F 75DA0F 739 MOV CAN0ADR,#0FH
740 ; for(num=0;num<8;num++)
741 ; SOURCE LINE # 165
742 ;---- Variable 'num?748' assigned to Register 'R6' ----
0012 E4 743 CLR A
0013 FE 744 MOV R6,A
0014 745 ?C0012:
746 ; {
747 ; SOURCE LINE # 166
748 ; CAN0DATH=p[num];
749 ; SOURCE LINE # 167
0014 AB00 F 750 MOV R3,p?747
0016 AA00 F 751 MOV R2,p?747+01H
0018 A900 F 752 MOV R1,p?747+02H
001A 8E82 753 MOV DPL,R6
001C 758300 754 MOV DPH,#00H
001F 120000 F 755 LCALL ?C?CLDOPTR
0022 F5D9 756 MOV CAN0DATH,A
757 ; num++;
758 ; SOURCE LINE # 168
0024 0E 759 INC R6
760 ; CAN0DATL=p[num];
761 ; SOURCE LINE # 169
0025 8E82 762 MOV DPL,R6
0027 758300 763 MOV DPH,#00H
002A 120000 F 764 LCALL ?C?CLDOPTR
002D F5D8 765 MOV CAN0DATL,A
766 ; }
767 ; SOURCE LINE # 170
002F 0E 768 INC R6
0030 EE 769 MOV A,R6
0031 C3 770 CLR C
0032 9408 771 SUBB A,#08H
0034 40DE 772 JC ?C0012
0036 773 ?C0013:
774 ;
775 ; CAN0ADR = IF1CMDRQST;
776 ; SOURCE LINE # 172
0036 75DA08 777 MOV CAN0ADR,#08H
778 ; CAN0DATL = MsgNum; //
779 ; SOURCE LINE # 173
0039 8FD8 780 MOV CAN0DATL,R7
781 ; }
782 ; SOURCE LINE # 174
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 13
003B 22 783 RET
784 ; END OF _CAN_send
785
786 ;
787 ;
788 ; //-----------------------------------------------------------------------------
789 ; // CAN_receive
790 ; //-----------------------------------------------------------------------------
791 ; void CAN_receive (unsigned char MsgNum,unsigned char *p )
792
---- 793 RSEG ?PR?_CAN_receive?INT
0000 794 _CAN_receive:
795 USING 0
796 ; SOURCE LINE # 180
0000 8B00 F 797 MOV p?850,R3
0002 8A00 F 798 MOV p?850+01H,R2
0004 8900 F 799 MOV p?850+02H,R1
800 ;---- Variable 'MsgNum?849' assigned to Register 'R7' ----
801 ; {
802 ; SOURCE LINE # 181
803 ; unsigned char num;
804 ;
805 ; SFRPAGE = CAN0_PAGE;
806 ; SOURCE LINE # 184
0006 758401 807 MOV SFRPAGE,#01H
808 ; CAN0ADR = IF2CMDMSK;
809 ; SOURCE LINE # 185
0009 75DA21 810 MOV CAN0ADR,#021H
811 ; CAN0DATL = 0x0F;
812 ; SOURCE LINE # 186
000C 75D80F 813 MOV CAN0DATL,#0FH
814 ; CAN0ADR = IF2CMDRQST;
815 ; SOURCE LINE # 187
000F 75DA20 816 MOV CAN0ADR,#020H
817 ; CAN0DATL = MsgNum;
818 ; SOURCE LINE # 188
0012 8FD8 819 MOV CAN0DATL,R7
820 ;
821 ; CAN0ADR = IF2DATA1;
822 ; SOURCE LINE # 190
0014 75DA27 823 MOV CAN0ADR,#027H
824 ; for(num=0;num<8;num++)
825 ; SOURCE LINE # 191
826 ;---- Variable 'num?851' assigned to Register 'R7' ----
0017 E4 827 CLR A
0018 FF 828 MOV R7,A
0019 829 ?C0016:
830 ; {
831 ; SOURCE LINE # 192
832 ; p[num] = CAN0DATH;
833 ; SOURCE LINE # 193
0019 AB00 F 834 MOV R3,p?850
001B AA00 F 835 MOV R2,p?850+01H
001D A900 F 836 MOV R1,p?850+02H
001F 8F82 837 MOV DPL,R7
0021 758300 838 MOV DPH,#00H
0024 E5D9 839 MOV A,CAN0DATH
0026 120000 F 840 LCALL ?C?CSTOPTR
841 ; num++;
842 ; SOURCE LINE # 194
0029 0F 843 INC R7
844 ; p[num] = CAN0DATL;
845 ; SOURCE LINE # 195
002A 8F82 846 MOV DPL,R7
002C 758300 847 MOV DPH,#00H
002F E5D8 848 MOV A,CAN0DATL
A51 MACRO ASSEMBLER INT 07/24/2008 15:57:23 PAGE 14
0031 120000 F 849 LCALL ?C?CSTOPTR
850 ; }
851 ; SOURCE LINE # 196
0034 0F 852 INC R7
0035 EF 853 MOV A,R7
0036 C3 854 CLR C
0037 9408 855 SUBB A,#08H
0039 40DE 856 JC ?C0016
857 ; }
858 ; SOURCE LINE # 197
003B 859 ?C0019:
003B 22 860 RET
861 ; END OF _CAN_receive
862
863 ;
864 ; //-----------------------------------------------------------------------------
865 ; // remote_rqst_int
866 ; //-----------------------------------------------------------------------------
867 ; void remote_rqst_int(unsigned char MsgNum , unsigned char id) //id=1
868
---- 869 RSEG ?PR?_remote_rqst_int?INT
0000 870 _remote_rqst_int:
871 USING 0
872 ; SOURCE LINE # 202
873 ;---- Variable 'id?953' assigned to Register 'R5' ----
874 ;---- Variable 'MsgNum?952' assigned to Register 'R7' ----
875 ; {
876 ; SOURCE LINE # 203
877 ; unsigned char id_temp;
878 ; id_temp = id << 2; // id & 0x0F) << 2
879 ; SOURCE LINE # 205
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -