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

📄 com.lst

📁 这是一称的项目原文件,包括T9汉字输入,打印机,24C512,已经引用到产品上
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.08   COM                                                                   03/05/2007 16:38:07 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE COM
OBJECT MODULE PLACED IN com.OBJ
COMPILER INVOKED BY: D:\程序\keil c\C51\BIN\C51.EXE com.c LARGE INCDIR(c:|keil) DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************
   2          *  标题:  蓝海微芯LJD-SY-5100单片机开发系统演示程序                            *
   3          *  文件:  com.c                                                              *
   4          *  日期:  2006-7-22                                                           *
   5          *  版本:  1.0                                                                  *
   6          *  作者:  Pillar                                                             *
   7          ********************************************************************************
   8          *  描述:                                                                       *
   9          *             通信程序                                                        *     
  10          *                                                                              *
  11          ********************************************************************************
  12          * 【版权】 Copyright(C) belongs to 天宇蓝翔科技有限公司     All Rights Reserved *          
  13          * 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
  14          *******************************************************************************/
  15          /********************************EEPROM存储分配********************************/
  16          //第一个扇区
  17          
  18          //要存储的内容:
  19          //1.发射机工作频率:3位。1-8频率
  20          //2.零点:2个字节     int
  21          //3.分度值:1个字节  char
  22          //4.量程:两个字节;一个字节数字,1个字节10幂次 int*10
  23          //5.单位:1位,k,0=kg,1=t;
  24          //6.斜率:两个字节   int
  25          //7.传感器量程:两个字节;一个字节数字,1个字节10幂次 int*10
  26          
  27          //第二个扇区
  28          
  29          //1.出厂编号:两个字节
  30          //2.出厂时间:两个字节。年,月,日。
  31          //3.接收机编号:两个字节
  32          
  33          //第三扇区
  34          
  35          //1.用户名:20个字节 
  36          /**************保存参数寄存器***********************************************/
  37          #include<com.h>
  38          
  39          
  40          //常数区
  41                  //内部数据Flash第一扇区地址
  42                  #define FLASH_ADDRH     0x20
  43                  #define FLASH_ADDRL     0x00    //52
  44          
  45                  //内部数据Flash第2扇区地址
  46                  #define FLASH_ADDRH1    0x22
  47                  #define FLASH_ADDRL1    0x00    //52
  48          
  49                  //内部数据Flash第3扇区地址
  50                  #define FLASH_ADDRH2    0x24
  51                  #define FLASH_ADDRL2    0x00    //52
  52                  
  53                  
  54          
  55                  
C51 COMPILER V7.08   COM                                                                   03/05/2007 16:38:07 PAGE 2   

  56          
  57          void LoadInt(int cs);
  58          unsigned char Data_XRL(char *buf,int begin,int end);
  59          void Hex_To_Ascii(buf);  //把校验数据转换成ASCII
  60          void Ascii_To_Hex(buf);  //设备地址
  61          void Make_Error(unsigned char ch); // 发射** 接收数据不正确要求重发
  62          void Make_Two_Byte(int sj,char *jg);
  63          
  64          /**********发射数据********/
  65          void r_chengshang_data(unsigned char ch)
  66          
  67          //      IsBeginCom=1;          //要求发射数据的标志
  68          {
  69   1              unsigned char buf[4];
  70   1              ComHand=4;
  71   1              
  72   1              ComBuf[0]=(unsigned char)(Para1.chuchang_bianhao&0x00ff);         //出厂编号低位,设备地址       
  73   1              ComBuf[1]=(unsigned char)(Para1.chuchang_bianhao>>8);//出厂编号高位,设备地址    
  74   1      
  75   1              ComBuf[2]=0x30;   //标志读      
  76   1              ComBuf[3]=0x30;
  77   1       
  78   1              if(ch==1)//读重量数据 4
  79   1              {
  80   2                      LoadInt(ch);
  81   2                      ComBuf[8]=0x30;   //数据直接数                                                  
  82   2                      ComBuf[9]=0x38;   
  83   2              }
  84   1              
  85   1              else if(ch==2)//发射机工作频率  1
  86   1              {
  87   2                      LoadInt(ch); //数据地址  4
  88   2                      ComBuf[8]=0x30;   //数据直接数                                                  
  89   2                      ComBuf[9]=0x38;   
  90   2              }
  91   1              
  92   1              else if(ch==3)//零点   2
  93   1              {
  94   2                      LoadInt(ch); //数据地址
  95   2                      ComBuf[8]=0x30;   //数据直接数                                                  
  96   2                      ComBuf[9]=0x34;   
  97   2              }
  98   1                      
  99   1              else if(ch==4)//分度值  1
 100   1              {
 101   2                      LoadInt(ch); //数据地址
 102   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 103   2                      ComBuf[9]=0x32;   
 104   2              }
 105   1              
 106   1              else if(ch==5)//量程    2
 107   1              {
 108   2                      LoadInt(ch); //数据地址
 109   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 110   2                      ComBuf[9]=0x34;   
 111   2              }
 112   1              
 113   1              else if(ch==6)//单位    1               
 114   1              {
 115   2                      LoadInt(ch); //数据地址
 116   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 117   2                      ComBuf[9]=0x32;   
C51 COMPILER V7.08   COM                                                                   03/05/2007 16:38:07 PAGE 3   

 118   2              }
 119   1              
 120   1              else if(ch==7)//斜率    2
 121   1              {
 122   2                      LoadInt(ch); //数据地址
 123   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 124   2                      ComBuf[9]=0x34;   
 125   2              }
 126   1              
 127   1              else if(ch==8)//传感器量程      2
 128   1              {
 129   2                      LoadInt(ch); //数据地址
 130   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 131   2                      ComBuf[9]=0x34;   
 132   2              }
 133   1      
 134   1              else if(ch==9)//出厂编号        2
 135   1              {
 136   2                      LoadInt(ch); //数据地址
 137   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 138   2                      ComBuf[9]=0x34;   
 139   2              }
 140   1      
 141   1              else if(ch==10)//出厂时间       2
 142   1              {
 143   2                      LoadInt(ch); //数据地址
 144   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 145   2                      ComBuf[9]=0x34;   
 146   2              }
 147   1      
 148   1              else if(ch==11)//接收机编号     2
 149   1              {
 150   2                      LoadInt(ch); //数据地址
 151   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 152   2                      ComBuf[9]=0x34;   
 153   2              }
 154   1      
 155   1              else if(ch==12)//用户名 20
 156   1              {
 157   2                      LoadInt(ch); //数据地址
 158   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 159   2                      ComBuf[9]=0x44;   
 160   2              }
 161   1      
 162   1              else if(ch==13)//电池数据       4
 163   1              {
 164   2                      LoadInt(ch); //数据地址
 165   2                      ComBuf[8]=0x30;   //数据直接数                                                  
 166   2                      ComBuf[9]=0x38;   
 167   2              }
 168   1      
 169   1              buf[0]=Data_XRL(ComBuf,0,ComHand);
 170   1              Hex_To_Ascii(buf);                //把校验数据转换成ASCII
*** WARNING C214 IN LINE 170 OF COM.C: 'Argument': conversion: pointer to non-pointer
 171   1              ComBuf[ComHand]=buf[0];
 172   1              ComHand++;
 173   1              ComBuf[ComHand]=buf[1];
 174   1              ComHand++;
 175   1              ComBuf[ComHand]=0x0D;//发射数据尾
 176   1      
 177   1              SBUF=0x40;          //启动发射数据
 178   1      }
C51 COMPILER V7.08   COM                                                                   03/05/2007 16:38:07 PAGE 4   

 179          
 180          /***********写数据到称上*****/
 181          
 182          void w_data_to_chengshang(unsigned char ch)//ch为数据地址
 183          {   
 184   1              unsigned char j;
 185   1              unsigned char buf[4];
 186   1      
 187   1              IsBeginCom=1;          //要求发射数据的标志
 188   1              
 189   1          ComHand=4;
 190   1      
 191   1              //ComBuf[1]=ComBuf[0]; //设备地址
 192   1              //ComBuf[2]=ComBuf[1];
 193   1              ComBuf[0]=Para1.chuchang_bianhao&0x000f;          //出厂编号低位,设备地址       
 194   1              ComBuf[1]=(Para1.chuchang_bianhao>>8);//出厂编号高位,设备地址
 195   1      
 196   1              ComBuf[2]=0x30;   //标志写      
 197   1              ComBuf[3]=0x31;
 198   1       
 199   1      
 200   1               if(buf[0]==2) //发射机工作频率
 201   1                      {                                               
 202   2                              ComBuf[ComHand]=0x32; //字节数为2
 203   2                              ComHand++; 
 204   2                          LoadInt(Para.fasheji_pinlv);                
 205   2                                                              
 206   2                      }
 207   1              else if(buf[0]==3) //零点
 208   1                      {
 209   2                              ComBuf[ComHand]=0x34; //字节数4
 210   2                              ComHand++;
 211   2                              LoadInt(Para.lingdian);
 212   2                                                              
 213   2                      }
 214   1              else if(buf[0]==4) //分度值
 215   1                      {
 216   2                              ComBuf[ComHand]=0x32; //字节数2
 217   2                              ComHand++; 
 218   2                              LoadInt(Para.fenduzhi);
 219   2                      }
 220   1              else if(buf[0]==5) //量程
 221   1                      {
 222   2                      ComBuf[ComHand]=0x34; //字节数4
 223   2                              ComHand++; 
 224   2                              LoadInt(Para.liangcheng);
 225   2                      }
 226   1      
 227   1              else if(buf[0]==6) //单位
 228   1              {
 229   2                      ComBuf[ComHand]=0x32; //字节数2
 230   2                              ComHand++; 
 231   2                              LoadInt(Para.dianwei);  
 232   2                      }
 233   1                      
 234   1      
 235   1              else if(buf[0]==7) //斜率
 236   1                      {
 237   2                              ComBuf[ComHand]=0x34; //字节数4
 238   2                              ComHand++; 
 239   2                              LoadInt(Para.xielv_data);
 240   2                      }
C51 COMPILER V7.08   COM                                                                   03/05/2007 16:38:07 PAGE 5   

 241   1      
 242   1              else if(buf[0]==8) //传感器量程
 243   1                      {
 244   2                              ComBuf[ComHand]=0x34; //字节数4
 245   2                              ComHand++;                                              
 246   2                              LoadInt(Para.chuanganqi_liangcheng);
 247   2                      }
 248   1      
 249   1              else if(buf[0]==9) //出厂编号
 250   1                      {
 251   2                              ComBuf[ComHand]=0x34; //字节数4
 252   2                              ComHand++;                                                      

⌨️ 快捷键说明

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