📄 toucher2._c
字号:
// cha_print(0x1c,0x26); //设置汉字打印方式
temp=(uint)(a[9]);
temp=(temp<<8)+a[10]; //报警浓度
print1(temp); //以格式1打印
unit_judge(); //浓度单位判断
write_print(0x0d); //换行
cha_print(0xb1,0xa8); //报
cha_print(0xbe,0xaf); //警
cha_print(0xc5,0xa8); //浓
cha_print(0xb6,0xc8); //度
write_print(0x3a); //:
write_print(0x0d); //换行
// cha_print(0x1b,0x36); //选择字符集1
//报警类型
cha_print(0xb1,0xa8); //报
cha_print(0xbe,0xaf); //警
cha_print(0xc0,0xe0); //类
cha_print(0xd0,0xcd); //型
write_print(0x3a); //:
write_print(0x20); //空格
if(a[8]==0x01)
{
cha_print(0xb5,0xcd); //低
cha_print(0xb1,0xa8); //报
}
else if(a[8]==0x02)
{
cha_print(0xb8,0xdf); //高
cha_print(0xb1,0xa8); //报
}
write_print(0x0d); //换行
//报警时间
write_print(0x32); //2
write_print(0x30); //0
date_print(a[2]); //年
write_print(0x2f); //"/"
date_print(a[3]); //月
write_print(0x2f); //"/"
date_print(a[4]); //日
write_print(0x20); //" "
date_print(a[5]); //时
write_print(0x3a); //":"
date_print(a[6]); //分
write_print(0x0d); //换行
// cha_print(0x1c,0x26); //设置汉字打印方式
cha_print(0xb1,0xa8); //报
cha_print(0xbe,0xaf); //警
cha_print(0xca,0xb1); //时
cha_print(0xbc,0xe4); //间
// cha_print(0x1b,0x36); //选择字符集1
write_print(0x3a); //:
write_print(0x0d); //换行
//探测器编号
cha_print(0xcc,0xbd); //探
cha_print(0xb2,0xe2); //测
cha_print(0xc6,0xf7); //器
cha_print(0xb1,0xe0); //编
cha_print(0xba,0xc5); //号
write_print(0x3a); //:
write_print(0x20); //空格
num_print(a[1]); //打印编号
write_print(0x0d); //换行
//转换器编号
cha_print(0xd7,0xaa); //转
cha_print(0xbb,0xbb); //换
cha_print(0xc6,0xf7); //器
cha_print(0xb1,0xe0); //编
cha_print(0xba,0xc5); //号
write_print(0x3a); //:
write_print(0x20); //空格
num_print(a[0]); //打印编号
write_print(0x0d); //换行
}
}
//标题
kong_print(0x04);
cha_print(0xb1,0xa8); //报
cha_print(0xbe,0xaf); //警
cha_print(0xbc,0xc7); //记
cha_print(0xc2,0xbc); //录
write_print(0x0d); //换行
cha_print(0x1b,0x4a); //走纸48点
write_print(0x30);
}
/*******************故障记录打印*********************/
void fault_print(void)
{
uchar a[8];
uchar kkk=0;
uchar tt=0;
uchar fault_buff[11];
uint temp1=0;
temp1=guzhangaddr+8; //地址加8
if(temp1==0x7c00) //到头
temp1=0x6800 ; //调整
int_prt();
for(kkk=0;kkk<8;kkk++)
{
wdr();
fault_buff[1]= (uchar)(((temp1&0xff00)>>8)) ; //FM24C256片内地址高位字节
fault_buff[2]= (uchar)(temp1&0x00ff) ; //FM24C256片内地址低位字节
EIMSK&=~(1<<INT6);
//do
fhz=I2cRead( SLA2_W,SLA2_R , fault_buff[1],fault_buff[2],8);
//while(fhz==1);
//EIMSK|=(1<<INT6);
for(tt=0;tt<8;tt++)
a[tt]=i2c_rd_buff[tt] ;
EIMSK|=(1<<INT6);
if(temp1==0x7bf8) //到头
temp1=0x6800 ; //调整
else
temp1=temp1+8 ; //调整
if(a[0]==0xff) //如果外部E2中没有数,无操作
;
else
{
//故障类型
kong_print(0x02);
switch(a[7])
{
case 1:
{
cha_print(0xca,0xd0); //市
cha_print(0xb5,0xe7); //电
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
}
break;
case 2:
{
cha_print(0xb1,0xb8); //备
cha_print(0xb5,0xe7); //电
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
}
break;
case 3:
{
cha_print(0xb3,0xe4); //充
cha_print(0xb5,0xe7); //电
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
}
break;
case 4:
{
cha_print(0xcd,0xa8); //通
cha_print(0xd1,0xb6); //讯
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
}
break;
case 5:
{
cha_print(0xb4,0xab); //传
cha_print(0xb8,0xd0); //感
cha_print(0xc6,0xf7); //器
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
}
break;
case 6:
{
cha_print(0xc1,0xaa); //联
cha_print(0xb6,0xaf); //动
cha_print(0xc4,0x76); //设
cha_print(0xbf,0x77); //备
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
}
break;
}
write_print(0x0d); //换行
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
cha_print(0xc0,0xe0); //类
cha_print(0xd0,0xcd); //型
write_print(0x3a); //:
write_print(0x0d); //换行
//故障时间
write_print(0x32); //2
write_print(0x30); //0
date_print(a[2]); //年
write_print(0x2f); //"/"
date_print(a[3]); //月
write_print(0x2f); //"/"
date_print(a[4]); //日
write_print(0x20); //" "
date_print(a[5]); //时
write_print(0x3a); //":"
date_print(a[6]); //分
write_print(0x0d); //换行
// cha_print(0x1c,0x26); //设置汉字打印方式
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
cha_print(0xca,0xb1); //时
cha_print(0xbc,0xe4); //间
// cha_print(0x1b,0x36); //选择字符集1
write_print(0x3a); //:
write_print(0x0d); //换行
//探测器编号
cha_print(0xcc,0xbd); //探
cha_print(0xb2,0xe2); //测
cha_print(0xc6,0xf7); //器
cha_print(0xb1,0xe0); //编
cha_print(0xba,0xc5); //号
write_print(0x3a); //:
write_print(0x20); //空格
num_print(a[1]); //打印编号
write_print(0x0d); //换行
//转换器编号
cha_print(0xd7,0xaa); //转
cha_print(0xbb,0xbb); //换
cha_print(0xc6,0xf7); //器
cha_print(0xb1,0xe0); //编
cha_print(0xba,0xc5); //号
write_print(0x3a); //:
write_print(0x20); //空格
num_print(a[0]); //打印编号
write_print(0x0d); //换行
}
}
//标题
kong_print(0x04);
cha_print(0xb9,0xca); //故
cha_print(0xd5,0xcf); //障
cha_print(0xbc,0xc7); //记
cha_print(0xc2,0xbc); //录
write_print(0x0d); //换行
cha_print(0x1b,0x4a); //走纸48点
write_print(0x30);
}
/********************开关机记录打印**********************/
void opclo_print(void)
{
uchar kkk=0;
uchar a[16];
uchar c=0;
uchar onoffbuff[11]; //从外部E2取开关机记录
uint temp1=0;
uchar temp=0;
temp=num_open-1;
temp1=addre2+16;
if(temp1==0x0400) //到头
temp1=0x0000 ; //调整
int_prt();
for(kkk=0;kkk<8;kkk++)
{
wdr();
onoffbuff[1]= (uchar)((temp1>>8)&0x00ff ) ; //FM24C256片内地址高位字节
onoffbuff[2]= (uchar)(temp1&0x00ff) ; //FM24C256片内地址低位字节
EIMSK&=~(1<<INT6);
//do
fhz=I2cRead( SLA2_W,SLA2_R , onoffbuff[1],onoffbuff[2],8);
//while(fhz==1);
//;
for(c=0;c<8;c++)
a[c]=i2c_rd_buff[c] ; //本次开机
EIMSK|=(1<<INT6);
if(temp1==0x0000) //到头
temp1=0x03f8 ; //调整到关机
else
temp1=temp1-8 ; //调整到关机
onoffbuff[1]= (uchar)((temp1>>8)&0x00ff ) ; //FM24C256片内地址高位字节
onoffbuff[2]= (uchar)(temp1&0x00ff) ; //FM24C256片内地址低位字节
EIMSK&=~(1<<INT6);
//do
fhz=I2cRead( SLA2_W,SLA2_R , onoffbuff[1],onoffbuff[2],8);
//while(fhz==1);
for(c=0;c<8;c++)
a[c+8]=i2c_rd_buff[c] ; //本次开机
EIMSK|=(1<<INT6);
if(temp1>=0x03e8)
temp1=0x0010+24-0x0400;
else
temp1=temp1+24 ; //调整到开机
//addre2lo= (uchar) (addre2&0x00ff) ; //FM24C256片内地址低位字节
// addre2hi= (uchar) ((addre2>>8)&0x00ff ) ; //FM24C256片内地址高位字节
//时间数组位置调整
for(c=3;c<6;c++)
a[c]=a[c+1];
for(c=11;c<14;c++)
a[c]=a[c+1];
if(a[8]==0xff)
;
else
{
//关机时间
write_print(0x32); //2
write_print(0x30); //0
date_print(a[8]); //年
write_print(0x2f); //"/"
date_print(a[9]); //月
write_print(0x2f); //"/"
date_print(a[10]); //日
write_print(0x2f); //" "
date_print(a[11]); //时
write_print(0x3a); //":"
date_print(a[12]); //分
write_print(0x0d); //换行
// cha_print(0x1c,0x26); //设置汉字打印方式
cha_print(0xb9,0xd8); //关
cha_print(0xbb,0xfa); //机
cha_print(0xca,0xb1); //时
cha_print(0xbc,0xe4); //间
// cha_print(0x1b,0x36); //选择字符集1
write_print(0x3a); //:
write_print(0x0d); //换行
}
if(a[0]==0xff)
;
else
{
//开机时间
write_print(0x32); //2
write_print(0x30); //0
date_print(a[0]); //年
write_print(0x2f); //"/"
date_print(a[1]); //月
write_print(0x2f); //"/"
date_print(a[2]); //日
write_print(0x2f); //" "
date_print(a[3]); //时
write_print(0x3a); //":"
date_print(a[4]); //分
write_print(0x0d); //换行
// cha_print(0x1c,0x26); //设置汉字打印方式
cha_print(0xbf,0xaa); //开
cha_print(0xbb,0xfa); //机
cha_print(0xca,0xb1); //时
cha_print(0xbc,0xe4); //间
// cha_print(0x1b,0x36); //选择字符集1
write_print(0x3a); //:
write_print(0x0d); //换行
//编号
cha_print(0xb1,0xe0); //编
cha_print(0xba,0xc5); //号
write_print(0x3a); //:
write_print(0x20); //空格
num_print(temp); //打印编号
write_print(0x0d); //换行
temp--;
}
}
//标题
write_print(0x20); //空格
cha_print(0xbf,0xaa); //开
cha_print(0xb9,0xd8); //关
cha_print(0xbb,0xfa); //机
cha_print(0xbc,0xc7); //记
cha_print(0xc2,0xbc); //录
write_print(0x0d); //换行
cha_print(0x1b,0x4a); //走纸48点
write_print(0x30);
}
/*********************液晶指令集*******************************/
void zong(uchar temp) //综合设置
{
usart_transmit_char(0x1d);
usart_transmit_char(0x77);
usart_transmit_char(temp);
}
void clear(uchar temp) //清屏
{
usart_transmit_char(0x1b);
usart_transmit_char(0x51);
usart_transmit_char(temp);
}
void colour(uchar temp1,uchar temp2,uchar temp3) //设置字符颜色
{
usart_transmit_char(0x1D);
usart_transmit_char(0x75);
usart_transmit_char(temp1);
usart_transmit_char(temp2);
usart_transmit_char(temp3);
}
void sound(uchar temp1) //蜂鸣器
{
usart_transmit_char(0x1D);
usart_transmit_char(0x6c);
usart_transmit_char(temp1);
}
void xtzb(uchar temp1,uchar temp2,uchar temp3,uchar temp4) //系统坐标
{
wdr();
usart_transmit_char(0x1b); //数字
usart_transmit_char(0x7a); //1b 7a X1h X1L Y1h Y1L设置系统坐标
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -