📄 toucher.c
字号:
xszf(0x34,0xff); //面
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x55);
xszf(0x31,0x29);
}
void choice2(void)
{
choice=2; //置选择标志
juxing(0xf0,0xa0,0x04,0x2d,0x01,0x20,0x00,0x93); //(48,45,176,109)
juxing(0xb0,0xa0,0x04,0x2d,0x01,0x20,0x00,0x5b);
juxing(0xb0,0xa0,0x04,0x65,0x01,0x20,0x00,0x93);
xtzb(0x00,0xaf,0x00,0x3d);
fdbs(0x04);
xszf(0x34,0x61); //管
xszf(0x34,0x62); //理
xszf(0x34,0x63); //员
xszf(0x34,0x64); //登
xszf(0x34,0x4a); //录
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x59);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0x75);
xszf(0x34,0x66); //退
xszf(0x34,0x67); //出
xszf(0x34,0x64); //登
xszf(0x34,0x4a); //录
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x5a);
xszf(0x31,0x29);
}
void choice3(void)
{
choice=3; //置选择标志
juxing(0xf0,0xa0,0x04,0x2d,0x01,0x20,0x00,0xfb); //(0x00,0x2d,0xa3,0xb7)
juxing(0xb0,0xa0,0x04,0x2d,0x01,0x20,0x00,0x5a);
juxing(0xb0,0xa0,0x04,0x63,0x01,0x20,0x00,0x8f);
juxing(0xb0,0xa0,0x04,0x99,0x01,0x20,0x00,0xc5);
juxing(0xb0,0xa0,0x04,0xcf,0x01,0x20,0x00,0xfb);
//juxing(0xb0,0xa0,0x04,0xcf,0x01,0x20,0x00,0xfb);
//juxing(0xb0,0xa0,0x05,0x05,0x01,0x20,0x01,0x31);
//juxing(0xb0,0xa0,0x05,0x3b,0x01,0x20,0x01,0x67);
xtzb(0x00,0xaf,0x00,0x3c);
fdbs(0x04);
xszf(0x34,0x61); //管
xszf(0x34,0x62); //理
xszf(0x34,0x63); //员
xszf(0x34,0x64); //登
xszf(0x34,0x4a); //录
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x59);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0x72);
xszf(0x34,0x66); //退
xszf(0x34,0x67); //出
xszf(0x34,0x64); //登
xszf(0x34,0x4a); //录
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x5a);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0xa8);
xszf(0x34,0x32); //系
xszf(0x34,0x33); //统
xszf(0x34,0x22); //设
xszf(0x34,0x23); //置
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x57);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0xde);
xszf(0x34,0x78); //自
xszf(0x34,0x88); //动
xszf(0x34,0x5c); //搜
xszf(0x34,0x8f); //索
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x58);
xszf(0x31,0x29);
}
void choice8(void)
{
choice=8; //置选择标志
juxing(0xf0,0xa0,0x04,0x2d,0x01,0x20,0x01,0x31); //(0x00,0x2d,0xa3,0xb7)
juxing(0xb0,0xa0,0x04,0x2d,0x01,0x20,0x00,0x5a);
juxing(0xb0,0xa0,0x04,0x63,0x01,0x20,0x00,0x8f);
juxing(0xb0,0xa0,0x04,0x99,0x01,0x20,0x00,0xc5);
juxing(0xb0,0xa0,0x04,0xcf,0x01,0x20,0x00,0xfb);
juxing(0xb0,0xa0,0x05,0x05,0x01,0x20,0x01,0x31);
//juxing(0xb0,0xa0,0x05,0x3b,0x01,0x20,0x01,0x67);
xtzb(0x00,0xaf,0x00,0x3c);
fdbs(0x04);
xszf(0x34,0x61); //管
xszf(0x34,0x62); //理
xszf(0x34,0x63); //员
xszf(0x34,0x64); //登
xszf(0x34,0x4a); //录
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x59);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0x72);
xszf(0x34,0x66); //退
xszf(0x34,0x67); //出
xszf(0x34,0x64); //登
xszf(0x34,0x4a); //录
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x5a);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0xa8);
xszf(0x34,0x32); //系
xszf(0x34,0x33); //统
xszf(0x34,0x22); //设
xszf(0x34,0x23); //置
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x57);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x00,0xde);
xszf(0x34,0x47); //节
xszf(0x34,0x48); //点
xszf(0x34,0x22); //设
xszf(0x34,0x23); //置
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x58);
xszf(0x31,0x29);
fdbs(0x04);
xtzb(0x00,0xaf,0x01,0x14);
xszf(0x34,0xe6); //地
xszf(0x34,0xe7); //址
xszf(0x34,0xe8); //修
xszf(0x34,0xe9); //改
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x55);
xszf(0x31,0x29);
/*
fdbs(0x04);
xtzb(0x00,0xaf,0x01,0x4a);
xszf(0x34,0xcb); //本
xszf(0x34,0xe6); //地
xszf(0x34,0x4c); //关
xszf(0x34,0x87); //联
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x56);
xszf(0x31,0x29);
*/
}
void choice4(void)
{
choice=4; //置选择标志
juxing(0xf1,0x40,0x04,0x2d,0x01,0xe0,0x01,0x67); //(80,45,288,225)
juxing(0xb1,0x40,0x04,0x2d,0x01,0xe0,0x00,0x59);
juxing(0xb1,0x40,0x04,0x63,0x01,0xe0,0x00,0x8f);
juxing(0xb1,0x40,0x04,0x99,0x01,0xe0,0x00,0xc5);
juxing(0xb1,0x40,0x04,0xcf,0x01,0xe0,0x00,0xfb);
juxing(0xb1,0x40,0x05,0x05,0x01,0xe0,0x01,0x31);
juxing(0xb1,0x40,0x05,0x3b,0x01,0xe0,0x01,0x67);
xtzb(0x01,0x4f,0x00,0x3c);
fdbs(0x04);
xszf(0x34,0x24); //控
xszf(0x34,0x25); //制
xszf(0x34,0x74); //外
xszf(0x34,0x75); //部
xszf(0x34,0x76); //设
xszf(0x34,0x77); //备
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x55);
xszf(0x31,0x29);
xtzb(0x01,0x4f,0x00,0x72);
fdbs(0x04);
xszf(0x34,0x78); //自
xszf(0x34,0x79); //检
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x56);
xszf(0x31,0x29);
xtzb(0x01,0x4f,0x00,0xa8);
fdbs(0x04);
xszf(0x34,0x7a); //复
xszf(0x34,0x7b); //位
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x57);
xszf(0x31,0x29);
xtzb(0x01,0x4f,0x00,0xde);
fdbs(0x04);
xszf(0x34,0x7c); //打
xszf(0x34,0x7d); //印
xszf(0x34,0x3f); //报
xszf(0x34,0x40); //警
xszf(0x34,0x7e); //信
xszf(0x34,0x7f); //息
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x58);
xszf(0x31,0x29);
xtzb(0x01,0x4f,0x01,0x14);
fdbs(0x04);
xszf(0x34,0x7c); //打
xszf(0x34,0x7d); //印
xszf(0x34,0x3b); //故
xszf(0x34,0x3c); //障
xszf(0x34,0x7e); //信
xszf(0x34,0x7f); //息
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x59);
xszf(0x31,0x29);
xtzb(0x01,0x4f,0x01,0x4a);
fdbs(0x04);
xszf(0x34,0x7c); //打
xszf(0x34,0x7d); //印
xszf(0x34,0x4b); //开
xszf(0x34,0x4c); //关
xszf(0x34,0x4d); //机
xszf(0x34,0x7e); //信
xszf(0x34,0x7f); //息
fdbs(0x14);
xszf(0x31,0x28);
xszf(0x31,0x5a);
xszf(0x31,0x29);
}
/********************自检函数********************/
void self_check(void)
{
uchar i=0;
uchar gal2,gal3,gal4;
gal2=gal2data; //保存原有状态
gal3=gal3data;
gal4=gal4data;
//点亮所有灯
GAL4ADDR=0x2a;
GAL3ADDR=0x10;
GAL2ADDR=0x4f;
//检查报警声音
delay_nms(3);
alarm(1);
juxing(0xc0,0x00,0x04,0x2d,0x02,0x80,0x01,0x66); //红色
for(i=0;i<6;i++)
{
delay_nms(500);
wdr();
}
alarm(2);
juxing(0xb0,0x00,0x04,0x2d,0x02,0x80,0x01,0x66); //青色
for(i=0;i<6;i++)
{
delay_nms(500);
wdr();
}
GAL4ADDR=0x15;
GAL3ADDR=0x8b;
alarm(3);
juxing(0x90,0x00,0x04,0x2d,0x02,0x80,0x01,0x67); //蓝色
for(i=0;i<6;i++)
{
delay_nms(500);
wdr();
}
PORTE&=~(1<<PE4); //消音
for(i=0;i<6;i++)
{
delay_nms(200);
wdr();
}
//恢复灯的原有状态
GAL4ADDR=gal4;
GAL3ADDR=gal3;
GAL2ADDR=gal2;
jiemian1();
}
/*******************复位函数*******************/
void reset(void)
{
uchar kkk=0,iii=0;
PORTE&=~(1<<PE4); //消音
//清故障报警灯
gal4data|=0x6a;
GAL4ADDR=gal4data;
gal3data|=0x15;
GAL3ADDR=gal3data;
gal2data|=0x30;
GAL2ADDR=gal2data;
cuo1=0;
cuo2=0;
cuo3=0;
cuo4=0;
first_alarm=0;
firstuse1=0; //判断电源故障是不是第一次进入用
firstuse2=0;
firstuse3=0;
firstuse4=0; //亏电
for(iii=0;iii<32;iii++)
{
for(kkk=0;kkk<4;kkk++)
{
hibao[iii][kkk]=0; //高报
lobao[iii][kkk]=0; //低报
detector[iii][kkk]=0; //传感器
communicate[iii][kkk]=0; //通讯
rxerror.di[iii][kkk]=0;
rxerror.tan[iii][kkk]=0;
rxerror.tong[iii][kkk]=0;
rxerror.gao[iii][kkk]=0;
}
}
for(kkk=0;kkk<10;kkk++)
{
shoubao[kkk]=0;
}
//for(kkk=0;kkk<32;kkk++)
// can_cuo_flag[kkk]=0;
error.bei=0;
error.shi=0;
error.cong=0;
//断开所有继电器
gal2data|=0x0f;
GAL2ADDR=gal2data;
cha_local&=0xf0;
flag_local=0 ;
}
/****************恢复出厂设置*****************/
void renew(void)
{
uchar erase_buff[35];
uint yyy=0;
uchar j1=0;
uint j2=0;
uchar ehi=0,elo=0; //循环擦外部E2PROM用
//灯灭
GAL4ADDR=0xff;
GAL3ADDR=0xff;
gal2data|=0x30;
GAL2ADDR=gal2data;
//擦除内部E2PROM
for(yyy=0;yyy<7;yyy++)
{
EEPROMwrite(yyy,0x00);
}
for(yyy=7;yyy<4096;yyy++)
EEPROM_write(yyy,0xff);
delay_nms(1);
//擦外部E2PROM
yyy=0;
for(j2=0;j2<1024;j2++)
{
ehi=(uchar)(((yyy&0xff00)>>8)); //高
elo=(uchar)(yyy&0x00ff); //低
erase_buff[0]= SLA2_W ;
erase_buff[1]=ehi ;
erase_buff[2]=elo ;
for(j1=3; j1<35;j1++)
erase_buff[j1] = 0xff; // 初始化外部E2PROM
EIMSK&=~(1<<INT6) ;
//do
fhz=I2cWrite(erase_buff,35);
//while(fhz==1);
EIMSK|=(1<<INT6) ;
yyy=yyy+32 ;
delay_nms(5);
wdr();
}
//加一个恢复完成字样
}
//实时时钟处理函数
void clock_deal(uchar temp) //时钟处理函数
{
uchar temp1=0;
uchar temp2=0;
fdbs(0x14); //放大两倍
//temp1=realtimebuff[temp]>>4; //取年\月\日\时\分\秒的高四位
temp1=temp>>4;
temp1=temp1+0x30;
xszf(0x31,temp1); //显示
//temp2=realtimebuff[temp]&0x0f; //取年\月\日\时\分\秒的低四位
temp2=temp&0x0f; //取年\月\日\时\分\秒的低四位
temp2=temp2+0x30;
xszf(0x31,temp2); //显示
}
//实时时钟显示函数
void clock_disp(void)
{
wdr();
xtzb(0xE1,0xdc,0x91,0x90); //背景为黄色,字体为蓝色,覆盖显示
clock_deal(realtimebuff[0]);
//显示年
wdr();
xtzb(0xE1,0xee,0x91,0x90);
clock_deal(realtimebuff[1]); //显示月
wdr();
xtzb(0xE2,0x00,0x91,0x90);
clock
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -