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

📄 serial.lst

📁 用于C51上的modbus协议
💻 LST
字号:
C51 COMPILER V7.50   SERIAL                                                                07/04/2005 21:07:51 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE SERIAL
OBJECT MODULE PLACED IN Serial.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Serial.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <STC89C58.h>
   2          #include <TG01R.h>
   3          #include <intrins.h>
   4          #include <string.h>
   5          
   6          /*-------------------------------------------------------------------------------------------
   7           函数原型:  void  InitUart(void)                                    
   8           参数说明:  无                                                        
   9           返回值:    无 
  10           说明:          用于初始化串口               
  11           -------------------------------------------------------------------------------------------*/    
  12          void  InitUart(void)  {
  13   1        SCON =  0x50;     //串口工作方式1
  14   1        TMOD |= 0x20;     //T1,初值自动重装
  15   1        TH1  =  0xf3;     //波特率4800bps  @ 24M
  16   1        TL1  =  0xf3; 
  17   1        TR1  =  1;        //开始计数          
  18   1        IE  |=  0x90;     //开放串口中断
  19   1      }
  20          
  21          /*-------------------------------------------------------------------------------------------
  22           函数原型:  void Uart_Send_Char(uchar SendChar)                             
  23           参数说明:  发送的字符                                                        
  24           返回值:    无 
  25           说明:          用于向串口发送单个字符               
  26           -------------------------------------------------------------------------------------------*/ 
  27          void Uart_Send_Char(uchar SendChar)  {
  28   1          SBUF=SendChar;
  29   1          while(TI==0);TI=0;
  30   1      }
  31          
  32          /*-------------------------------------------------------------------------------------------
  33           函数原型:  void Uart_Send_Str(char *SendDataBuf)                                   
  34           参数说明:  发送字符串的头地址                                                        
  35           返回值:    无 
  36           说明:          用于向串口发送字符串               
  37           -------------------------------------------------------------------------------------------*/ 
  38          void Uart_Send_Str(uchar *SendDataBuf)  {
  39   1              uchar i;
  40   1              uchar idata Len;
  41   1              i=0;
  42   1              Len=strlen(SendDataBuf);                          //获取发送字符串的长度Len
  43   1              do      {
  44   2                      SBUF=*(SendDataBuf+i);                    //发送Len个字符
  45   2                      while(TI==0);TI=0;
  46   2                      
  47   2              }while(++i<Len);        
  48   1      }
  49                          
  50          /*
  51          char Uart_Rcv_Str(char *RcvDataBuf)  {
  52                  uchar i,TempData;
  53                  i=0;
  54                  do  {
  55                          while(RI==0);RI=0;
C51 COMPILER V7.50   SERIAL                                                                07/04/2005 21:07:51 PAGE 2   

  56                          TempData=SBUF;
  57                          if(TempData=='/')  {
  58                                  break;
  59                          }
  60                          *(RcvDataBuf+i)=TempData;
  61                          i++;
  62                  }       while(1);
  63          }
  64          */
  65          
  66          /*-------------------------------------------------------------------------------------------
  67           函数原型:  void Uart_SingleStep(void)                              
  68           参数说明:  串口控制单步执行函数                                                        
  69           返回值:    无 
  70           说明:          用于通过串口控制单步执行,到此函数时停止,通过串口接收到space符时继续向下执行               
  71           -------------------------------------------------------------------------------------------*/ 
  72          void Uart_SingleStep(void)  {
  73   1              char TempData;
  74   1              do  {
  75   2                      while(RI==0);RI=0;
  76   2                      TempData=SBUF;
  77   2              }while(TempData!=0x20);
  78   1      }
  79          
  80          /*-------------------------------------------------------------------------------------------
  81           函数原型:  InitCPU(void)                                   
  82           参数说明:  MCU初始化                                                        
  83           返回值:    无 
  84           说明:          MCU初始化,开放外部中断0,初始化串口               
  85           -------------------------------------------------------------------------------------------*/ 
  86          void  InitCPU(void)
  87          {
  88   1       EA         =1;         //开放中断
  89   1       IT0        =1;         //外部中断0低电平触发
  90   1       EX0        =1;         //外部中断0使能
  91   1       PX0        =1;         //外部中断0高优先级
  92   1       InitUart();        //初始化串口 
  93   1      }        
  94          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     97    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =   ----       1
   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 + -