HJ212-2005实现-001(污染源定义)

//这些代码都是实际产品里面的部分内容

//硬件平台为MSP430单片机

//2007年-2009年经过无数次版本迭代

/*

该代码片段展示了基于MSP430单片机的实际产品开发中的部分内容,主要用于环境监测数据的处理与传输。代码包含了多个功能模块,如字符串比较、数据读取与写入、LED控制等。通过定义常量数组,代码实现了对多种污染物(如噪声、烟尘、二氧化硫等)及其相关参数的编码与处理。此外,代码还涉及通信协议的处理,包括登录、数据包构建与发送等功能。整体结构清晰,功能模块化,适用于环境监测系统的开发与维护。

*/

#include "cpu.h"
#include "types.h"
#include "const.h"
#include "var.h"
#include "sub.h"
#include <ctype.h>
#include <stdio.h>
#include <string.h>


#define LOGIN_TMR       900


void sio1_led_on(void);

INT16U  cmp_str(INT8U *buf,INT8U *dest, INT16U lenth );
INT16U  read_int ( INT8U *buf,INT8U lenth );
INT16U  read_hex ( INT8U *buf,INT8U lenth );
INT16U  write_int (INT8U *buf,INT16U tmp_data );
INT16U  write_int5(INT8U *buf,INT16U tmp_data );
INT16U write_int3 (INT8U *buf,INT16U tmp_data );
INT16U  write_lenth (INT8U *buf,INT16U tmp_data );
INT16U  write_hex (INT8U *buf,INT16U tmp_data );
INT8U at45db_rd (INT16U page_adr,\
                 INT16U in_page_adr,\
                 INT8U *buf,\
                 INT16U lenth );

const INT8U *syscode_tab[]=
{
  "ST=21;",
  "ST=22;",
  "ST=23;",
  "ST=31;",
  "ST=32;",
  "ST=33;",
  "ST=34;",
  "ST=35;",
  "ST=36;",
  "ST=37;",
  "ST=38;",
  "ST=41;",
  "ST=91;"
};
const INT8U *polution_tab[]=
{
 "B03",  //0  噪声  单位 DB  N3.1
 "L10",  //1  噪声  单位 DB  N3.1
 "L5",   //2  噪声  单位 DB  N3.1
 "L50",  //3  噪声  单位 DB  N3.1
 "L90",  //4  噪声  单位 DB  N3.1
 "L95",  //5  噪声  单位 DB  N3.1
 "Ld",   //6  噪声  单位 DB  N3.1
 "Ldn",  //7  噪声  单位 DB  N3.1
 "Leq",  //8  噪声  单位 DB  N3.1
 "LMn",  //9  噪声  单位 DB  N3.1
 "LMx",  //10 噪声  单位 DB  N3.1
 "Ln",   //11 噪声  单位 DB  N3.1
 //---------------------------
 "S01",  //12  O2含量   废气  %  N3.1
 "S02",  //13  烟气流速 米/秒    N5.2
 "S03",  //14  烟气温度 摄氏度   N3.1
 "S04",  //15  烟气动压 MPa      N4.2
 "S05",  //16  烟气湿度  %       N3.1
 "S06",  //17  制冷温度  摄氏度   N3.1
 "S07",  //18  烟道截面积  M2     N4.2
 "S08",  //19   烟气压力   MPa      N4.2
 "B02",  //20
 //---------------------------
 "01",   //21   烟尘      mg/M3    N5.2
 "02",   //22   二氧化硫  mg/M3    N5.2
 "03",   //23   氮氧化物  mg/M3    N5.3
 "04",   //24   一氧化碳  mg/M3    N2.3
 "05",   //25   硫化氢    mg/M3    N3.2
 "06",   //26   氟化物    mg/M3    N2.3
 "07",   //27   氰化物(含氰化氢) mg/M3   N3.3
 "08",   //28   氯化氢    mg/M3    N4.3
 "09",   //29   沥青烟    mg/M3    N4.3
 "10",   //30   氨        mg/M3    N4.3
 "11",   //31   氯气      mg/M3    N4.3
 "12",   //32   二硫化碳  mg/M3    N4.3
 "13",   //33   硫醇      mg/M3    N4.3
 "14",   //34   硫酸雾    mg/M3    N4.3
 "15",   //35   铬酸雾    mg/M3    N2.4
 "16",   //36   苯系物    mg/M3    N4.2
 "17",   //37   甲苯      mg/M3    N4.2
 "18",   //38   二甲苯    mg/M3    N4.2
 "19",   //39   甲醛      mg/M3    N3.3
 "20",   //40   苯并(a)芘 mg/M3    N3.6
 "21",   //41   苯氨类    mg/M3    N4.3
 "22",   //42   硝基苯类  mg/M3    N3.4
 "23",   //43   氯苯类    mg/M3    N4.3
 "24",   //44   光气      mg/M3    N3.3
 "25",   //45   碳氢化合物(含非甲烷总烃) mg/M3   N5.2
 "26",   //46   乙醛      mg/M3    N4.3
 "27",   //47   酚类      mg/M3    N3.3
 "28",   //48   甲醇      mg/M3    N5.2
 "29",   //49   氯乙烯    mg/M3    N4.3
 "30",   //50   二氧化碳  mg/M3    N4.3
 //-------------------------------------------------
 "31",   //51   汞及其化合物 mg/M3   N4.4
 "32",   //52   铅及其化合物 mg/M3   N2.4
 "33",   //53   镉及其化合物 mg/M3   N3.4
 "34",   //54   锡及其化合物 mg/M3   N4.3
 "35",   //55   镍及其化合物 mg/M3   N3.3
 "36",   //56   铍及其化合物 mg/M3   N4.4
 "37",   //57   林格曼黑度           N1
 "99",   //58   其他污染物
 //---------------------------------------------------
 "B01",  //59   污水
 "001",  //60   PH值                 N2.1
 "002",  //61   色度       色度单位  N5.1
 "003",  //62   悬浮物     mg/l     N5.1
 "010",  //63   生化需氧量(BOD5)   mg/l  N5.1
 "011",  //64   化学需氧量(CODcr)  mg/l  N6.1
 "015",  //65   总有机碳     mg/l    N3.2
 "020",  //66   总汞         mg/l    N2.3
 "021",  //67   烷基汞       mg/l    N2.1
 "022",  //68   总镉         mg/l    N2.2
 "023",  //69   总铬         mg/l    N3.2
 "024",  //70   六价铬   mg/l    N2.2
 "025",  //71   三价铬   mg/l    N3.2
 "026",  //72   总砷     mg/l    N2.2
 "027",  //73   总铅     mg/l    N3.2
 "028",  //74   总镍     mg/l    N3.2
 "029",  //75   总铜     mg/l    N3.2
 "030",  //76   总锌     mg/l    N3.2
 "031",  //77   总锰     mg/l    N3.2
 "032",  //78   总铁     mg/l    N3.2
 "033",  //79   总银     mg/l    N2.2
 "034",  //80   总铍     mg/l    N2.3
 "035",  //81   总硒     mg/l    N2.2
 "036",  //82   锡       mg/l    N3.6
 "037",  //83   硼       mg/l    N3.6
 "038",  //84   钼       mg/l    N3.6
 "039",  //85   钡       mg/l    N3.6
 "040",  //86   钴       mg/l    N3.6
 "041",  //87   铊       mg/l    N3.6
 "060",  //88   氨氮     mg/l    N2.3
 "061",  //89   有机氮   mg/l    N3.2
 "065",  //90   总氮     mg/l    N3.2
 "080",  //91   石油类   mg/l    N3.2
 "101",  //92   总磷     mg/l    N3.2

 "P1",   //93   模拟量1
 "P2",   //94   模拟量2
 "P3",   //95   模拟量3
 "P4",   //96   模拟量4
 "P5",   //97   模拟量5
 "P6",   //98   模拟量6
 "P7",   //99   模拟量7
 "P8",   //100   模拟量8
 "P9"    //101   模拟量 9


};
const INT8U *ext_tab[]=
{
  "-Rtd",
  "-Min",
  "-Avg",
  "-MAx",
  "-ZsRtd",
  "-ZsMax",
  "-ZsAvg",
  "-ZsMax",
  "-Flag",
  "-Cou",
  "SBx-RS",
  "SBx-RT",
  "-Ala",
  "-UpValue",
  "-LowValue",
  "-Data",
  "-DayData",
  "-NightData",
  "-Data"


};

