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

📄 uart.lst

📁 《时间触发嵌入式系统设计模式》一书中的合作式调度器的算法
💻 LST
字号:
C51 COMPILER V8.08   UART                                                                  10/02/2007 07:17:25 PAGE 1   


C51 COMPILER V8.08, 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          
   3                  Uart.C (V1.00)
   4          
   5                   
   6          -*---------------------------------------------------------------------*/
   7          
   8          /*
   9           * Copyright (c) 2006,吴水林
  10           * All rights reserved
  11           * 
  12           * 文件名称: Uart.C
  13           * 文件标识: 
  14           * 摘    要: 串行口
  15           * 
  16           * 当前版本: V1.0               * 取代版本:
  17           * 作     者: wsl           * 修     改:  
  18           * 版本信息: 2006-09-14         * 修改信息: 
  19           */
  20           //***********************************************************************
  21          
  22          #include <string.h>
  23          #include"main.H"
  24          #include"Port.H"
  25          #include"SCH51.H"
  26          #include "MMI.h"
  27          #include"Uart.h"
  28          #include"LedDisp.h"
  29          
  30          
  31          void uart_send_byte(const unsigned char val);
  32          
  33          
  34           /*-----------------------------------------------------------------------*-
  35           * 函数名称: Uart_Init()
  36           * 参    数: BaudRate           波特率
  37           * 返    回:
  38           * 函数功能: 串行口初始化
  39           *              
  40           * 说     明: 
  41           *
  42           * 当前版本: V1.0               * 取代版本:
  43           * 作     者: wsl           * 修     改:  
  44           * 版本信息: 2006-09-14         * 修改信息: 
  45          -*-----------------------------------------------------------------------*/
  46          void Uart_Init(const eBaudRate Value)
  47          {
  48   1              TMOD &= 0x0f;
  49   1              TMOD |= 0x20;
  50   1              TH1 = Value;
  51   1              TL1 = Value;
  52   1              PCON &= 0x7f;
  53   1          SCON = 0x50;
  54   1              TR1 = 1;
  55   1              ES = 1;
C51 COMPILER V8.08   UART                                                                  10/02/2007 07:17:25 PAGE 2   

  56   1      }
  57          
  58          /*-----------------------------------------------------------------------*-
  59           * 函数名称: Uart_ISR()
  60           * 参    数: xx
  61           * 返    回: xx
  62           * 函数功能: 串行口中服函数
  63           *              
  64           * 说     明: 
  65           *
  66           * 当前版本: V1.0               * 取代版本:
  67           * 作     者: wsl           * 修     改:  
  68           * 版本信息: 2006-09-14         * 修改信息: 
  69          -*-----------------------------------------------------------------------*/
  70          void UartInterruptServer(void) interrupt 4
  71          {
  72   1              ES = 0;
  73   1              RI = 0;
  74   1      
  75   1              ES = 1;
  76   1      }
  77          
  78          /******************************************************************************
  79          * Function Name : uart_send_byte
  80          * Parameter             : val
  81          * Return Value  : void
  82          * Description   : The UART send byte as raw date
  83          * Created               : 2005.6.1 by wangsw
  84          * Modified              : -
  85          ******************************************************************************/
  86          void uart_send_byte(const unsigned char val)
  87          {
  88   1              bit bES;
  89   1              bES = ES;               
  90   1              ES = 0;
  91   1              SBUF = val;
  92   1              while(!TI);
  93   1              TI = 0;
  94   1              ES = bES;
  95   1      }
  96          
  97          /*-----------------------------------------------------------------------*-
  98           * 函数名称: send_sec_msg()
  99           * 参    数: xx
 100           * 返    回: xx
 101           * 函数功能: 向PC发送秒信息
 102           *              
 103           * 说     明: 
 104           *
 105           * 当前版本: V1.0               * 取代版本:
 106           * 作     者: wsl           * 修     改:  
 107           * 版本信息: 2006-09-14         * 修改信息: 
 108          -*-----------------------------------------------------------------------*/
 109          void send_sec_msg(void)
 110          {
 111   1              uart_send_byte(now.sec / 10 + 0x30);
 112   1              uart_send_byte(now.sec % 10 + 0x30);    
 113   1              uart_send_byte(0x0d);
 114   1              uart_send_byte(0x0a);
 115   1      }
 116          
 117          /******************************************************************************
C51 COMPILER V8.08   UART                                                                  10/02/2007 07:17:25 PAGE 3   

 118          * Function Name : uart_send_string
 119          * Parameter             : pData, len
 120          * Return Value  : void
 121          * Description           : The UART send string,when len = 0,auto detect string len
 122          * Created               : 2005.6.1 by wangsw
 123          * Modified              : -
 124          ******************************************************************************/
 125          void uart_send_string(unsigned char *pData, unsigned char len)
 126          {
 127   1              bit bES;
 128   1              unsigned char i, j;
 129   1              bES = ES;               
 130   1              ES = 0;
 131   1              if(len)
 132   1              {
 133   2                      i = len;
 134   2                      while(i--)
 135   2                      {
 136   3                              SBUF = *pData++;
 137   3                              while(!TI);
 138   3                              TI = 0;
 139   3                      }
 140   2              }
 141   1              else
 142   1              {
 143   2                      i = strlen(pData);
 144   2                      while(i--)
 145   2                      {
 146   3                              j = *pData++;
 147   3                              if(j == 0x0A)
 148   3                              {
 149   4                                      SBUF = 0x0D;
 150   4                                      while(!TI);
 151   4                                      TI = 0;
 152   4                              }
 153   3                              SBUF = j;
 154   3                              while(!TI);
 155   3                              TI = 0;
 156   3                      }
 157   2              }
 158   1      
 159   1              ES = bES;
 160   1      }
 161          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    188    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -