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

📄 protocol.lst

📁 基于C51的通用人机界面程序
💻 LST
字号:
C51 COMPILER V7.08   PROTOCOL                                                              02/27/2006 16:50:28 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE PROTOCOL
OBJECT MODULE PLACED IN .\output\protocol.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE protocol.c BROWSE DEBUG OBJECTEXTEND OBJECT(.\output\protocol.obj)

line level    source

   1          #define _protocol_ 
   2          #include "general.h"
   3          #include "com.h"
   4          /***********************************************************************
   5          应答规则:      1.所有通讯由MCU发起;2.下位机必须应答
   6                                  3.上位机根据情况发报告帧(正确y,重发n,放弃q)
   7          共下面几种帧类型:
   8          1.命令帧:      "开始采集(s)","取消采集(e)","查询参数(p)"(MCU)
   9                                  "正确回应(y)","请求重发(n)""放弃通信(q)"(DSP)
  10          ---------------------------------
  11          帧头标志|帧类型|效验和|帧尾标志
  12             '@'  | 'x'  |   x  | '\n' 
  13              1   |  1   |   2  |   1
  14          -----------------------------------
  15          2.数据帧:      "光标位置(d)"、计算结果(r)"
  16                                  "仪器常数(a)"、"纬度(l)"、"比例系数(c)"、"周期个数(m)"
  17                                  "错误报告(f)"
  18          -----------------------------------------
  19          帧头标志|帧类型|数据内容|效验和|帧尾标志
  20             '@'  | 'x'  |   x    |    x  |  '\n'
  21              1   |  1   |   1    |    2  |   1
  22          ------------------------------------------
  23          *************************************************************************/
  24          
  25          
  26          
  27          /*****************************************************************
  28          pack按协议打包数据(发送,不中断)
  29          *****************************************************************/
  30          //Master:命令帧,5字节(FR_Start)  
  31          void frame_cmd(uchar cmd){
  32   1          //uchar bcc=FR_STX;
  33   1              //bcc=bcc^cmd;
  34   1              //
  35   1          put_char(FR_STX); 
  36   1              put_char(cmd); 
  37   1              //put_char((bcc>>4)+'0');               //高四位在前
  38   1              //put_char((bcc&0x0f)+'0');     //低四位
  39   1              put_char('0');
  40   1              put_char('0');
  41   1              put_char('0');   
  42   1              put_char('0');
  43   1              put_char('0');
  44   1              put_char('0');
  45   1              put_char('0');                                  //无数据发7个0
  46   1              put_char(FR_ETX); 
  47   1      }
  48          
  49          //Master(4)&Slave(6):数据帧(1+1+1+6+2+1)
  50          //1.CCD数据:   cmd=d,
  51          //2.计算结果:  cmd=r
  52          //3.仪器常数:  cmd=a
  53          //4.纬度:              cmd=l
  54          //5.比例系数C: cmd=c
  55          //6.周期个数:  cmd=m
C51 COMPILER V7.08   PROTOCOL                                                              02/27/2006 16:50:28 PAGE 2   

  56          void frame_data(uchar cmd,
  57                                          uchar *databuf,
  58                                          uchar len){                     //数据域不足7位补零
  59   1          uchar i;
  60   1              i=7-len;
  61   1              //uchar bcc=FR_STX;
  62   1              //bcc=bcc^cmd;
  63   1              //for(i=0;i<len;i++)     bcc=bcc^*(databuf+i);
  64   1              //bcc=bcc^len;
  65   1              //          
  66   1              put_char(FR_STX); 
  67   1              put_char(cmd);
  68   1              put_string(*databuf,len);
  69   1              if(i>0){
  70   2                      do{     put_char('0');i--;}             //补足0
  71   2                      while(i>0);
  72   2              }
  73   1              //put_char(len+'0');
  74   1              //put_char((bcc>>4)+'0');               //高四位
  75   1              //put_char((bcc&0x0f)+'0');     //低四位
  76   1              put_char(FR_ETX); 
  77   1                 
  78   1      }
  79          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    118    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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