const INT8U *CMD_TAB[]=
{
"ERR",   //0
"QN",    //1
"PNUM",   //2
"PNO",   //3
"ST",    //4
"CN",    //5
"PW",    //6
"MN",    //7
"CP",    //8
"QnRtn",  //9
"Logon",  //10
"ExxRtd",  //11
"RtdInterval",//12
"AlarmTime",  //13
"AlarmType", //14
"ReportTarget",  //15
"PolId",         //16
"BeginTime",     //17
"EndTime",       //18
"DataTime",      //19
"ReportTime",    //20
"DayStdValue",   //21
"NightStdValue",  //22
"Flag",           //23
"OverTime",       //24
"ReCount",        //25
"WarTime",        //26
"CTime",          //27
"NOEXIST"         //28
};


const INT8U mn_number[]=
{
  "MN=73510493500001;"
};
const  INT8U start[]=
{
  "##0000"
};
const INT8U log_on_pack1[]=
{
  "ST=91;CN=9021;"
};
const INT8U log_on_pack2[]=
{
  "Flag=1;CP=&&&&"
};


INT8U  pass_word[11]={"PW=123456;"};

struct {
        INT16U pack_lenth;
        INT8U  qn[21];
        INT16U  st_num;
        INT8U   st[7];
        INT8U  passwd[11];
        INT16U cn_num;
        INT16U flag;
        INT8U  *data;
       } hj212_cmd;

INT16U  hj212_avr_tmr,hj212_real_tmr;
INT16U  hj212_tmr;
INT16U  hj212_di_old;
INT16U  hj212_alt_tmr;
INT8U   hj212_send_state;
INT8U   hj212_logon_cnt;
INT16U  hj212_st_year,hj212_st_day,hj212_st_min;
INT16U  hj212_end_year,hj212_end_day,hj212_end_min;

INT16U tmp_pos, tmp_inpage_adr;
INT16U tmp_end_pos,tmp_end_padr;
INT16U pnum,pno;
void hj212_init( void)
{

  hj212_avr_tmr=  hld_reg[IEC_AVR_TMR];
  hj212_real_tmr =  hld_reg[IEC_REAL_TMR];
  hj212_tmr=60;
  hj212_di_old= di[1];
  hj212_di_old = hj212_di_old *256 +di[0];
  hj212_alt_tmr=0;
  hj212_send_state=0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值