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

📄 uart.lst

📁 一个以前开发的实际应用的交通灯控制器程序
💻 LST
字号:
C51 COMPILER V7.50   UART                                                                  04/03/2007 10:38:52 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN UART.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\UART.c BROWSE DEBUG OBJECTEXTEND PRINT(.\UART.lst) OBJECT(UART.
                    -obj)

line level    source

   1          #include "iic.h"
   2          
   3          ///////////发送部分////////////
   4          void putchar(unsigned char ch)
   5          {       
   6   1      //      ES=0;
   7   1              TI=0;
   8   1              SBUF=ch;
   9   1              while(!TI);
  10   1              TI=0;
  11   1      //      ES=1;
  12   1      }
  13          
  14          void UART_PrintStr(const char Head[])
  15          {
  16   1              unsigned char *ptr;
  17   1              TxEN=1;
  18   1              ptr=Head;
  19   1              while(*ptr)
  20   1              {
  21   2                      putchar(*ptr);
  22   2                      ptr+=1;
  23   2              }
  24   1              TxEN=0;
  25   1      }
  26          
  27          void UART_PrintNum(unsigned int dat)
  28          {
  29   1              unsigned char xdata i;
  30   1              TxEN=1;
  31   1              while(dat>=1000)
  32   1                      dat-=1000;
  33   1      
  34   1              i=0;
  35   1              while(dat>=100)
  36   1              {
  37   2                      i++;
  38   2                      dat-=100;
  39   2              }
  40   1              i+='0';
  41   1              putchar(i);
  42   1              i=0;
  43   1              while(dat>=10)
  44   1              {
  45   2                      i++;
  46   2                      dat-=10;
  47   2              }
  48   1              i+='0';
  49   1              putchar(i);
  50   1              dat+='0';
  51   1              putchar(dat);
  52   1              putchar('\n');
  53   1              TxEN=0;
  54   1      }
C51 COMPILER V7.50   UART                                                                  04/03/2007 10:38:52 PAGE 2   

  55          
  56          ////////////协议部分//////////
  57          unsigned char xdata SendBuf[10];
  58          
  59          void UART_Ack(unsigned char dat)
  60          {
  61   1              //对广播地址的不发响应
  62   1              if(RecBuf[0]==0x00)
  63   1                      return;
  64   1              TxEN=1;
  65   1              putchar(0xff);
  66   1              putchar(0x7f);//head
  67   1              putchar(0x01);//destination id:主站地址0x01
  68   1              putchar(MacAddr);//Source id
  69   1              if(dat==0xff)
  70   1                      putchar(0xff);
  71   1              putchar(dat);
  72   1              putchar(0xff);
  73   1              putchar(0x01);
  74   1              TxEN=0; 
  75   1      }
  76          
  77          unsigned char LastData=0;
  78          unsigned char xdata RecBuf[128];
*** ERROR C231 IN LINE 78 OF IIC[ULTRAL]\UART.C: 'RecBuf': redefinition
  79          unsigned char RecCnt=0;
*** ERROR C231 IN LINE 79 OF IIC[ULTRAL]\UART.C: 'RecCnt': redefinition
*** ERROR C231 IN LINE 79 OF IIC[ULTRAL]\UART.C: 'RecCnt': redefinition
  80          unsigned char RecTemp;//=0;//
  81          
  82          void UART_ISR() interrupt INT_SOURCE_SERIAL using 2
  83          {
  84   1              if(RI)
  85   1              {
  86   2                      RecTemp=SBUF;
  87   2                      if(LastData!=0xff)
  88   2                      {
  89   3                              RecBuf[RecCnt]=RecTemp;
  90   3                              LastData=RecTemp;
  91   3                              RecCnt++;
  92   3                      }
  93   2                      else if(LastData==0xff)
  94   2                      {
  95   3                              LastData=RecTemp;
  96   3                              if(RecTemp==0x7f)
  97   3                                      RecCnt=0;//清空队列
  98   3                              else if(RecTemp==0x01)
  99   3                                      NewPackage=1;
 100   3                              else if(RecTemp==0xff)
 101   3                                      LastData=0x7f;
 102   3                              else
 103   3                              {
 104   4                                      RecBuf[RecCnt]=RecTemp;
 105   4                                      RecCnt++;
 106   4                              }
 107   3                      }
 108   2                      RI=0;
 109   2              }
 110   1      }

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

⌨️ 快捷键说明

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