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

📄 main.lst

📁 利用xc167单片机上的双口can
💻 LST
字号:
C166 COMPILER V6.04, MAIN                                                                  09/02/2008 15:32:01 PAGE 1   


C166 COMPILER V6.04, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C166\BIN\C166.EXE MAIN.C MODV2 BROWSE MODV2 DEFINE(TargetA) DEBUG

 stmt lvl     source

    1         #include "MAIN.H"
    2         #include <stdio.h>
    3         #include <XC167.H>
    4         
    5         #define PERIOD  15536          /* 10 msec interrupt period        */
    6         
    7         unsigned char send = 0, pattern = 0x01, obj0dat;
    8         
    9         
   10         static void timer0(void) interrupt 0x20 using INTREGS 
   11         {  /* Int Vector at 0080H, other Reg Bank */
   12  1      #ifdef TargetA
   13  1        obj0dat =  pattern;
   14  1      #else
                obj0dat = ~pattern;
              #endif
   17  1        CAN_vLoadData(0, &obj0dat);
   18  1        CAN_vTransmit (0);
   19  1        if(pattern) pattern = pattern << 1;
   20  1          else pattern = 0x01;
   21  1        send = 1;
   22  1      }
   23         
   24         void MAIN_vInit(void)
   25         {
   26  1        /* setup the timer 0 interrupt */
   27  1        CC1_T0REL  = PERIOD;      /* set reload value */
   28  1        CC1_T0     = PERIOD;
   29  1        CC1_T0IC   = 0x44;        /* set T0IE and ILVL = 1 */
   30  1        CC1_T01CON = 0x44;        /* start timer 0 */ 
   31  1       
   32  1        CAN_vInit();
   33  1      
   34  1        PSW_IEN    =  1;          
   35  1      
   36  1      } 
   37         
   38         
   39         void MAIN_vUnlockProtecReg(void)
   40         {
   41  1        ubyte ubPASSWORD;
   42  1      
   43  1        if((SCUSLS & 0x1800) == 0x0800) //if low protected mode
   44  1        {
   45  2      
   46  2          ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 46 OF MAIN.C: '=': value truncated
   47  2          ubPASSWORD = ~ubPASSWORD;
   48  2          SCUSLC = 0x8E00 | ubPASSWORD;      //command 4
   49  2      
   50  2        }  //end if low rotected mode
   51  1      
   52  1        if((SCUSLS & 0x1800) == 0x1800) //if write protected mode
   53  1        {
   54  2          SCUSLC = 0xAAAA;                   //command0
C166 COMPILER V6.04, MAIN                                                                  09/02/2008 15:32:01 PAGE 2   

   55  2          SCUSLC = 0x5554;                   //command1
   56  2      
   57  2          ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 57 OF MAIN.C: '=': value truncated
   58  2          ubPASSWORD = ~ubPASSWORD;
   59  2      
   60  2          SCUSLC = 0x9600 | ubPASSWORD;      //command 2
   61  2          SCUSLC = 0x0800;                   //command 3; new PASSWOR is 0x00
   62  2      
   63  2          ubPASSWORD = SCUSLS & 0x00FF;
*** WARNING C192 IN LINE 63 OF MAIN.C: '=': value truncated
   64  2          ubPASSWORD = ~ubPASSWORD;
   65  2          SCUSLC = 0x8E00 | ubPASSWORD;      //command 4
   66  2      
   67  2        }  
   68  1      } 
   69         
   70         
   71         void delay () {
   72  1        unsigned int tmp;
   73  1        for (tmp = 0; tmp < 60000; tmp++);
   74  1      }
   75         
   76         TCAN_SWObj obj101;
   77         
   78         void main(void)
   79         {
   80  1        P3  |= 0x0400;          /* SET PORT 3.10 OUTPUT LATCH (TXD)              */
   81  1        DP3 |= 0x0400;          /* SET PORT 3.10 DIRECTION CONTROL (TXD OUTPUT)  */
   82  1        DP3 &= 0xF7FF;          /* RESET PORT 3.11 DIRECTION CONTROL (RXD INPUT) */
   83  1        ASC0_TIC   = 0x80;      /* SET TRANSMIT INTERRUPT FLAG                   */
   84  1        ASC0_RIC   = 0x00;      /* DELETE RECEIVE INTERRUPT FLAG                 */
   85  1        ASC0_BG    = 0x80;      /* SET BAUDRATE TO 9600 BAUD @ 40MHz             */
   86  1        ASC0_CON   = 0x8011;    /* SET SERIAL MODE                               */
   87  1        ALTSEL0P3 |= 0x0C00;    /* Configure port pins for serial interface 0    */
   88  1      
   89  1       DP2 = 0xff00;
   90  1        
   91  1        
   92  1       MAIN_vInit();
   93  1      
   94  1        
   95  1       while (1)  {
   96  2       
   97  2            if(send) {
   98  3              printf ("\nTrans Message: %02x  ", obj0dat);
   99  3              send = 0;
  100  3            }
  101  2      
  102  2            if (CAN_ubNewData(1))  {
  103  3              CAN_vGetMsgObj (1, &obj101);
  104  3              printf ("Rec Message: %02x", obj101.ubData[0]);
  105  3              P2 = (obj101.ubData[0]) << 8;
  106  3              CAN_vReleaseObj(1);
  107  3            }
  108  2          }
  109  1      }
  110         
  111         


MODULE INFORMATION:   INITIALIZED  UNINITIALIZED
C166 COMPILER V6.04, MAIN                                                                  09/02/2008 15:32:01 PAGE 3   

  CODE SIZE        =         350     --------
  NEAR-CONST SIZE  =          41     --------
  FAR-CONST SIZE   =    --------     --------
  HUGE-CONST SIZE  =    --------     --------
  XHUGE-CONST SIZE =    --------     --------
  NEAR-DATA SIZE   =          23     --------
  FAR-DATA SIZE    =    --------     --------
  XHUGE-DATA SIZE  =    --------     --------
  IDATA-DATA SIZE  =    --------     --------
  SDATA-DATA SIZE  =    --------     --------
  BDATA-DATA SIZE  =    --------     --------
  HUGE-DATA SIZE   =    --------     --------
  BIT SIZE         =    --------     --------
  INIT'L SIZE      =          12     --------
END OF MODULE INFORMATION.


C166 COMPILATION COMPLETE.  3 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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