📄 toucher2._c
字号:
x=x+0x40;
x2l=x;
x2h=x>>8;
x2h=x2h&0x03;
y=y+0x46;
yl=y;
yh=y>>8;
y=y+0x2d;
y2l=y;
y2h=y>>8;
y2h=y2h&0x03;
}
fdbs(0x04);
xh=0x00;
xl=0x00;
xl=0x60;
yh=0x00;
yl=0x76;
wdr();
for(i=0;i<4;i++)
{
xtzb(xh,xl,yh,yl);
xszf(0x34,0x81); //吸
xszf(0x34,0x82); //合
zhuanhuan();
x=x+0x70;
xl=x;
xh=x>>8;
xtzb(xh,xl,yh,yl);
xszf(0x34,0x83); //断
xszf(0x34,0x4b); //开
xh=0x00;
xl=0x60;
zhuanhuan();
y=y+0x46;
yl=y;
yh=y>>8;
}
/* xh=0xa1;
xl=0x20;
yh=0x04;
yl=0x68;
x2h=0x01;
x2l=0x50;
y2h=0x00;
y2l=0x95;
for(i=0;i<4;i++)
{
juxing(xh,xl,yh,yl,x2h,x2l,y2h,y2l); //4个矩形
zhuanhuan();
y=y+0x46;
yl=y;
yh=y>>8;
y=y+0x2d;
y2l=y;
y2h=y>>8;
y2h=y2h&0x03;
}*/
juxing(0xa1,0x20,0x04,0x68,0x01,0x50,0x00,0x95);
juxing(0xa1,0x20,0x04,0xae,0x01,0x50,0x00,0xdb); //4个矩形
juxing(0xa1,0x20,0x04,0xf4,0x01,0x50,0x01,0x21);
juxing(0xa1,0x20,0x05,0x3a,0x01,0x50,0x01,0x67);
xh=0x81;
xl=0x28;
yh=0xa0;
yl=0x76;
wdr();
for(i=0;i<4;i++)
{
xtzb(xh,xl,yh,yl);
if((cha_local&temp2)==0x00)
{
xszf(0x34,0x83); //断
xszf(0x34,0x4b); //开
}
else
{
xszf(0x34,0x81); //吸
xszf(0x34,0x82); //合
}
zhuanhuan();
y=y+0x46;
yl=y;
yh=y>>8;
temp2=temp2<<1;
}
button3();
}
/*********************修改地址界面*******************/
void jiemian10(void)
{
jiemian=10; //置界面标志
p1=0; //对应old_can数组
p2=0; //对应new_can数组
p3=0; //对应can数组
p4=0; //对应old_det数组
p5=0; //对应new_det数组
background(); //背景
xtzb(0x00,0x38,0x00,0x59);
fdbs(0x04);
xszf(0x34,0xe8); //修
xszf(0x34,0xe9); //改
xszf(0x34,0xd6); //转
xszf(0x34,0xd7); //换
xszf(0x34,0xd8); //器
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
xtzb(0x00,0xc8,0x00,0x7c);
xszf(0x34,0xea); //原
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
juxing(0xf1,0x08,0x04,0x79,0x01,0x58,0x00,0x8f);
X1H=0x01;
X1L=0x09;
Y1H=0x00;
Y1L=0x7b;
X2H=0x01;
X2L=0x09;
Y2H=0x00;
Y2L=0x8d;
gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L); //显示光标
xtzb(0x00,0xc8,0x00,0xc2);
xszf(0x34,0x73); //新
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
juxing(0xf1,0x08,0x04,0xbf,0x01,0x58,0x00,0xd5);
xtzb(0x00,0x38,0x00,0xe5);
xszf(0x34,0xe8); //修
xszf(0x34,0xe9); //改
xszf(0x34,0x85); //探
xszf(0x34,0x86); //测
xszf(0x34,0xd8); //器
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
xtzb(0x00,0xc8,0x01,0x08);
xszf(0x34,0xea); //原
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
juxing(0xf1,0x08,0x05,0x05,0x01,0x58,0x01,0x1b);
juxing(0xf1,0x78,0x05,0x05,0x01,0xc8,0x01,0x1b);
xtzb(0x00,0xc8,0x01,0x4e);
xszf(0x34,0x73); //新
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
juxing(0xf1,0x08,0x05,0x4b,0x01,0x58,0x01,0x61);
button2();
button3();
}
/********************实时报警故障界面******************/
void jiemian11()
{
jiemian=11;
regist=0;
realaddr=0x3000;
background(); //背景
bank7();
xtzb(0x00,0x08,0x00,0x59);
fdbs(0x04);
bank8();
kong(0x33,0x06);
bank8();
//real_disp();
}
/********************登录界面*************************/
void denglu1()
{
regist=1; //屏蔽菜单按钮
denglu=1; //置登陆标志
m3=0; //清密码
juxing(0xf0,0x80,0x04,0x8d,0x01,0x50,0x01,0x0d); //(0x80,0x8d,0x150,0x10d)
fdbs(0x04);
xtzb(0x00,0x90,0x00,0x97);
xszf(0x34,0x68); //请
xszf(0x34,0x69); //输
xszf(0x34,0x6a); //入
xszf(0x34,0x64); //登
xszf(0x34,0x65); //录
xszf(0x34,0x6b); //密
xszf(0x34,0x6c); //码
juxing(0xa0,0x90,0x00,0xb0,0x01,0x40,0x00,0xc6);
X1H=0x00;
X1L=0x91;
Y1H=0x00;
Y1L=0xb2;
X2H=0x00;
X2L=0x91;
Y2H=0x00;
Y2L=0xc4;
gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L); //关标显示
ltjx(0x88,0x90,0x04,0xd4,0x00,0xd0,0x01,0x06);
xtzb(0x80,0xa0,0x00,0xe5);
xszf(0x34,0x71); //确
xszf(0x34,0xb2); //定
ltjx(0x89,0x00,0x04,0xd4,0x01,0x40,0x01,0x06);
xtzb(0x81,0x10,0x00,0xe5);
xszf(0x34,0x66); //退
xszf(0x34,0x67); //出
}
void denglu2()
{
denglu=2; //置登陆标志
juxing(0xf0,0x60,0x04,0x8d,0x01,0x60,0x00,0xed); //(0x80,0x8d,0x150,0x10d)
fdbs(0x04);
xtzb(0x00,0x70,0x00,0x97);
xszf(0x34,0x6d); //您
xszf(0x34,0x6e); //的
xszf(0x34,0x6b); //密
xszf(0x34,0x6c); //码
xszf(0x34,0x6f); //不
xszf(0x34,0x36); //正
xszf(0x34,0x71); //确
xszf(0x33,0x2c);
xszf(0x34,0x68); //请
xszf(0x34,0x72); //重
xszf(0x34,0x73); //新
xszf(0x34,0x69); //输
xszf(0x34,0x6a); //入
ltjx(0x88,0xc0,0x04,0xb1,0x01,0x00,0x00,0xe3);
xtzb(0x80,0xd0,0x00,0xc2);
xszf(0x34,0x71); //确
xszf(0x34,0xb2); //定
}
/********************实时记录********************/
void real_disp()
{
uchar ii=0;
uchar kkk=0;
uchar temp1=0;
uchar temp2=0;
uchar temp3=0;
uchar temp4=0;
uint addr=0;
uchar rambuff[11];
xh=0xc0; //颜色 e0
xl=0x08;
yh=0xb0;
yl=0x7c;
addr=realaddr; //探测器和节点对应的RAM地址
EIMSK&=~(1<<INT6);
rambuff[1]=(uchar)(((addr&0xff00)>>8)); //高址
rambuff[2]=(uchar)(addr&0x00ff); //低址
//do
fhz=I2cRead(SLA1_W,SLA1_R, rambuff[1],rambuff[2],3); //读出
//while(fhz==1);
for(ii=0;ii<3;ii++)
rambuff[ii]=i2c_rd_buff[ii];
EIMSK|=(1<<INT6);
if(rambuff[0]==0xff)
realaddr=0x3000;
for(kkk=0;kkk<7;kkk++)
{
wdr();
if((kkk==1)||(kkk==3)||(kkk==5))
{
xh=0xe0; //换行颜色为红色
xl=0x08;
yh=yh&0x9f; //将字体背景设为蓝色
}
else if((kkk==0)||(kkk==2)||(kkk==4)||(kkk==6))
{
xh=0xc0; //换行颜色为黄色
xl=0x08;
yh=yh|0x20; //将字体背景设为青色
}
else
;
for(j=0;j<2;j++)
{
EIMSK&=~(1<<INT6);
addr=realaddr; //探测器和节点对应的RAM地址
rambuff[1]=(uchar)(((addr&0xff00)>>8)); //高址
rambuff[2]=(uchar)(addr&0x00ff); //低址
//do
fhz=I2cRead(SLA1_W,SLA1_R, rambuff[1],rambuff[2],3); //读出
//while(fhz==1);
for(ii=0;ii<3;ii++)
rambuff[ii]=i2c_rd_buff[ii];
//if(realaddr==0x3129) //到头
//realaddr=0x3000 ; //调整
//else
EIMSK|=(1<<INT6);
realaddr=realaddr+3 ; //调整
if(rambuff[0]==0xff)
{
xtzb(xh,xl,yh,yl); //不显示
kong(0x33,0x10);
zhuanhuan7(0xa0,0x00);
xtzb(xh,xl,yh,yl);
kong(0x33,0x06);
}
/*******************显示编号******************/
else
{
temp1=rambuff[0]/10+0x30; //转换器编号高位
temp2=rambuff[0]%10+0x30; //转换器编号低位
temp3=rambuff[1]/10+0x30; //探测器编号高位
temp4=rambuff[1]%10+0x30; //探测器编号低位
xtzb(xh,xl,yh,yl);
fdbs(0x14);
xszf(0x31,temp1);
xszf(0x31,temp2);
xszf(0x31,0x2f); //"/"
xszf(0x31,temp3);
xszf(0x31,temp4);
zhuanhuan7(0x40,0x00);
xtzb(xh,xl,yh,yl);
fdbs(0x04);
switch(rambuff[2])
{
case 0x01:
{
xszf(0x34,0x5a); //低
xszf(0x34,0x3f); //报
}
break;
case 0x02:
{
xszf(0x34,0x59); //高
xszf(0x34,0x3f); //报
}
break;
default :
{
xszf(0x33,0x20);
xszf(0x33,0x20);
}
break;
}
zhuanhuan7(0x60,0x00);
xtzb(xh,xl,yh,yl);
switch(rambuff[2])
{
case 0x03:
{
xszf(0x34,0x4e); //通
xszf(0x34,0x4f); //讯
xszf(0x34,0x3b); //故
xszf(0x34,0x3c); //障
kong(0x33,0x02);
}
break;
case 0x04:
{
xszf(0x34,0x50); //传
xszf(0x34,0x51); //感
xszf(0x34,0x52); //器
xszf(0x34,0x3b); //故
xszf(0x34,0x3c); //障
kong(0x33,0x01);
}
break;
case 0x05:
{
xszf(0x34,0x87); //联
xszf(0x34,0x88); //动
xszf(0x34,0x76); //设
xszf(0x34,0x77); //备
xszf(0x34,0x3b); //故
xszf(0x34,0x3c); //障
}
break;
case 7:
{
xszf(0x34,0xd6); //转
xszf(0x34,0xd7); //换
xszf(0x34,0xd8); //器
xszf(0x34,0x3b); //故
xszf(0x34,0x3c); //障
kong(0x33,0x01);
}
break;
default :
{
kong(0x33,0x06);
}
break;
}
}
zhuanhuan7(0xa0,0x00); //纵坐标不变,横坐标增加0x60
}
zhuanhuan();
y=y+0x23;
yl=y;
yh=(y>>8);
}
}
/****************显示数字功能函数***************/
void common4(uchar temp2)
{
gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L);
xtzb(X1H,X1L,Y1H,Y1L);
fdbs(0x14);
xszf(0x31,temp2);
zbzj();
gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L);
}
/*****************清除外部RAM实时记录******************/
void ram_erase()
{
uchar tempbuff[7];
uchar kkk=0;
uint temp=0x3000;
for(kkk=0;kkk<100;kkk++)
{
EIMSK&=~(1<<INT6) ; //时钟
tempbuff[0]= SLA1_W ;
tempbuff[1]= (uchar)((temp>>8)&0x00ff) ; //FM24C256片内地址高位字节
tempbuff[2]= (uchar)(temp&0x00ff) ; //FM24C256片内地址低位字节
tempbuff[3]= 0xff; //准备要写入的数据
tempbuff[4]= 0xff;
tempbuff[5]= 0xff;
tempbuff[6]= 0xff;
//do
fhz=I2cWrite(tempbuff,7);
//while(fhz==1);
temp=temp+4;
wdr(); //dog
}
EIMSK|=(1<<INT6) ; //时钟
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -