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

📄 uart.lst

📁 本程序是基于单片机C8051F020上使用SL811 USB 总线接口实现检测U 盘的功能。插上U 盘
💻 LST
字号:
C51 COMPILER V7.06   UART                                                                  06/07/2005 21:42:41 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 DB OE

stmt level    source

   1          
   2          // 引用外部头文件
   3          
   4          #include "c8051F020.h"
   5          #include "uart.h"
   6          
   7          
   8          /***********************************************************************************
   9          * 函数名称:Uart0_Init;
  10          *
  11          * 函数功能描述:Uart0初始化;
  12          *              
  13          * 输入参数:unsigned char类型,发送数据波特率;
  14          *
  15          * 返回数据:none;
  16          *
  17          * 注意:    none;
  18          ************************************************************************************/
  19          
  20          void Uart0_Init(unsigned char BaudRate) //Uart0初始化        
  21          {                                    
  22   1              
  23   1              TR1=0;                              // 关闭定时器Timer1
  24   1              ET1=0;                              // 关闭定时器Timer1中断 
  25   1              PT1=0;                              // 关闭定时器Timer1中断优先权
  26   1              TMOD&= 0x0f;                        // TMOD: 定时器1, 模式2, 8位重载 
  27   1              TMOD|= 0x20;                        // TMOD: 定时器1, 模式2, 8位重载 
  28   1      
  29   1          SCON0  = 0x50;                      // SCON0: 模式1, 8位UART, 使能RX
  30   1          PCON  |= 0x80;                      // SMOD00 = 1
  31   1               
  32   1              if (BaudRate>=BaudRate_4800)
  33   1              {
  34   2                      CKCON |= 0x10;                             // 定时器Timer1使用系统时钟作为时间基准
  35   2                      TH1    = -(SYSCLK/1200/(BaudRate*16));     // 设置定时器Timer1重载值
  36   2              }
  37   1              else
  38   1              {
  39   2                      CKCON &= ~0x10;                               // 定时器Timer1使用系统时钟作为时间基准
  40   2                      TH1    = -(SYSCLK/1200/(BaudRate*16*12));     // 设置定时器Timer1重载值
  41   2              }
  42   1      
  43   1              ES0=0;                                           // 关闭串口Uart0中断
  44   1              PS=0;                                            // 关闭串口Uart0中断优先权
  45   1      
  46   1              TI0  = 1;                        // Indicate TX0 ready
  47   1          RI0  = 0;                        // Indicate RX0 ready
  48   1      
  49   1          TR1=1;                                                       // 打开串口Uart0
  50   1       }
  51          
  52          /***********************************************************************************
  53          * 函数名称:Uart0_Enable;
  54          *
  55          * 函数功能描述:Uart0初始化;
C51 COMPILER V7.06   UART                                                                  06/07/2005 21:42:41 PAGE 2   

  56          *              
  57          * 输入参数:bool类型,打开输入1;关闭输入0;
  58          *
  59          * 返回数据:none;
  60          *
  61          * 注意:    none;
  62          ************************************************************************************/
  63          
  64          void Uart0_Enable(bool Flag)
  65          {
  66   1              if (Flag)
  67   1                      TR1=1;   // 打开串口Uart0
  68   1              else
  69   1              TR1=0;   // 关闭串口Uart0
  70   1      }
  71          
  72          /***********************************************************************************
  73          * 函数名称:Uart0_SendString;
  74          *
  75          * 函数功能描述:Uart0初始化;
  76          *              
  77          * 输入参数: unsigned char类型指针,发送数据;
  78          *
  79          * 返回数据:none;
  80          *
  81          * 注意:    none;
  82          ************************************************************************************/
  83          
  84          void Uart0_SendString(unsigned char  *pt)
  85          {  
  86   1              while(*pt)
  87   1              {
  88   2                      Uart0_SendByte(*pt++);
  89   2              }
  90   1      }
  91          
  92          /***********************************************************************************
  93          * 函数名称:Uart0_SendByte;
  94          *
  95          * 函数功能描述:Uart0初始化;
  96          *              
  97          * 输入参数:unsigned char类型指针,发送数据;
  98          *
  99          * 返回数据:none;
 100          *
 101          * 注意:    none;
 102          ************************************************************************************/
 103          
 104          void Uart0_SendByte(unsigned char value)
 105          {
 106   1              while(!TI0);            // 等待发送1个字节数据完成
 107   1          SBUF0=value;            // 发送数据到uart0
 108   1              TI0=0;                                  // 清除中断标志
 109   1      }
 110          
 111          /***********************************************************************************
 112          * 函数名称:Uart0_ReceiveData;
 113          *
 114          * 函数功能描述:Uart0初始化;
 115          *              
 116          * 输入参数:none;
 117          *
C51 COMPILER V7.06   UART                                                                  06/07/2005 21:42:41 PAGE 3   

 118          * 返回数据:unsigned char类型,接收数据;
 119          *
 120          * 注意:    none;
 121          ************************************************************************************/
 122          unsigned char Uart0_ReceiveData(void)
 123          {
 124   1              if(RI0)
 125   1              {
 126   2                      SCON0&=~0x01;   // 清除RI1标志位
 127   2                      return SBUF0;
 128   2              }
 129   1              return 0xff;
 130   1      }
 131          
 132          
 133          /***********************************************************************************/
 134          // 文件结束
 135          /***********************************************************************************/
 136          


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