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

📄 ceshi.lst

📁 英飞凌的CAN驱动。英飞凌的CAN非常复杂
💻 LST
字号:
C51 COMPILER V7.06   CESHI                                                                 05/14/2008 16:11:21 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE CESHI
OBJECT MODULE PLACED IN D:\C51_TEST\INFENION\CAN\CESHI.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\C51_TEST\INFENION\CAN\CESHI.C DB SB OE

stmt level    source

   1           #include<XC886CLM.H>
   2          #include<stdio.h>
   3          #include "can.h"
   4          
   5           void can_read(uword addr)
   6          {
   7   1        CAN_ADL=(addr>>2)&0xff;
   8   1      CAN_ADH=(addr>>10)&0x0f;
   9   1       RWEN=0;
  10   1       while(BSY==1);
  11   1      // BSY=0;
  12   1      }
  13          
  14              //置位
  15          void set_bit(uword addr,uchar bitnum,uchar value)
  16          {
  17   1        uchar i=1;
  18   1        //can_read(addr);
  19   1        CAN_ADL=(addr>>2)&0xff;
  20   1        CAN_ADH=(addr>>10)&0x0f;
  21   1         if(bitnum<8)  {
  22   2         V0=1;
  23   2         if(value)
  24   2         CAN_DATA0|=(i<<bitnum);
  25   2         else
  26   2         CAN_DATA0&=~(i<<bitnum);
  27   2         }
  28   1         else if(bitnum>=8&&bitnum<16)
  29   1         {
  30   2           V1=1;
  31   2           if(value)
  32   2           CAN_DATA1|=(i<<(bitnum-8));
  33   2           else
  34   2           CAN_DATA1&=~(i<<(bitnum-8));
  35   2      
  36   2           }
  37   1            else if(bitnum>=16&&bitnum<24)
  38   1            {
  39   2            V2=1;
  40   2            if(value)
  41   2           CAN_DATA2|=(i<<(bitnum-16));
  42   2           else
  43   2             CAN_DATA2&=~(i<<(bitnum-16));
  44   2           }
  45   1            else if(bitnum>=24&&bitnum<32)
  46   1            {
  47   2            
  48   2            if(value)
  49   2           CAN_DATA3=(i<<(bitnum-24));
  50   2           else
  51   2           CAN_DATA3=~(i<<(bitnum-24));
  52   2           V3=1;
  53   2           }
  54   1      
  55   1             RWEN=1;
C51 COMPILER V7.06   CESHI                                                                 05/14/2008 16:11:21 PAGE 2   

  56   1       while(BSY==1);
  57   1      }
  58          void can_write(uword addr,ulong value)
  59          {
  60   1      CAN_ADL=(addr>>2)&0xff;
  61   1      CAN_ADH=(addr>>10)&0x0f;
  62   1      CAN_DATA0=value&0xff;
  63   1      //P3_DATA=CAN_DATA0;
  64   1      CAN_DATA1=(value>>8)&0xff;
  65   1      CAN_DATA2=(value>>16)&0xff;
  66   1      CAN_DATA3=(value>>24)&0xff;
  67   1      CAN_ADCON=0xf1;
  68   1      while(BSY==1);
  69   1      //BSY=0;
  70   1      }
  71          
  72          
  73          int main()
  74          {
  75   1      //设置ncr0 (p495)
  76   1      P3_init();
  77   1      PORT_PAGE=0;
  78   1      can_write(0x0200,0x004e);
  79   1      
  80   1      
  81   1         //P3_DATA=2;
  82   1      //write_pancom(0x02,0x00,0x01);
  83   1      //can_read(0x0200);
  84   1      //CAN_DATA0=0X55;
  85   1         //set_bit(PANCTR,8,0);
  86   1         //set_bit(PANCTR,9,0);
  87   1      //write_pancom(0x02,0x03,0x01);
  88   1        //can_read(0X01C4);
  89   1          //set_bit(MOCTR0,SETTXEN0,1);
  90   1          //set_bit(MOCTR0,SETTXEN1,1);
  91   1          set_bit(MOCTR0,SETDIR,1);
  92   1          can_read(MOSTAT0);
  93   1       //CAN_DATA0=8;
  94   1       PORT_PAGE=0;
  95   1      P3_DATA=CAN_DATA1;
  96   1      while(1);
  97   1      
  98   1      
  99   1      }
 100          
C51 COMPILER V7.06   CESHI                                                                 05/14/2008 16:11:21 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P3_DATA. . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
CAN_DATA0. . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00DBH  1
CAN_DATA1. . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00DCH  1
CAN_DATA2. . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00DDH  1
CAN_ADH. . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00DAH  1
CAN_DATA3. . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00DEH  1
CAN_ADL. . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D9H  1
V0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DCH  1
V1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DDH  1
V2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DEH  1
V3 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00DFH  1
_can_read. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  addr . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
P3_init. . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
CAN_ADCON. . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D8H  1
_can_write . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  addr . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0004H  2
  value. . . . . . . . . . . . . . . .  AUTO     DATA   U_LONG   0002H  4
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
RWEN . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D8H  1
PORT_PAGE. . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B2H  1
_set_bit . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  addr . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  bitnum . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  value. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0004H  1
BSY. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D9H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    391    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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