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

📄 uart.lst

📁 电子称重的程序
💻 LST
字号:
C51 COMPILER V8.02   UART                                                                  05/04/2008 21:35:46 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE uart.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <head.h>
   2          #include <config.h>
   3          #include "uart.h"
   4          uchar pdata UartWBuf[UART_WBUFLEN];
   5          uchar pdata pUartWBufW=0,pUartWBufR=0;
   6          uchar pdata UartRBuf[UART_RBUFLEN];
   7          uchar  pdata pUartRbufW=0;
   8          
   9          BOOL hadrxcom;
  10          BOOL SendEndFlag=1;
  11          
  12          
  13          
  14          
  15           /**************************************************************************
  16          *      函数原型:  void Uart_init(Ulong baud,char parity)
  17          *      功    能: 串口初始化函数
  18          *      入    口:  baud:波特率,parity:校验位
  19          *************************************************************************/
  20          
  21          void Uart_Init(ulong Baud,char Parity)
  22          {
  23   1              ulong    temp;
  24   1              if(Parity) SCON=0xd0;
  25   1              else SCON=0x50;
  26   1              T2CON=0x30;
  27   1              temp=0x10000-(SYSCLK/32)/Baud;
  28   1              TH2=((uint)temp)>>8;
  29   1              RCAP2H=TH2;
  30   1              TL2=temp&0xff;
  31   1              RCAP2L=TL2;
  32   1              T2CON=0x34;
  33   1              D485WEN=FALSE;
  34   1              PS=1;      //
  35   1              ES=1;
  36   1              EA=1;
  37   1      }
  38          
  39           /**************************************************************************
  40          *      函数原型:void uart_int(void);
  41          *      功    能:串口中断4
  42          **************************************************************************/
  43          void uart_int(void) interrupt 4
  44          {
  45   1       if(_testbit_(TI))
  46   1        {
  47   2        if(pUartWBufR!=pUartWBufW)
  48   2              {
  49   3                      D485WEN=TRUE;
  50   3                 SBUF=UartWBuf[pUartWBufR++];
  51   3                 if(pUartWBufR>=UART_WBUFLEN)pUartWBufR=0;
  52   3              }
  53   2        else {SendEndFlag=1;D485WEN=FALSE;}
  54   2        }
  55   1         if(_testbit_(RI))
C51 COMPILER V8.02   UART                                                                  05/04/2008 21:35:46 PAGE 2   

  56   1        {
  57   2         if(SBUF==0x2)pUartRbufW=0;
  58   2         else if(SBUF==0x3)   hadrxcom=1;
  59   2         else if(!hadrxcom)UartRBuf[pUartRbufW++]=SBUF;
  60   2        }
  61   1      }
  62             /**************************************************************************
  63           //以下为串口发送子程序,bit Uart_sendS(Uchar *wchar)为发送字符串,
  64            bit Uart_sendC(Uchar wchar)为发送单个字符
  65             bit Uart_sendN(long wnum,char dot)为发送数字
  66           *************************************************************************/
  67          BOOL Uart_SendS(uchar *Wchar)
  68           {
  69   1               uchar i=0;
  70   1               for(i=0;Wchar[i]!='\0';i++)
  71   1               {
  72   2                 Uart_SendC(Wchar[i]);
  73   2               }
  74   1                 return 1;
  75   1       }
  76          BOOL Uart_SendC(uchar Wchar)
  77          {
  78   1      D485WEN=TRUE;
  79   1      if(SendEndFlag){SBUF=Wchar;SendEndFlag=0;}
  80   1      else
  81   1      {
  82   2       UartWBuf[pUartWBufW]=Wchar;
  83   2      if(++pUartWBufW>=UART_WBUFLEN)pUartWBufW=0;
  84   2      }
  85   1      return 1;
  86   1      }
  87          
  88          
  89          


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