uart.lst

来自「stc15单片机测试程序V1.0版」· LST 代码 · 共 97 行

LST
97
字号
C51 COMPILER V9.01   UART                                                                  07/28/2012 10:08:43 PAGE 1   


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

line level    source

   1          
   2          #include "STC15F2K.h"
   3          #include <intrins.H>
   4          
   5          typedef unsigned char uchar;
   6          typedef unsigned int  uint;
   7          
   8          
   9          bit busy;
  10          uchar GetC;
  11          
  12          void InitUART(void);
  13          void SendData(uchar dat);
  14          void SendString(uchar *s);
  15          
  16          /*----------------------------
  17              UART1初始化
  18          -----------------------------*/
  19          void InitUART(void)
  20          {
  21   1          SCON = 0x50;                //8位可变波特率 
  22   1              AUXR1= AUXR1 & 0x3F; 
  23   1          AUXR = 0x40;                //定时器1为1T模式
  24   1          TMOD = 0x20;                //定时器1为模式2(8位自动重载)
  25   1          TL1 = 0xDC;   //设置波特率重装值
  26   1          TH1 = 0xDC;
  27   1          TR1 = 1;                    //定时器1开始工作
  28   1          ES = 1;                     //使能串口中断
  29   1          EA = 1;
  30   1      
  31   1      }
  32          
  33          
  34          /*----------------------------
  35          UART 中断服务程序
  36          -----------------------------*/
  37          void Uart() interrupt 4 using 1
  38          {
  39   1          if (RI)
  40   1          {
  41   2              RI = 0;                 //清除RI位
  42   2              GetC = SBUF;              //P0显示串口数据
  43   2          }
  44   1          if (TI)
  45   1          {
  46   2              TI = 0;                 //清除TI位
  47   2              busy = 0;               //清忙标志
  48   2          }
  49   1      }
  50          
  51          /*----------------------------
  52          发送串口数据
  53          ----------------------------*/
  54          void SendData(uchar dat)
  55          {
C51 COMPILER V9.01   UART                                                                  07/28/2012 10:08:43 PAGE 2   

  56   1          while (busy);               //等待前面的数据发送完成
  57   1          busy = 1;
  58   1          SBUF = dat;                 //写数据到UART数据寄存器
  59   1      }
  60          
  61          /*----------------------------
  62          发送字符串
  63          ----------------------------*/
  64          void SendString(uchar *s)
  65          {
  66   1          while (*s)                  //检测字符串结束标志
  67   1          {
  68   2              SendData(*s++);         //发送当前字符
  69   2          }
  70   1      }
  71          


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


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

⌨️ 快捷键说明

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