⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 do.lst

📁 2个F040之间的CAN通讯
💻 LST
字号:
C51 COMPILER V7.10   DO                                                                    07/27/2008 17:14:39 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE DO
OBJECT MODULE PLACED IN do.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE do.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "c8051f040.h"
   2          #include "can.h"
   3          
   4          //-----------------------------------------------------------------------------
   5          // GLOBAL CONSTANTS
   6          //-----------------------------------------------------------------------------
   7          
   8          //-----------------------------------------------------------------------------
   9          // Functions
  10          //-----------------------------------------------------------------------------
  11          void SYSCLK_Init (void);
  12          void PORT_Init (void);
  13          void INT_Init (void);
  14          void CAN_Init (void);
  15          void CAN_Start(void);
  16          void CAN_Transmit_Init (unsigned char MsgNum , unsigned char id);
  17          void CAN_Receive_Init (unsigned char MsgNum , unsigned char id);
  18          void Timer_Init (void);
  19          
  20          void CAN_Receive_Interrupt (void);
  21          void INT0_Interrupt (void);
  22          void Timer0_Overflow_Interrupt (void);
  23          
  24          //void Get_DO_Address (void);
  25          void Control_DO (void);
  26          
  27          
  28          void CAN_Transmit(unsigned char MsgNum,unsigned char *p_data );
  29          void CAN_Receive (unsigned char MsgNum, unsigned char *p );
  30          void CAN_RemoteRqst_Init(unsigned char MsgNum , unsigned char id);  
  31          void CAN_RemoteRqst(unsigned char MsgNum);
  32          void CAN_Remote_Send_Init(unsigned char MsgNum,unsigned char id );
  33          void CAN_Remote_Updata(unsigned char MsgNum,unsigned char *p_data );
  34          
  35          //-----------------------------------------------------------------------------
  36          // Global Variables
  37          //-----------------------------------------------------------------------------
  38          sbit            OE = P4^0;             //74HC245 ENABLE
  39          sbit            CANLED = P4^1;         //CANLED 0 MEANS ON
  40          bit                           DO_Error_Flag;
  41          bit                           DO_Control_Flag;
  42          bit                           DO_Message_Req_Flag;
  43          
  44          unsigned char   DO_Control_Data0;
  45          unsigned char   DO_Control_Data1;
  46          unsigned char   DO_Control_Data_New0;
  47          unsigned char   DO_Control_Data_New1;
  48          unsigned char   DO_Control_Data_Ordered0;
  49          unsigned char   DO_Control_Data_Ordered1;
  50          unsigned char   temp1, temp2;
  51          unsigned char   temppage,CAN_Status;
  52          
  53          xdata unsigned char ss1[8]={0x1a,0x2a,0x3a,0x4a,0x5a,0x6a,0x7a,0x8a};
  54          xdata unsigned char ss2[8]={0x1b,0x2b,0x3b,0x4b,0x5b,0x6b,0x7b,0x8b};
  55          xdata unsigned char ss3[8]={0x1c,0x2c,0x3c,0x4c,0x5c,0x6c,0x7c,0x8c};
C51 COMPILER V7.10   DO                                                                    07/27/2008 17:14:39 PAGE 2   

  56          //xdata unsigned char rr[8]={0,0,0,0,0,0,0,0}; 
  57          //xdata unsigned char *pr=rr;
  58          //-----------------------------------------------------------------------------
  59          // Main Routine
  60          //-----------------------------------------------------------------------------
  61          void main ()
  62          {  
  63   1      
  64   1       //unsigned char state;  //CANSTAT
  65   1      
  66   1        EA = 0;
  67   1      
  68   1        WDTCN = 0xDE;              //Disable Watchdog Timer
  69   1        WDTCN = 0xAD;
  70   1      
  71   1        SYSCLK_Init ();
  72   1        PORT_Init ();
  73   1        INT_Init ();
  74   1      
  75   1        //Get_DO_Address ();
  76   1      
  77   1        CAN_Init ();
  78   1        CAN_Transmit_Init (1,1);
  79   1        CAN_Receive_Init (2,1);
  80   1        CAN_Start();
  81   1        
  82   1        Timer_Init ();
  83   1      
  84   1        OE = 0;
  85   1        EA = 1;
  86   1        TR0 = 1;
  87   1      
  88   1      
  89   1        //CAN_Transmit(1,ss);
  90   1      CAN_Remote_Send_Init(1,1);
  91   1      CAN_Remote_Send_Init(2,2);
  92   1      CAN_Remote_Send_Init(3,3);
  93   1      
  94   1      CAN_Remote_Updata(1,ss1);
  95   1      CAN_Remote_Updata(2,ss2);
  96   1      CAN_Remote_Updata(3,ss3);
  97   1      
  98   1           while (1) 
  99   1           {
 100   2      
 101   2           }
 102   1        
 103   1      }
 104          
 105          //-----------------------------------------------------------------------------
 106          // CAN_Receive_Interrupt
 107          //-----------------------------------------------------------------------------
 108          void CAN_Receive_Interrupt (void) interrupt 19 
 109          {
 110   1        // unsigned char temp;
 111   1        // temppage = SFRPAGE;
 112   1        // SFRPAGE = CAN0_PAGE;
 113   1      
 114   1        // CAN_Status = CAN0STA;
 115   1        // if((CAN_Status & 0x08)!=0)
 116   1        // {
 117   1        //      CAN0STA &= 0xf7;
C51 COMPILER V7.10   DO                                                                    07/27/2008 17:14:39 PAGE 3   

 118   1      //        CAN0ADR = INTPEND1;
 119   1      //        temp = CAN0DATL;
 120   1      
 121   1       //  }
 122   1      
 123   1         
 124   1      }
 125          
 126          void Timer0_Overflow_Interrupt (void) interrupt 1 
 127          {
 128   1        
 129   1      }
 130          
 131          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    104    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     24    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      3    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -