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

📄 rs_485.lst

📁 c8051f020实现4个 产UART 口
💻 LST
字号:
C51 COMPILER V7.50   RS_485                                                                11/29/2006 01:20:31 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE RS_485
OBJECT MODULE PLACED IN .\out\RS_485.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RS_485.C LARGE OPTIMIZE(6,SPEED) REGFILE(.\out\mbtest.ORC) BROWSE INCDIR(C:
                    -\Keil\C51\LIB\;D:\TEST_C020\MC_55_C\) DEBUG OBJECTEXTEND OBJECT(.\out\RS_485.obj)

line level    source

   1          
   2          #include  "all.h"
   3          
   4          
   5          
   6          
   7          
   8          
   9          
  10          
  11          /**********************************************************************
  12          **函数原型:   void Attand_485(void)
  13          **入口参数:   Xin_485_b=1
  14          **出口参数:   无
  15          **返 回 值:   无
  16          **说    明:  处理上位机485命令之子程序。
  17          ************************************************************************/
  18          
  19          
  20          
  21          void Attand_485(void)         //注:中断里面使用寄存器组0,??是否与主程序有冲突
  22            {  unsigned int i;     //     不用寄存器组0的话,RW24XX不能正常读写时钟
  23   1           uchar j;
  24   1           uchar fun;
  25   1           //uchar Tem_lei;
  26   1           uchar sum;
  27   1          // uchar *Poit;
  28   1      
  29   1          fun=0;
  30   1          if(Xin_485_b==1)
  31   1              {
  32   2                //Wait(250);
  33   2                Xin_485_b=0;
  34   2                i=GPRS_RX_Buff[1];
  35   2                i=i+2;
  36   2                sum=0;
  37   2                //goto dddd;
  38   2                for(j=0;j<i;j++)
  39   2                   {
  40   3                     sum=sum+GPRS_RX_Buff[j];                  //  求代数和
  41   3                   }
  42   2                if(sum==GPRS_RX_Buff[i]&&GPRS_RX_Buff[i+1]==0xab)  //校验和等且最后的字节为0XAB
  43   2                   {
  44   3      
  45   3                       switch (GPRS_RX_Buff[0])
  46   3                          {
  47   4                            case 0:      //接收到error *********************************************************
             -**************
  48   4      
  49   4                                 break;
  50   4                             case 1:      //接收到OK ***********************************************************
             -************
  51   4                                  if(GPRS_RX_Buff[2]==3)    {
  52   5                                       // 发成功音
C51 COMPILER V7.50   RS_485                                                                11/29/2006 01:20:31 PAGE 2   

  53   5      
  54   5      
  55   5                                  }
  56   4                                  else if(GPRS_RX_Buff[2]==4)    {
  57   5                                       // 发成功音
  58   5      
  59   5      
  60   5                                  }
  61   4                                  else ;
  62   4                                 break;
  63   4                             case 2:      //接收到对码**********************************************************
             -****
  64   4      
  65   4                                
  66   4                                 break;
  67   4                              case 3:      //接收到 说    明:  普通控制子程序*************************************************
             -***********
  68   4                              
  69   4                                 break;
  70   4                                case 4:      //接收重要控制子程序************************************************************
  71   4                                
  72   4                                 break;
  73   4                              
  74   4                            case 16:    //***********************************
  75   4                                       Ying_da_ok(16);
  76   4                                       break;
  77   4                            case 17:   //********************************
  78   4                                       Ying_da_ok(17);
  79   4                                       break;
  80   4      
  81   4                            case 18:    //测试用*****************************
  82   4                                     
  83   4                                       break;
  84   4                            default:  ;
  85   4      
  86   4                                 break;
  87   4                          }     // switch (GPRS_RX_Buff[0])   de
  88   3                   } //if de
  89   2         }
  90   1      }
  91          
  92          //=====================================================================================
  93             //------以上是对上位机的485命令进行处理------------------------------
  94          //=====================================================================================
  95          
  96          
  97          
  98          
  99          
 100          
 101          
 102          
 103          
 104          
 105          
 106          
 107          
 108          
 109          /**********************************************************************
 110          **函数原型:   void  ShangZhuang_message(uchar fun, uchar *Poit, uchar Lengh)
 111          **入口参数:   功能码,内容,数据长度

⌨️ 快捷键说明

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