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

📄 output.lst

📁 这是一个单片机的项目
💻 LST
📖 第 1 页 / 共 3 页
字号:
 205          #define Channel2           0x01
 206          #define Channel3           0x02
 207          #define Channel4           0x03
 208          #define Channel5           0x04
 209          #define Channel6           0x05
 210          #define Channel7           0x06
 211          #define Channel8           0x07
 212          #define Channel9           0x08
 213          
 214          #define Channel10          0x09
 215          #define Channel11          0x0A
 216          #define Channel12          0x0B
 217          #define Channel13          0x0C
 218          #define Channel14          0x0D
 219          #define Channel15          0x0E
 220          #define Channel16          0x0F
 221          //外设数据长度信息。
 222          #define LenRecvWsType1     0x38    //外设类型1的数据长度
 223          #define LenRecvWsType2     0x04    //外设类型2的数据长度
 224          /**********************************************外设信息***************************************************
             -/
 225          
 226          /**********************************************从机信息***************************************************
             -/
 227          //从机编号信息。
 228          #define SlaveCode1         0x01     //从机1编号。
 229          #define SlaveCode2         0x02     //从机2编号。
 230          #define SlaveCode3         0x03     //从机3编号。
 231          #define SlaveCode4         0x04     //从机4编号。
C51 COMPILER V7.50   OUTPUT                                                                03/17/2008 20:38:41 PAGE 5   

 232          #define SlaveCode5         0x05     //从机5编号。
 233          uchar   SlaveCode = SlaveCode1;     //当前从机编号。
 234          //从机数据存储最大长度。
 235          #define DataLen7053        560      //7053数据存储最大长度。
 236          #define DataLen7017        280      //7017数据存储最大长度。
 237          //从机串口信息。
 238          #define InitState          0        //开始接收状态。
 239          #define DataState          1        //数据接收状态。
 240          #define SlaveStartFlag     0x3E     //数据开始标志。
 241          uchar   n = 1;                      //当前处理的外设编号。
 242          uchar   FlagWsSend[5]={0,0,0,0,0};  //从机外设的数据返回状态。
 243          char    RecvDataCount=-1;           //接收外设数据的计数器。
 244          uint    TimeCount = 0;              //串口通讯的计数器。
 245          uchar   RecvState= InitState;       //接收的状态,初始化为初始化接收状态。
 246          uchar   RecvDataSize;               //接收外设数据的长度。
 247          //从机参数信息。
 248          #define SlaveParaLen     0x05        //从机默认参数长度。
 249          uchar   BodeRate;                    //从机与外设通讯的波特率。
 250          uchar   WsNumber;                    //从机的外设个数。
 251          uint    ReadDataRate;                //读取外设数据的时间间隔。
 252          uchar   WsType;                      //外设的类型。
 253          /**********************************************从机信息***************************************************
             -/
 254          /**************************************拷贝数据最大长度定义**************************************/
 255          #define MaxOrderLen              0x6FD
 256          #define MaxSlaveDataLen          0x230
 257          #define MaxGetChannelParaLen     0x7ED
 258          #define MaxAlarmLen              0xFD
 259          #define MaxSlaveAlarmLen         80
 260          /**************************************拷贝数据最大长度定义**************************************/
 261          
 262          /**************************************输出报警动作号定义****************************************/
 263          #define ACTION1               0x01    //01号输出动作
 264          #define ACTION2               0x02    //02号输出动作
 265          #define ACTION3               0x03    //03号输出动作
 266          #define ACTION4               0x04    //04号输出动作
 267          #define ACTION5               0x05    //05号输出动作
 268          #define ACTION6               0x06    //06号输出动作
 269          #define ACTION7               0x07    //07号输出动作
 270          #define ACTION8               0x08    //08号输出动作
 271          #define ACTION9               0x09    //09号输出动作
 272          #define ACTION10              0x10    //10号输出动作
 273          #define ACTION11              0x11    //11号输出动作
 274          #define ACTION12              0x12    //12号输出动作
 275          /**************************************输出报警动作号定义****************************************/
 276          
 277          /**********************************************标识位定义信息*********************************************
             -/
 278          bit  FlagMutex=0;              //用于隔离外部中断,假如一次外部中断没有执行完,不能响应下一次外部中断。
 279          bit  FlagExt0=0;               //外部中断0标识,也就是IIC使用标识。
 280          bit  FlagTime0=0;              //定时器0中断标识。
 281          bit  FlagStartRecv=0;          //开始接收标识。
 282          bit  FlagProcessRecvData=0;    //处理接收数据标识。
 283          bit  FlagReInit = 0;           //从机参数重置的命令被解析的标识,也是从机参数重置的标志位。
 284          bit  FlagProcessOrderStart = 0;//上位机的命令被从机拷贝的标志,也是处理命令的标志位。
 285          bit  FlagFirst = 1;            //第一次定时器0中断标识。
 286          bit  FlagNewData = 0;          //有新的外设数据标识。
 287          bit  FlagNewOrder = 0;         //有新的服务器的命令标识。
 288          bit  FlagSendOrder = 1;        //发送读取外设数据命令开始标识。
 289          bit  FlagExtInterrupt = 0;
 290          bit  FlagNewAlarm = 0;           //有新的报警需要处理的标识位。
 291          /**********************************************标识位定义信息*********************************************
C51 COMPILER V7.50   OUTPUT                                                                03/17/2008 20:38:41 PAGE 6   

             -/
 292          
 293          /**********************************************定时器相关信息*********************************************
             -/
 294          #define  WaitLen      10      //发送外设数据采集命令的等待时限。
 295          #define  MAX          20      //定时器的倍频。
 296          #define  SampleBase   1000    //Sample = ReadDataRate/SampleBase即为发送采集外设数据命令的间隔。
 297          #define  DelayTime        5
 298          uchar    Sample = 2;          //发送采集外设数据命令的间隔。
 299          uchar    TimesNum = 0;        //定时中断次数的计数器,用来判断等待的外设数据返回的时限的。
 300          uchar    TimesCount = 0;      //定时中断次数的计数器,用来判断等待的外设数据返回的时限的。
 301          /**********************************************定时器相关信息*********************************************
             -/
 302          
 303          /**********************************************从机IIC使用信息********************************************
             -/
 304          sbit P20=P2^0;                //IIC使用完通知仲裁机的信号。
 305          /**********************************************从机IIC使用信息********************************************
             -/
 306          
 307          /******************************************从机分配的数组*************************************************
             -*/
 308          #define  COPYLEN      200        //I2C中转的缓冲区大小。
 309          #define  PROCESSLEN   20         //处理命令的暂存数组长度。
 310          xdata uchar  RecvDataBuff[60];   //外设数据的接收数组,应大于56。
 311          xdata uchar  SendBuff[4];        //发送读取外设数据的命令数组。
 312          /******************************************从机分配的数组*************************************************
             -*/
 313          
 314          /*********************************************************************************************************
             -**
 315          功能:Delay
 316          描述:延时函数
 317          参数:t
 318          返回:无
 319          **********************************************************************************************************
             -**/
 320          void Delay(uint t)     /*延时函数*/
 321          {
 322   1          while(t!=0)
 323   1              t--; 
 324   1      }
 325          
 326          /*********************************************************************************************************
             -**
 327          功能:InitSerialCom
 328          描述:串口初始化
 329          参数:无
 330          返回:无
 331          **********************************************************************************************************
             -**/
 332          void InitSerialCom(void)
 333          {
 334   1          SCON  = 0x50;       //SCON: serail mode 1, 8-bit UART, enable ucvr 
 335   1          TMOD |= 0x21;       //TMOD: timer 1, mode 2, 8-bit reload 
 336   1          PCON |= 0x80;       //SMOD=1; 
 337   1          TH1   = 0xF3;       //Baud:4800  fosc=12MHz 
 338   1          IE   |= 0x93;       //Enable Serial Interrupt 
 339   1          TR1   = 1;          // timer 1 run 
 340   1              IT0   = 1;
 341   1         // TI=1; 
 342   1      }
