📄 main.lst
字号:
C51 COMPILER V7.20 MAIN 09/15/2005 21:50:42 PAGE 13
733 case 5:
734 DispFlag|=0x50;
735 break;
736 case 6:
737 DispFlag|=0x90;
738 break;
739 case 7:
740 DispFlag|=0x60;
741 break;
742 case 8:
743 DispFlag|=0xa0;
744 break;
745 case 9:
746 DispFlag|=0xc0;
747 break;
748 case 10:
749 DispFlag|=0x70;
750 break;
751 case 11:
752 DispFlag|=0xb0;
753 break;
754 case 12:
755 DispFlag|=0xe0;
756 break;
757 case 13:
758 DispFlag|=0xd0;
759 break;
760 case 14:
761 DispFlag|=0xf0;
762 break;
763 default:
764 break;
765 }
766 }
767
768 //
769 void FlightDispPrg(uchar *databuf) //闪烁处理函数
770 {
771 ClearDispAttr();
772 memcpy(&DispBuf[1],&databuf[1],4);
773 DispFlag=0;
774 switch(databuf[0])
775 {
776 case 0:
777 DispFlag|=0x01;
778 break;
779 case 1:
780 DispFlag|=0x02;
781 break;
782 case 2:
783 DispFlag|=0x04;
784 break;
785 case 3:
786 DispFlag|=0x08;
787 break;
788 case 4:
789 DispFlag|=0x03;
790 break;
791 case 5:
792 DispFlag|=0x05;
793 break;
794 case 6:
C51 COMPILER V7.20 MAIN 09/15/2005 21:50:42 PAGE 14
795 DispFlag|=0x09;
796 break;
797 case 7:
798 DispFlag|=0x06;
799 break;
800 case 8:
801 DispFlag|=0x0a;
802 break;
803 case 9:
804 DispFlag|=0x0c;
805 break;
806 case 10:
807 DispFlag|=0x07;
808 break;
809 case 11:
810 DispFlag|=0x0b;
811 break;
812 case 12:
813 DispFlag|=0x0e;
814 break;
815 case 13:
816 DispFlag|=0x0d;
817 break;
818 case 14:
819 DispFlag|=0x0f;
820 break;
821 default:
822 break;
823 }
824 }
825
826 //
827 void LiftCrcDispPrg(uchar *databuf) //左循环显示处理
828 {
829 ClearDispAttr();
830 memcpy(&DispBuf[1],&databuf[1],4);
831 LiftCrcDispFlag=1;RightCrcDispFlag=0;
832 }
833 void RightCrcDispPrg(uchar *databuf) //右循环显示处理
834 {
835 ClearDispAttr();
836 memcpy(&DispBuf[1],&databuf[1],4);
837 LiftCrcDispFlag=0;RightCrcDispFlag=1;
838 }
839
840 //
841 void CanSend_Prg(void) //can发送数据
842 {
843 if(AutoSendFlag)
844 {
845 if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d)) //
846 {
847 DispBuf[3]= (unsigned char )TestSendData>>4;
848 DispBuf[4]= ((unsigned char )TestSendData)&0x0f;
849 }
850 }
851 }
852 void CanErr_Prg(void) //发现错误后处理
853 {
854 DispBuf[1]=0;
855 DispBuf[2]=0;
856 Config_SJA(); //
C51 COMPILER V7.20 MAIN 09/15/2005 21:50:42 PAGE 15
857 Error_disp(CAN_BUS_ERR);
858 }
859 void CanDtOver_Prg(void) //超载处理
860 {
861 // BCAN_CMD_PRG(COS_CMD);
862 }
863 void CanWui_Prg(void) //唤醒中断处理
864 {
865
866 }
867
868 //
869
870 void UartRcv_Prg(void) //串口接收到数据处理
871 {
872 BCAN_DATA_WRITE(RcvBuf); //将编辑的数据发送到can总线
873 BCAN_CMD_PRG(TR_CMD);
874 }
875 ji*/
876
877 //自动发送
878 void AutoSendDataToCanBus(void)
879 {
880 1
881 1 //ji if(AutoSendFlag)
882 1 //ji {
883 1 //ji if((ReadSjaReg(REG_CONTROL)&0x01)==0)
884 1 //ji {
885 1 AutoSendFrameID >>=5;
886 1 AutoSendFrameID++;
887 1 if(AutoSendFrameID>0x0fe00)
888 1 {
889 2 AutoSendFrameID=0;
890 2 }
891 1 AutoSendFrameID <<=5;
892 1 TestSendData++;
893 1 WriteSjaReg(REG_TxBuffer1,AutoSendFrameID>>8);
894 1 WriteSjaReg(REG_TxBuffer2,((unsigned char)AutoSendFrameID&0xf0)|0x06);
895 1 WriteSjaReg(REG_TxBuffer3,0xc1);
896 1 WriteSjaReg(REG_TxBuffer4,14);
897 1 WriteSjaReg(REG_TxBuffer5,(unsigned char)(TestSendData>>12));
898 1 WriteSjaReg(REG_TxBuffer6,(unsigned char)((TestSendData>>8)&0x0f));
899 1 WriteSjaReg(REG_TxBuffer7,((unsigned char)TestSendData>>4));
900 1 WriteSjaReg(REG_TxBuffer8,((unsigned char)TestSendData&0x0f));
901 1 BCAN_CMD_PRG(TR_CMD);
902 1 //ji }
903 1 //ji else
904 1 //ji {
905 1 //ji AutoSendFlag=0;
906 1 //ji Write_DispBuf(0,0x0E,0x12,0x0f,0x0d);//在复位模式
907 1 //ji }
908 1 //ji }
909 1
910 1 }
911 /*ji
912 //提取波特率的对应值
913 unsigned char ValueToBandRate(void)
914 {
915 unsigned char i;
916 unsigned int BandRate;
917 BCAN_ENTER_RETMODEL();
918 i = ReadSjaReg(REG_BTR0);
C51 COMPILER V7.20 MAIN 09/15/2005 21:50:42 PAGE 16
919 BandRate=(unsigned int)(i<<8);
920 i = ReadSjaReg(REG_BTR1);
921 BandRate +=i;
922 BCAN_QUIT_RETMODEL();
923 switch(BandRate)
924 {
925 case 0xbfff: //;5KBPS的预设值
926 i =0;
927 break;
928 case 0x672f: //;10KBPS的预设值
929 i =1;
930 break;
931 case 0x532F: //;20KBPS的预设值
932 i =2;
933 break;
934 case 0x87FF: //;40KBPS的预设值
935 i =3;
936 break;
937 case 0x472F: //;50KBPS的预设值
938 i =4;
939 break;
940 case 0x83FF: //;80KBPS的预设值
941 i =5;
942 break;
943 case 0x432f: //;100KBPS的预设值
944 i =6;
945 break;
946 case 0x031c: //;125KBPS的预设值
947 i =7;
948 break;
949 case 0x81fa: //;200KBPS的预设值
950 i =8;
951 break;
952 case 0x011c: //;250KBPS的预设值
953 i =9;
954 break;
955 case 0x80fa: //;400KBPS的预设值
956 i =10;
957 break;
958 case 0x001c: //;500KBPS的预设值
959 i =11;
960 break;
961 case 0x80b6: //;666KBPS的预设值
962 i =12;
963 break;
964 case 0x0016: //;800KBPS的预设值
965 i =13;
966 break;
967 case 0x0014: //;1000KBPS的预设值
968 i =14;
969 break;
970 default:
971 i=0xff;
972 break;
973 }
974 return i;
975 }
976 ji*/
C51 COMPILATION COMPLETE. 1 WARNING(S), 3 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -