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

📄 jzj.cpp

📁 许继的2812开发全套驱动程序,很全很实用的.rar
💻 CPP
📖 第 1 页 / 共 3 页
字号:
#include "func.h"
#include <string.h>
#include <stdio.h>
#include "lcd.h"
#include "battery.h"
#include <math.h>
#include <stdlib.h>
#include <dos.h>
#include <graphics.h>
static unsigned char XJCODE[]=
{
0x00,0x00,0x03,0xE0,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0x00,0x00,0x00,0x00,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x03,0xFC,0x1F,0xE0,0x00,0x00,0x00,0x0F,0x80,0x00,
0xF8,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xF0,
0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0xFE,0x00,0x04,0x00,0x00,0x1F,0x80,0xF0,
0x7F,0xFF,0xFF,0xFF,0xFF,0x80,0xF0,0x7F,0xFD,0xFF,0xFF,0xFF,0x80,0xF0,0x1F,0xC3,
0xF3,0xF8,0x07,0x80,0xF0,0x3F,0x87,0xF7,0xF8,0x0F,0x80,0xF0,0x3F,0x87,0xF7,0xF0,
0x0F,0x80,0xFF,0xFF,0xEF,0xFF,0xF0,0x0F,0x80,0xFF,0xFF,0xFF,0xFF,0xE0,0x07,0x80,
0xFF,0xFF,0xFF,0xFF,0xC0,0x0F,0x80,0xFE,0x00,0x00,0x00,0x00,0x3F,0x80,0x0F,0xFF,
0xFF,0xFF,0xFF,0xF8,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x7F,0x80,0x00,
0xFE,0x00,0x00,0x00,0x0F,0xF0,0x07,0xF8,0x00,0x00,0x00,0x01,0xFC,0x1F,0xC0,0x3C,
0x00,0x00,0x00,0x1F,0xFC,0x00,0xFE,0x00,0x00,0x00,0x07,0xF0,0x00,0xDB,0x00,0x00,
0x00,0x00,0x80,0x01,0xBF,0x80,0x00,0x00,0x00,0x00,0x01,0xBD,0x80,0x00,0x00,0x00,
0x00,0x01,0xB9,0x80,0x00,0x00,0x00,0x00,0x01,0xBB,0x80,0x00,0x00,0x00,0x00,0x01,
0xDB,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,
};
uCHAR START[]=
{
0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFC,0x30,0x00,0x00,0x00,0x02,0x70,
0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,
0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,
0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,
0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,
0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,0x00,0x00,0x00,0x02,0x70,
0x00,0x00,0x00,0x02,0x7F,0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFF,0xFC,0x7F,0xFF,
0xFF,0xFF,0xF8,0xFF,0xFF,0xFF,0xFF,0xF0,    
};
uCHAR TOP[]=
{
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x06,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0E,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x38,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
} ;
uCHAR UP[]={//32*32
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xFF,0xFF,0xFF,0xEF,0xFF,
0xFF,0xFF,0xC7,0xFF,0xFF,0xFF,0xC7,0xFF,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,0xC7,0xFF,
0xFF,0xFF,0xB7,0xFF,0xFF,0xFD,0x93,0xFF,0xFF,0xFD,0x93,0xFF,0xFF,0xF5,0x0B,0xFF,
0xFF,0xD4,0x83,0xFF,0xFF,0x94,0x83,0xFF,0xFF,0x96,0x83,0xFF,0xFF,0x9B,0x83,0xFF,
0xFF,0xAC,0x43,0xFF,0xFF,0xB0,0x03,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0x80,0x03,0xFF,
0xFF,0x80,0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0xC0,0x0F,0xFF,0xFF,0xC0,0x0F,0xFF,
0xFF,0xE0,0x1F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xF0,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
uCHAR DOWN[]={//32*32
    0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x0F,0xFF,0xFF,0xFC,0x0F,0xFF,0xFF,0xF8,0x07,0xFF,
0xFF,0xF0,0x03,0xFF,0xFF,0xF0,0x03,0xFF,0xFF,0xE0,0x01,0xFF,0xFF,0xE0,0x01,0xFF,
0xFF,0xC0,0x01,0xFF,0xFF,0xC0,0x01,0xFF,0xFF,0xC0,0x0D,0xFF,0xFF,0xC2,0x35,0xFF,
0xFF,0xC1,0xD9,0xFF,0xFF,0xC1,0x69,0xFF,0xFF,0xC1,0x29,0xFF,0xFF,0xC1,0x2B,0xFF,
0xFF,0xD0,0xAF,0xFF,0xFF,0xC9,0xBF,0xFF,0xFF,0xC9,0xBF,0xFF,0xFF,0xED,0xFF,0xFF,
0xFF,0xE3,0xFF,0xFF,0xFF,0xE7,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,0xFF,0xE3,0xFF,0xFF,
0xFF,0xF7,0xFF,0xFF,0xFF,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
};
uCHAR COM[]={//2个 COM宽96*24
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x00,0x00,
0x00,0x04,0x10,0x00,0x00,0x00,0x00,0x06,0x80,0x00,0x00,0x00,0x00,0x02,0x20,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x07,0x60,0x00,0x00,0x00,
0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x00,0x01,0x40,0x00,
0x00,0x00,0x00,0x0E,0x38,0x00,0x00,0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x00,0x1C,
0x3C,0x00,0x00,0x00,0x00,0x02,0x20,0x00,0x00,0x00,0x00,0x3C,0x1F,0xFF,0xFF,0xFF,
0xFF,0xFE,0x3F,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFC,0x1F,0xFF,
0xFF,0xFF,0xFF,0xE0,0x01,0xFF,0xFF,0xFF,0xFF,0xF8,0x0F,0xFF,0xFF,0xFF,0xFF,0x80,
   
};
uCHAR //1组单体电压96×24
{
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x60,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x0E,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,
0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x1F,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xE0,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
    
}    

//72×24  报警里路
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x06,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,
0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x60,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x0E,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x38,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x1F,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x01,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,
//-------------------设置系统日期---------------------------
void Set_Date(uCHAR * DateTime)
{
  SYSDATETIME[0]=DateTime[0] ;  //年  
  SYSDATETIME[1]=DateTime[1] ; //月         
  SYSDATETIME[2]=DateTime[2] ;   //日  
}
//-------------------设置系统时间---------------------------
void Set_Time(uCHAR * DateTime)
{
  SYSDATETIME[3]=DateTime[0] ;  //年  
  SYSDATETIME[4]=DateTime[1] ; //月         
  SYSDATETIME[5]=DateTime[2] ;   //日  
}
//----------------设置系统日期和时间------------------------
void Set_DateTime(uCHAR * DateTime)
{
  SYSDATETIME[0]=DateTime[0] ;  //年  
  SYSDATETIME[1]=DateTime[1] ; //月         
  SYSDATETIME[2]=DateTime[2] ;   //日  
  SYSDATETIME[3]=DateTime[3] ;  //年  
  SYSDATETIME[4]=DateTime[4] ; //月         
  SYSDATETIME[5]=DateTime[5] ;   //日  
  
}
//----------------读取系统日期和时间------------------------
struct DATETIME  Get_DateTime()
{    
  struct DATETIME  NewDateTime; 
  NewDateTime.System_Year=SYSDATETIME[0];  //年    
  if(SYSDATETIME[0]>90)  SYSDATETIME[0]=90;
  if(SYSDATETIME[0]<=0)   SYSDATETIME[0]=0;

  NewDateTime.System_Month=SYSDATETIME[1];  //月
  if(SYSDATETIME[1]>12)  SYSDATETIME[0]=12;
  if(SYSDATETIME[1]<=0)   SYSDATETIME[0]=0;

  NewDateTime.System_Day=SYSDATETIME[2];    //日
  if(SYSDATETIME[2]>31)  SYSDATETIME[0]=31;
  if(SYSDATETIME[2]<=0)   SYSDATETIME[0]=0;

  NewDateTime.System_Hour=SYSDATETIME[3];   //时
  if(SYSDATETIME[3]>23)  SYSDATETIME[0]=23;
  if(SYSDATETIME[3]<=0)   SYSDATETIME[0]=0;

  NewDateTime.System_Minute=SYSDATETIME[4]; //分
  if(SYSDATETIME[4]>59)  SYSDATETIME[0]=59;
  if(SYSDATETIME[4]<=0)   SYSDATETIME[0]=0;

  NewDateTime.System_Second=SYSDATETIME[5]; //秒
  if(SYSDATETIME[5]>59)  SYSDATETIME[0]=59;
  if(SYSDATETIME[5]<=0)   SYSDATETIME[0]=0;

  return NewDateTime;
}
//-----------------将时间格式转换为字符串----------------------
void ChangeDateTimeToStr(char * String,struct DATETIME NewDateTime)
{
  char TempString[32]=" ";
  GetString_FromInt(NewDateTime.System_Year,TempString);
  strcpy(String,TempString);
  strcat(String," ");
  GetString_FromInt(NewDateTime.System_Month,TempString);
  if(NewDateTime.System_Month<10) 
    strcat(String,"0");
  strcat(String,TempString);
  strcat(String," ");
  GetString_FromInt(NewDateTime.System_Day,TempString);
  if(NewDateTime.System_Day<10) 
    strcat(String,"0");
  strcat(String,TempString);
  strcat(String," ");

  GetString_FromInt(NewDateTime.System_Hour,TempString);
  if(NewDateTime.System_Hour<10) 
    strcat(String,"0");
  strcpy(String,TempString);
  strcat(String,":");
  GetString_FromInt(NewDateTime.System_Minute,TempString);
  if(NewDateTime.System_Minute<10) 
    strcat(String,"0");
  strcat(String,TempString);
  strcat(String,":");
  GetString_FromInt(NewDateTime.System_Second,TempString);
  if(NewDateTime.System_Second<10) 
    strcat(String,"0");
  strcat(String,TempString);
}
//--------------产生一个报警记录-------------------
void Create_Alarm(uINT Index,uCHAR Type)
{
  uCHAR i=0;
  if(Alarm_Content[Index].Is_Cancel==0) //没有该报警
  {
    struct DATETIME CurDateTime;
    CurDateTime=Get_DateTime();
    if(Index<100)
    {
      //----------------填充报警内容-----------------
      Alarm_Content[Index].Alarm_Time=CurDateTime;
      Alarm_Content[Index].Alarm_Index=Index;
      Alarm_Content[Index].Is_Cancel=1;
      //----------------填充报警显示索引-------------  
      Alarm_Display[Alarm_Count]=Index;
      if(Alarm_Count<100) Alarm_Count++;
    }  
    Write_ChargeRec(0,Index,0);
    //--------------产生报警号推出报警窗口-----------
    //if 系统允许弹出报警窗口
    //    弹出报警窗口
    //    并刷新报警信息
    //if 告警声音设定时间不为零
    // {
    //产生声音报警
    //}
    //else
    //{
    //关掉声音报警  
    //}
    //---------------开出处理------------------------
    if(Type<6)
    {
     // Set_SWITCHOUT_Type(Type,1);
      Alarm_Type[Type]++;
    } 
    //-------------总出口报警------------------------------
    for(i=0;i<6;i++)
    {
     // if(Alarm_Type[i])
     //  Set_SWITCHOUT_Type(6,1); 
    }     
  }   
}
//--------------------------取消告警------------------------------
void Cancel_Alarm(uINT Index,uCHAR Type)
{
  uCHAR i=0;
  uCHAR bFlag=0;
  uCHAR Temp_Count=0;
  uCHAR bCount=0;
  if(Alarm_Content[Index].Is_Cancel==1)//有该报警
  {
    if(Index<100)
    {
      //----------------删除报警内容-----------------
      Alarm_Content[Index].Is_Cancel=0;
      //----------------取消报警显示索引-------------  
      if(Alarm_Count>0)
      {
 	    for(i=0;i<Alarm_Count;i++)
	    {
	      if(Alarm_Display[i]==Index)
		  {
	        bFlag=1;
	        Temp_Count=i;
	        break;
		  }
		}
	  }
	  if(bFlag==1)
	  {
	    for(i=Temp_Count+1;i<Alarm_Count;i++)
		{
	      Alarm_Display[i-1]=Alarm_Display[i];
		}
        Alarm_Count--;
	  }    
      //------------马上把报警库写入文件---------------
     // Write_ChargeRec(0,Index,1);
      //--------------产生报警号推出报警窗口-----------
      // if 系统允许弹出报警窗口
      //   弹出报警窗口
      //   并刷新报警信息
      // if //告警声音设定时间不为零
      //{
	  //产生声音报警
      //}
      // else
      // {
      //关掉声音报警  
      // }
      //---------------开出处理------------------------
      if(Type<6)
      {
        if(Alarm_Type[Type]==0)
        {
         //  Set_SWITCHOUT_Type(Type,0);
        }   
      } 
      //-------------总出口报警------------------------------
      for(i=0;i<6;i++)
      {
        if(Alarm_Type[i]==0)
           bCount++;
      }             
      //if(bCount==6)
      //   Set_SWITCHOUT_Type(6,0); 
    }  
  }   
}
//----------比较两个时间是否一致----------------------------
uCHAR DateTimeCmp(struct DATETIME Date_Time1,struct DATETIME Date_Time2)
{
  uCHAR bFlag=0;
  if(Date_Time1.System_Year==Date_Time2.System_Year) 
     if(Date_Time1.System_Month==Date_Time2.System_Month)        
        if(Date_Time1.System_Day==Date_Time2.System_Day)
           if(Date_Time1.System_Hour==Date_Time2.System_Hour)
               if(Date_Time1.System_Minute==Date_Time2.System_Minute)
                  if(Date_Time1.System_Second==Date_Time2.System_Second) 
                     bFlag=1;
   return bFlag;
}

//---------把压缩BCD转化为浮点数,再乘上比率Ratio------------
sFLOAT BCD_TO_HEX(uCHAR Data,sFLOAT Ratio)
{
   sFLOAT ReturnValue;
   uCHAR Temp;
   Temp=Data;
   Temp=Temp&0x0f;//屏蔽高四位
   ReturnValue=Temp;
   if(ReturnValue>9) ReturnValue=9;
   Temp=Data&0xf0;//屏蔽低四位;
   Temp=Temp>>4;//右移四位
   if(Temp>9) Temp=9;
   ReturnValue+=Temp*10;
   ReturnValue*=Ratio;
   return ReturnValue;
}
//-----------将三个字节 0x04 0x57,0x19转化为 0.5719*(10^4)----------
sFLOAT Three_Decode_(uCHAR Ratio,uCHAR Byte1,uCHAR Byte2)
{
  uCHAR TempChar,i;
  sFLOAT TempFloat;
  TempChar=Ratio;
  TempChar=TempChar&0x0f;//屏蔽高四位
  if(TempChar>4)TempChar=4;
  TempFloat=1;
  for(i=0;i<TempChar;i++) TempFloat*=10;//获得系数
  TempFloat=TempFloat*(BCD_TO_HEX(Byte1,0.01)+BCD_TO_HEX(Byte2,0.0001));
  if(TempFloat>=10000) TempFloat=9999;
  return TempFloat;
}
//----------将整数4957转换为0x49  0x57 两个字节------------------
void INT_TO_BCD(uINT Value,uCHAR Buffer[2])
{
  uINT TempInt,Div,i;
  uCHAR TempChar;
  if(Value<=0) Value=0;
  else Value=9999;
  for(i=0;i<2;i++)

⌨️ 快捷键说明

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