C51 COMPILER V7.50   OUTPUT                                                                03/17/2008 20:38:41 PAGE 7   

 343          
 344          /*********************************************************************************************************
             -**
 345          功能:Time0Initial()
 346          描述:定时器0初始化,主要设定初值
 347          参数:无
 348          返回:无
 349          **********************************************************************************************************
             -**/
 350          void Time0Initial()
 351          {
 352   1         TR0=0;
 353   1         TH0=0x3C; //50ms
 354   1         TL0=0xB0;
 355   1         TR0=1;
 356   1      }
 357          
 358          /*********************************************************************************************************
             -**
 359          功能:Time0
 360          描述:产生定时器0中断
 361          参数:无
 362          返回:无
 363          **********************************************************************************************************
             -**/
 364          void Time0() interrupt 1 using 2
 365          {
 366   1            TimeCount++;
 367   1                if(TimeCount >= MAX)
 368   1                {
 369   2                    TimeCount=0;
 370   2                        FlagTime0=1;
 371   2                }
 372   1            Time0Initial();
 373   1      }
 374          
 375          /*********************************************************************************************************
             -**
 376          功能:SendCharCom
 377          描述:向串口发送一个字符 
 378          参数:t
 379          返回:无
 380          **********************************************************************************************************
             -**/
 381          void SendCharCom(unsigned char ch)  
 382          {
 383   1          SBUF=ch;
 384   1          while(TI==0);
 385   1          TI=0;
 386   1      }
 387          
 388          /*********************************************************************************************************
             -**
 389          功能:SendStringCom
 390          描述:向串口发送一个字符串,strlen为该字符串长度 
 391          参数:str---要发送的字符串指针 strlen---字符串长度
 392          返回:无
 393          **********************************************************************************************************
             -**/
 394          void SendStringCom(unsigned char *str,unsigned int strlen)
 395          {
 396   1          unsigned int k=0;
C51 COMPILER V7.50   OUTPUT                                                                03/17/2008 20:38:41 PAGE 8   

 397   1          while( (k < strlen) && (strlen > 0) )
 398   1          {
 399   2              SendCharCom(*(str + k));
 400   2              k++;

⌨️ 快捷键说明

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