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

📄 sio.lst

📁 采用sja1000开发can总线的源代码
💻 LST
字号:
C51 COMPILER V3.20,  SN-50203013  SIO                                                      04/02/04  07:47:26  PAGE 1   


DOS C51 COMPILER V3.20, COMPILATION OF MODULE SIO
OBJECT MODULE PLACED IN SIO.OBJ
COMPILER INVOKED BY: D:\C51\C51.EXE SIO.C

stmt level    source

   1          
   2          #include<REG51.h>
   3          
   4          #include </C51/string.h>
   5          #include "sio.h"
   6          
   7          //extern MSG_BUF can_in[1];
   8          
   9          unsigned char rs232_in[8];
  10          unsigned char send_NO;
  11          
  12          #define OSC             20000000L        /* Oscillator Frequency */
  13          
  14          static void com_isr (void) interrupt 4 using 2
  15          {
  16   1      //------------------------------------------------
  17   1      //Received data interrupt.
  18   1      //------------------------------------------------
  19   1      EA=0;
  20   1      if (RI != 0)
  21   1        {
  22   2        RI = 0;
  23   2        rs232_in[0] = SBUF;    
  24   2        }
  25   1      
  26   1      //------------------------------------------------
  27   1      //Transmitted data interrupt.
  28   1      //------------------------------------------------
  29   1      if (TI != 0)
  30   1        {
  31   2        TI = 0;
  32   2      //  if (send_NO <= can_in.LEN)
  33   2      //      {
  34   2      //         SBUF = can_in.BUF[send_NO];  
  35   2      //         send_NO++;
  36   2      //      }
  37   2        }
  38   1      
  39   1      EA=1;
  40   1      }
  41          
  42          //--------------------------------------------------------------------------
  43          //--------------------------------------------------------------------------
  44          void com_initialize (void)
  45          {
  46   1      //------------------------------------------------
  47   1      //Setup TIMER1 to generate the proper baud rate.
  48   1      //------------------------------------------------
  49   1      com_baudrate (19200);
  50   1      
  51   1      //------------------------------------------------
  52   1      //Clear com buffer indexes.
  53   1      //------------------------------------------------
  54   1      EA = 0;                         // Disable Interrupts 
  55   1      
C51 COMPILER V3.20,  SN-50203013  SIO                                                      04/02/04  07:47:26  PAGE 2   

  56   1      
  57   1      //------------------------------------------------
  58   1      //Setup serial port registers.
  59   1      //------------------------------------------------
  60   1      SM0 = 0; SM1 = 1;		// serial port MODE 1 
  61   1      SM2 = 0;
  62   1      REN = 1;			// enable serial receiver 
  63   1      TI = 0;				// clear transmit interrupt 
  64   1      RI = 0;				// clear receiver interrupt 
  65   1      
  66   1      ES = 1;				// enable serial interrupts 
  67   1      PS = 0;				// set serial interrupts to low priority 
  68   1      EA = 1;                         // Enable Interrupts 
  69   1      }
  70          
  71          //-----------------------------------------------------------------------
  72          //----------------------------------------------------------------------
  73          void com_baudrate (unsigned baudrate)
  74          {
  75   1      EA = 0;                             // Disable Interrupts 
  76   1      
  77   1      //------------------------------------------------
  78   1      //Clear transmit interrupt and buffer.
  79   1      //------------------------------------------------*/
  80   1      TI = 0;				    // clear transmit interrupt */
  81   1      
  82   1      /*------------------------------------------------
              Set timer 1 up as a baud rate generator.
              ------------------------------------------------*/
  85   1      TR1 = 0;			    // stop timer 1 
  86   1      ET1 = 0;			    // disable timer 1 interrupt 
  87   1      
  88   1      PCON |= 0x80;			    // 0x80=SMOD: set serial baudrate doubler 
  89   1      
  90   1      TMOD &= ~0xF0;			    // clear timer 1 mode bits 
  91   1      TMOD |= 0x20;			    // put timer 1 into MODE 2 
  92   1      
  93   1      TH1 = (unsigned char) (256 - (OSC / (16L * 12L * baudrate)));
  94   1      TH1 = 0xFd;//38400
  95   1      //TH1 = 0xF5;
  96   1      TR1 = 1;			    // start timer 1 
  97   1      
  98   1      EA = 1;                             // Enable Interrupts 
  99   1      }
 100          
 101          //------------------------------------------------------------------------------
 102          //------------------------------------------------------------------------------*/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    132    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      9    ----
   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 + -