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

📄 main.lst

📁 CAN总线控制器SJA1000的设置和初始化代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.07   MAIN                                                                  02/09/2004 16:12:39 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE MAIN.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /**********************************************Copyright (c)**********************************************
   2          **                                         广州周立功单片机发展有限公司                                                         **
   3          **                                            研    究    所                                                                    **
   4          **                                              CAN-BUS 组                                                                                  **
   5          **                                                                                                                                                                                      **
   6          **                                             http://www.zlgmcu.com                                                                **
   7          **                                                                                                                                                                      **
   8          **-----------------------------------------------文件信息-----------------------------------------------**
   9          **文   件   名: CAN-DP51PRO(V1.10)                                                                                                                                      **
  10          **创   建   人: St_again                                                                                                                                                                **
  11          **最后修改日期: 2004-2-2                                                                                                                                                                **
  12          **文件功能描述: 提供一个基于DP-51PRO的CAN实验程序                                                                                                               **
  13          **其        他: 本文件源码编写格式符合周立功单片机程序编写规范。                                                                                **
  14          **                                                                                                                                                                                                              **
  15          **---------------------------------------------历史版本信息---------------------------------------------**
  16          ** 创建人:                                                                                                                                                                                              **
  17          ** 版  本:                                                                                                                                                                                              **
  18          ** 日 期:                                                                                                                                                                                              **
  19          ** 描 述:                                                                                                                                                                                              **
  20          **                                                                                                                                                                                                              **
  21          **---------------------------------------------当前版本修订---------------------------------------------**
  22          ** 修改人:                                                                                                                                                                                              **
  23          ** 日 期:                                                                                                                                                                                              **
  24          ** 描 述:                                                                                                                                                                                              **
  25          **                                                                                                                                                                                                              **
  26          **------------------------------------------------------------------------------------------------------*/
  27          
  28          #include <REG52.H>
  29          #include "VIIC_C51.h"                                                                                                   //I2C程序库头文件
  30          #include "Sja1000_peli.h"                                                                                               //CAN程序库头文件
  31          
  32          #define uchar unsigned char 
  33          #define ZLG7290 0x70 
  34          sbit RESET_PIN=P1^0;
  35          
  36          uchar Display_Buffer[5]={0x0d,0x15,0x15,0x10};                                                  //显示GOOD
  37          uchar CAN_Baudrate_Filter_Buffer[9]={14,0,0,0,0,0xff,0xff,0xff,0xff};   //存放设置波特率和滤波器的数据
  38          uchar Send_CAN_Info_ID[5]={0x88,0x00,0x00,0x00,0x00};                                   //存放信息帧的数据,符合CAN2.0B
  39          uchar Send_Data_For_Self[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};  //存放数据帧的数据
  40          uchar ScanNum[1];                                                                                                               //定义数码管扫描位数
  41          
  42          /*--------------------------------------------------------------------------------------------------------
  43          ** 函数原型:    void    Delay_ms(uchar j) 
  44          ** 功能描述:    该函数用于不精确的延时。在12M,6CLK下,大约延时j*1ms  
  45          ** 参数说明:    0-250                                                      
  46          ** 返回值:      无
  47          /*------------------------------------------------------------------------------------------------------*/
  48          void    Delay_ms(uchar j)
  49          {
  50   1              uchar   k,l;
  51   1              for(l=0;l<=j;l++)
  52   1              {
  53   2                      for(k=0;k<=250;k++)
  54   2                      { 
  55   3                              ; 
C51 COMPILER V7.07   MAIN                                                                  02/09/2004 16:12:39 PAGE 2   

  56   3                      }
  57   2              }
  58   1      }
  59          
  60          /*--------------------------------------------------------------------------------------------------------
  61          ** 函数原型:    unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2)
  62          ** 功能描述:    发送命令(对子地址7、8)
  63          ** 参数说明:    DATA1:          命令1
  64          **                      DATA2:          命令2                                             
  65          ** 返回值:      0                       失败
  66          **                      1                       成功
  67          /*------------------------------------------------------------------------------------------------------*/
  68          unsigned char ZLG7290_SendCmd(unsigned char Data1,unsigned char Data2)
  69          {
  70   1              unsigned char Data[2];
  71   1              Data[0]=Data1;
  72   1              Data[1]=Data2;
  73   1              ISendStr(ZLG7290,0x07,Data,2);
  74   1              Delay_ms(10);
  75   1              return 1;
  76   1      }  
  77          
  78          /*--------------------------------------------------------------------------------------------------------
  79          ** 函数原型:    void    ZLG7290_SendDisBuf(unsigned char *disp_buf,unsigned char num)
  80          ** 功能描述:    向显示缓冲区发送数据
  81          ** 参数说明:    *disp_buf       要发送数据的起始地址
  82          **                              num                     发送个数                                                      
  83          ** 返回值:      无
  84          /*------------------------------------------------------------------------------------------------------*/
  85          void ZLG7290_SendDisBuf(unsigned char *disp_buf,unsigned char num)
  86          {
  87   1              unsigned char i;
  88   1              for(i=0;i<num;i++)
  89   1              {       
  90   2                      ZLG7290_SendCmd(0x60+i,*disp_buf);
  91   2                      disp_buf++;
  92   2              }
  93   1      }
  94          
  95          /*--------------------------------------------------------------------------------------------------------
  96          ** 函数原型:    void    SJA1000_Config_Self(void)
  97          ** 功能描述:    对SJA1000的在自发自收模式下的初始化配置
  98          ** 参数说明:    无                                                         
  99          ** 返回值:      无
 100          /*------------------------------------------------------------------------------------------------------*/
 101          void SJA1000_Config_Self(void)
 102          { 
 103   1              SJAEntryResetMode();                                                                                            //进入复位模式
 104   1              WriteSJAReg(REG_CAN_CDR,0xc8);                                                                          //选择PeliCAN模式
 105   1              SetBitMask(REG_CAN_MOD,AFM_BIT);                                                                        //选择单滤波模式

⌨️ 快捷键说明

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