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

📄 uart.lst

📁 这是自己写的基于单片机89s52的UART口的双机通讯
💻 LST
字号:
C51 COMPILER V7.06   UART                                                                  10/24/2006 15:34:59 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN Uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Uart.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*******************************************************************************
   2                  Uart.C
   3                  串行口收发程序
   4          *******************************************************************************/
   5          
   6          
   7          #include <Uart.h>
   8          
   9          
  10          //定义发送中断辅助标志(仅用于发送)
  11          bit _TI_;
  12          
  13          //定义接收缓冲区和标志
  14          unsigned char UartRecBuf;
  15          bit UartRecFlag = 0;
  16          
  17          
  18          //串行口初始化
  19          void UartInit()
  20          {
  21   1              EA = 0;
  22   1              TR1 = 0;
  23   1              RXD = 1;
  24   1              TXD = 1;
  25   1              _TI_ = 1;
  26   1              SCON = 0x50;    //串口方式1,允许接收
  27   1              PCON |= 0x80;   //波特率加倍
  28   1              TMOD &= 0x0F;
  29   1              TMOD |= 0x20;
  30   1              TH1 = 256 - ( MCLK / 12 ) / ( 16 * BAUD_RATE );
  31   1              TL1 = TH1;              //设置波特率
  32   1              TR1 = 1;
  33   1              ES = 1;                 //允许串行口中断
  34   1              EA = 1;                 //允许中断
  35   1      }
  36          
  37          
  38          //串行口中断服务程序
  39          void UartINTSVC() interrupt 4
  40          {
  41   1              char c;
  42   1              if ( RI )       //接收中断
  43   1              {
  44   2                      c = SBUF;
  45   2                      RI = 0;
  46   2                      UartRecBuf = c;
  47   2                      UartRecFlag = 1;
  48   2              }
  49   1              if ( TI )       //发送中断
  50   1              {
  51   2                      TI = 0;
  52   2                      _TI_ = 1;
  53   2              }
  54   1      }
  55          
C51 COMPILER V7.06   UART                                                                  10/24/2006 15:34:59 PAGE 2   

  56          
  57          /*******************************************************************************
  58          函数:UartPutc()
  59          功能:通过串行口发送单个字节
  60          参数:c-被发送的字节数据,取值0x00~0xFF
  61          *******************************************************************************/
  62          void UartPutc(char c)
  63          {
  64   1              while ( !_TI_ );
  65   1              _TI_ = 0;
  66   1              SBUF = c;
  67   1      }
  68          
  69          
  70          /*******************************************************************************
  71          函数:UartPuts()
  72          功能:通过串行口发送字符串
  73          参数:*s-被发送的字符串:字符串应当以'\0'结尾,而'\0'本身不会被发送出去
  74          *******************************************************************************/
  75          void UartPuts(char *s)
  76          {
  77   1              char c;
  78   1              for (;;)
  79   1              {
  80   2                      c = *s;
  81   2                      if ( c == '\0' ) break;
  82   2                      s++;
  83   2                      UartPutc(c);
  84   2              }
  85   1      }
  86          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     94    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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