main.lst

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

LST
126
字号
C51 COMPILER V9.01   MAIN                                                                  07/28/2012 10:14:25 PAGE 1   


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

line level    source

   1          /***********************************************************
   2          实验名称:串口
   3          程序说明:本程序测试了串口
   4          实验平台:stc15单片机开发板v1.0版
   5          日期:2012-05-27
   6          QQ:     259902530
   7          www.stcstudy.com    61mcu.taobao.com  版权所有 
   8          ***********************************************************/
   9          /*-------------------------------------
  10                  UART1测试:使用波特率9600发送到单片机上
  11                                     单片机将收到的程序发回PC。
  12                                     可采用STC下载软件自带串口调试助手观察
  13          ---------------------------------------*/
  14          
  15          #include "STC15F2K.h"
  16          #include <intrins.H>
  17          
  18          typedef unsigned char uchar;
  19          typedef unsigned int  uint;
  20          
  21          
  22          bit busy;
  23          bit Flag;
  24          uchar GetC;
  25          
  26          void InitUART(void);
  27          void SendData(uchar dat);
  28          void SendString(uchar *s);
  29          
  30          void main()
  31          {
  32   1              P2=0x01;
  33   1              InitUART();
  34   1          SendString("IAP15F2K61S2\r\nUart Test !\r\n");
  35   1          while(1)
  36   1              {
  37   2                if(Flag)
  38   2                {
  39   3                   SendData(GetC);
  40   3                       Flag=0;
  41   3                }
  42   2              }
  43   1      }
  44          /*----------------------------
  45              UART1初始化
  46          -----------------------------*/
  47          void InitUART(void)
  48          {
  49   1          SCON = 0x50;                //8位可变波特率 
  50   1              AUXR1= AUXR1 & 0x3F; 
  51   1          AUXR = 0x40;                //定时器1为1T模式
  52   1          TMOD = 0x20;                //定时器1为模式2(8位自动重载)
  53   1          TL1 = 0xDC;   //设置波特率重装值
  54   1          TH1 = 0xDC;
  55   1          TR1 = 1;                    //定时器1开始工作
C51 COMPILER V9.01   MAIN                                                                  07/28/2012 10:14:25 PAGE 2   

  56   1          ES = 1;                     //使能串口中断
  57   1          EA = 1;
  58   1      
  59   1      }
  60          
  61          
  62          /*----------------------------
  63          UART 中断服务程序
  64          -----------------------------*/
  65          void Uart() interrupt 4 using 1
  66          {
  67   1          if (RI)
  68   1          {
  69   2              RI = 0;                 //清除RI位
  70   2              GetC = SBUF;              //P0显示串口数据
  71   2                      Flag=1;
  72   2          }
  73   1          if (TI)
  74   1          {
  75   2              TI = 0;                 //清除TI位
  76   2              busy = 0;               //清忙标志
  77   2          }
  78   1      }
  79          
  80          /*----------------------------
  81          发送串口数据
  82          ----------------------------*/
  83          void SendData(uchar dat)
  84          {
  85   1          while (busy);               //等待前面的数据发送完成
  86   1          busy = 1;
  87   1          SBUF = dat;                 //写数据到UART数据寄存器
  88   1      }
  89          
  90          /*----------------------------
  91          发送字符串
  92          ----------------------------*/
  93          void SendString(uchar *s)
  94          {
  95   1          while (*s)                  //检测字符串结束标志
  96   1          {
  97   2              SendData(*s++);         //发送当前字符
  98   2          }
  99   1      }
 100          


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


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

⌨️ 快捷键说明

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