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

📄 uart.lst

📁 可以实现多路数据采集和传输系统
💻 LST
字号:
C51 COMPILER V7.20   UART                                                                  08/19/2007 15:13:45 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN .\uart.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\下位机\uart.c BROWSE DEBUG OBJECTEXTEND PRINT(.\uart.lst) OBJECT(.\uart.
                    -obj)

line level    source

   1              #include <reg51.h>
   2                  #include "MAX485.h"
   3          
   4                 
   5                     extern uchar sec;
   6               uchar temp[8];
   7              data uchar Tbuffer[TCOUNT];  //定义发送缓冲区
   8              data uchar Rbuffer[RCOUNT];//定义接受缓冲器
   9              data unsigned char  Tpointer;          //定义当前位子指针
  10              data unsigned char  Rpointer;
  11                  void serial_init(void);
  12             uchar t;
  13              bit L; 
  14              RS485() {
  15   1                      RE = 1;                                                         /* 设置MAX485的接收状态*/ 
  16   1              while(Tpointer<TCOUNT) {                                /* 发送缓冲区初始化 */
  17   2                     Tbuffer[Tpointer] = 'T';
  18   2                     Tpointer++;
  19   2                }    
  20   1                            send();
  21   1                            // if(L == 1){
  22   1                                //  L = 0;
  23   1                              //      send();
  24   1                              //      }
  25   1                              receive();
  26   1                              //      if(Rbuffer[1] == 'A'){
  27   1                                      temp[2] = Rbuffer[2];
  28   1                   //  }
  29   1                               }  
  30                           
  31          void send(void){
  32   1                      RE = 1;
  33   1                  Tpointer=0x00;
  34   1                      TI = 1;
  35   1              while(Tpointer <= TCOUNT);            /* 等待全部数据帧发送完毕 */   
  36   1              }
  37          
  38              void receive(void){
  39   1                      RE = 0;
  40   1              Rpointer=0;
  41   1                  while(Rpointer+1 == RCOUNT);
  42   1              }
  43          
  44              /* 发送中断服务函数 */
  45              void serial (void) interrupt 4 using 3 {
  46   1             if (RI){   
  47   2                     RI=0;                                     /* 清接收中断标志 */
  48   2                Rbuffer[Rpointer++]=SBUF;                                            
  49   2                if(Rpointer+1 == RCOUNT)  return;                      /* 如果已接收完全部数据帧, 则此次通信结束, 置SM2=1准备下一

⌨️ 快捷键说明

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