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

📄 main.lst

📁 51单片机基于CAN总线通信程序
💻 LST
字号:
C51 COMPILER V8.09   MAIN                                                                  09/23/2008 08:34:17 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\main.c LARGE OPTIMIZE(7,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\main.l
                    -st) OBJECT(main.obj)

line level    source

   1          #include <reg52.h>
   2          #include <intrins.h>
   3          #include "inc/CPUIO_DEF.H"     
   4          #include "inc/PUBLIC_VARIABLE.H"          
   5          #include "inc/candul.H" 
   6          #include "inc/common.H"
   7                   
   8          void main(void)
   9          {
  10   1          //关键变量初始化
  11   1          bitRstFlg = 0;
  12   1          bitMidoFlg = 0;
  13   1          bitLastFlg = 0;
  14   1      
  15   1          MOTONOFF  = 1;              //马达关闭
  16   1          bitSysAllowWork = 0;
  17   1      
  18   1          //CPU初始化
  19   1          SJA_RST = 1;                //CAN总线复位管脚
  20   1          SJA_CS = 0;                 //CAN总线片选有效
  21   1              
  22   1              //定时器0初始化 
  23   1          //AUXR &= 0x1f;                             //定时器00011100兼容标准51 ,进行12分频 ,
  24   1              TMOD |= 0X11;                           //T0模式1,T1模式1
  25   1              TL0 = 0Xcc;                                     //2ms定时中断22.1184mhz
  26   1              TH0 = 0XF8 ;
  27   1      
  28   1              TL1 = 0X0 ;                             //
  29   1              TH1 = 0X0 ;
  30   1      
  31   1          TR0 = 1;                    //启动定时器0
  32   1          TR1 = 0;                    //停止定时器1
  33   1      
  34   1      
  35   1      //6、串口初始化 
  36   1      //      SCON = 0XF0 ;                           //串口模式1,SM2=0;
  37   1      
  38   1      
  39   1              PCON = 0;
  40   1      //  EX1 = 1;//外部中断0负边沿触发
  41   1      //  IT1 = 1;
  42   1      
  43   1          IT0 = 0;//CAN总线接收中断电平触发
  44   1          EX0 = 1;//打开外部中断0
  45   1      //      ES = 1; //开串口中断
  46   1          ET0 = 1;                                //定时器0
  47   1              ET1 = 1;                                    //定时器1
  48   1      //  IE = 0x03;
  49   1          EA = 1; //打开总中断
  50   1          SJA_CS = 1;     //CAN总线片选无效,保证数据线上的变化不会影响SJA1000
  51   1      //CPU初始化
  52   1      
  53   1          CAN_init();   //SJA1000初始化,对 SJA1000寄存器的读写是采用外部寄存器寻址方式,所以不需要程序单独控制

⌨️ 快捷键说明

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