📄 toucher2._c
字号:
usart_transmit_char(temp1); //设置系统坐标(x1,y1)
usart_transmit_char(temp2);
usart_transmit_char(temp3);
usart_transmit_char(temp4);
}
void zfjj(uchar temp) //字符间距
{
usart_transmit_char(0x1b);//1b 5a n设置字符间距
usart_transmit_char(0x5a);
usart_transmit_char(temp);//字符间距15点
}
void fdbs(uchar temp) //放大倍数
{
usart_transmit_char(0x1b); //1b 66 n 设置字符放大倍数
usart_transmit_char(0x66);
usart_transmit_char(temp);//字符放大3倍
}
void juxing(uchar x1h,uchar x1l,uchar y1h,uchar y1l, //画矩形
uchar x2h,uchar x2l,uchar y2h,uchar y2l)
{
wdr();
usart_transmit_char(0x1b);
usart_transmit_char(0x6a);
usart_transmit_char(x1h); //设置系统坐标(x1,y1)
usart_transmit_char(x1l);
usart_transmit_char(y1h);
wdr();
usart_transmit_char(y1l);
usart_transmit_char(x2h); //设置系统坐标(x2,y2)
usart_transmit_char(x2l);
usart_transmit_char(y2h);
usart_transmit_char(y2l);
wdr();
}
void ltjx(uchar x1h,uchar x1l,uchar y1h,uchar y1l, //画立体矩形
uchar x2h,uchar x2l,uchar y2h,uchar y2l)
{
colour(0x0f,0x0a,0x04);
usart_transmit_char(0x1d);
usart_transmit_char(0x4c);
usart_transmit_char(x1h); //矩形左上角坐标(x1,y1)
usart_transmit_char(x1l);
usart_transmit_char(y1h);
usart_transmit_char(y1l);
usart_transmit_char(x2h); //设置矩形右下角系统坐标(x2,y2)
usart_transmit_char(x2l);
usart_transmit_char(y2h);
usart_transmit_char(y2l);
//以下是设置立体矩形的颜色
usart_transmit_char(0x0f);
usart_transmit_char(0x0f);
usart_transmit_char(0x0f);
usart_transmit_char(0x0c);
usart_transmit_char(0x0c);
usart_transmit_char(0x0c);
usart_transmit_char(0x0a);
usart_transmit_char(0x0a);
usart_transmit_char(0x0a);
usart_transmit_char(0x08);
usart_transmit_char(0x08);
usart_transmit_char(0x08);
usart_transmit_char(0x00);
usart_transmit_char(0x00);
usart_transmit_char(0x00);
usart_transmit_char(0x03);
usart_transmit_char(0x03);
usart_transmit_char(0x03);
usart_transmit_char(0x08);
usart_transmit_char(0x08);
usart_transmit_char(0x08);
usart_transmit_char(0x0a);
usart_transmit_char(0x0a);
usart_transmit_char(0x0a);
}
void xszf(uchar x,uchar y) //显示字符集1到4
{
wdr();
usart_transmit_char(0x1b);//1b 33选择字符集
usart_transmit_char(x);
usart_transmit_char(y);
}
void xstx(uchar x,uchar y,uchar z) //显示"画面存储器"中的BMP图像
{
usart_transmit_char(0x1d);
usart_transmit_char(0x62);
usart_transmit_char(x);
usart_transmit_char(y);
usart_transmit_char(z);
}
void init_lcd() //初始化液晶
{
usart_transmit_char(0x1b);
usart_transmit_char(0x40);
usart_transmit_char(0x1b); //使用字符集4前的设置
usart_transmit_char(0x35);
}
void line( uchar x1h,uchar x1l,uchar y1h,uchar y1l, //画直线
uchar x2h,uchar x2l,uchar y2h,uchar y2l)
{
usart_transmit_char(0x1b);
usart_transmit_char(0x78);
usart_transmit_char(x1h);
usart_transmit_char(x1l);
usart_transmit_char(y1h);
usart_transmit_char(y1l);
usart_transmit_char(x2h);
usart_transmit_char(x2l);
usart_transmit_char(y2h);
usart_transmit_char(y2l);
}
/******************列表状态界面*******************/
void jiemian1(void)
{
page=0; //页码为0
jiemian=1; //置界面标志
background(); //背景
wdr();
xtzb(0x00,0x08,0x00,0x36);
fdbs(0x04); //不放大
bank1();
kong(0x33,0x04); //显示字符集3中的四个空格
bank1();
// common5();
if(flag_can==0xaa) //如果在485模式下不显示
;
else
{
num_can=1; //转换器编号为1
num_conversion(); //显示"转换器编号"五个字
common10(); //显示转换器编号
button_can(); //转换器按钮
}
wdr();
button_page(); //翻页按钮
wdr();
}
/********************报警记录界面********************/
void jiemian2(void)
{
page=0; //页码为0
jiemian=2; //置界面标志
background(); //背景
fdbs(0x04); //不放大
xtzb(0x00,0x08,0x00,0x35);
bank2();
baojingaddr = baojingaddr2; //取外部E2中所存的最新报警地址
clarm(); //报警显示函数
if(flag_print==1)
{
button_print(); //打印按钮
}
else
;
button_page(); //翻页按钮
}
/********************故障记录界面*********************/
void jiemian3(void)
{
page=0; //页码为0
jiemian=3; //置界面标志
background(); //背景
fdbs(0x04); //不放大
xtzb(0x00,0x08,0x00,0x35);
bank3();
guzhangaddr=guzhangaddr2; //取外部E2中所存的最新故障地址
fault(); //故障显示函数
if(flag_print==1)
{
button_print(); //打印按钮
}
else
;
button_page(); //翻页按钮
}
/********************开关机记录界面******************/
void jiemian4(void)
{
page=0; //页码为0
jiemian=4; //置界面标志
background(); //背景
num_open=1; //初始编号为1
fdbs(0x04);
xtzb(0x00,0x08,0x00,0x35);
bank4();
addre2=onaddr2; //取外部E2中所存的最新开关机地址
open_close(); //开关机显示函数
if(flag_print==1)
{
button_print(); //打印按钮
}
else
;
button_page(); //翻页按钮
}
/********************系统设置界面******************/
void jiemian5(void)
{
jiemian=5; //置界面标志
index_link=0; //转换器编号数组指针清零
bd=0;
m1=0; //对应pass1数组
m2=0; //对应pass2数组
n=0; //对应time数组
for(i=0;i<4;i++)
{
linkage[i]=0;
}
background(); //背景
fdbs(0x04);
xtzb(0x00,0x08,0x00,0x36);
xszf(0x34,0x53);//时
xszf(0x34,0x54);//间
xszf(0x34,0x22);//设
xszf(0x34,0x23);//置
xszf(0x33,0x3a);//":"
juxing(0xf0,0x58,0x04,0x33,0x00,0xf8,0x00,0x49); //白色矩形
X1H=0x00;
X1L=0x59;
Y1H=0x00;
Y1L=0x35;
X2H=0x00;
X2L=0x59;
Y2H=0x00;
Y2L=0x47;
gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L); //光标显示
xtzb(0x01,0x28,0x00,0x36);
xszf(0x33,0x28);//"("
xszf(0x34,0x8b);//格
xszf(0x34,0x8c);//式
xszf(0x33,0x3a);//":"
fdbs(0x14); //放大1倍
xszf(0x31,0x32); //2
xszf(0x31,0x30); //0
xszf(0x31,0x30); //0
xszf(0x31,0x36); //6
xszf(0x31,0x2d); //-
xszf(0x31,0x31); //1
xszf(0x31,0x31); //1
xszf(0x31,0x2d); //-
xszf(0x31,0x33); //3
xszf(0x31,0x30); //0
xszf(0x31,0x2d); //-
xszf(0x31,0x30); //0
xszf(0x31,0x34); //4
xszf(0x31,0x20); //字符集1中的空格
xszf(0x31,0x30); //0
xszf(0x31,0x38); //8
xszf(0x31,0x3a); //字符集1中的":"
xszf(0x31,0x30); //0
xszf(0x31,0x30); //0
xszf(0x31,0x3a); //字符集1中的":"
xszf(0x31,0x30); //0
xszf(0x31,0x30); //0
fdbs(0x04); //不放大
xszf(0x33,0x29); //")"
ltjx(0x8a,0x18,0x04,0x2e,0x02,0x6c,0x00,0x5b); //时间确定按钮
xtzb(0x02,0x30,0x00,0x3c);
fdbs(0x04);
xszf(0x34,0x71);//确
xszf(0x34,0xb2);//定
xtzb(0x00,0x08,0x00,0x7c);
fdbs(0x04);
xszf(0x34,0x8d);//更
xszf(0x34,0x8e);//改
xszf(0x34,0x6b);//密
xszf(0x34,0x6c);//码
xszf(0x33,0x3a);//":"
juxing(0xf0,0x58,0x04,0x79,0x00,0xd8,0x00,0x8f);
xtzb(0x00,0xe8,0x00,0x7c);
xszf(0x34,0x71);//确
xszf(0x34,0x90);//认
xszf(0x34,0x6b);//密
xszf(0x34,0x6c);//码
xszf(0x33,0x3a);//":"
juxing(0xf1,0x38,0x04,0x79,0x01,0xb8,0x00,0x8f);
ltjx(0x8a,0x18,0x04,0x74,0x02,0x6c,0x00,0xa1); //密码确定按钮
xtzb(0x02,0x30,0x00,0x82);
xszf(0x34,0x71);//确
xszf(0x34,0xb2);//定
xtzb(0x00,0x08,0x00,0xc2);
xszf(0x34,0xab);//工
xszf(0x34,0xef);//作
xszf(0x34,0x89);//模
xszf(0x34,0x8c);//式
xszf(0x33,0x3a);//":"
if(flag_can==0xaa)
{
ltjx(0x88,0x70,0x04,0xad,0x00,0xc0,0x00,0xda);
xtzb(0x00,0x80,0x00,0xbb);
xszf(0x33,0x43);//C
xszf(0x33,0x41);//A
xszf(0x33,0x4e);//N
}
else
{
ltjx(0x88,0x70,0x04,0xad,0x00,0xc0,0x00,0xda);
xtzb(0x00,0x80,0x00,0xbb);
xszf(0x33,0x34);//4
xszf(0x33,0x38);//8
xszf(0x33,0x35);//5
}
xtzb(0x00,0xe8,0x00,0xc2);
xszf(0x34,0x9f);//出
xszf(0x34,0xa0);//厂
xszf(0x34,0x22);//设
xszf(0x34,0x23);//置
xszf(0x33,0x3a);
ltjx(0x89,0x38,0x04,0xad,0x01,0xb8,0x00,0xda);
xtzb(0x01,0x48,0x00,0xbb);
xszf(0x34,0xa1);//恢
xszf(0x34,0x7a);//复
xszf(0x34,0x9f);//出
xszf(0x34,0xa0);//厂
xszf(0x34,0x22);//设
xszf(0x34,0x23);//置
xtzb(0x01,0xc8,0x00,0xc2);
xszf(0x33,0x28);
xszf(0x34,0xa2);//慎
xszf(0x34,0x9c);//用
xszf(0x34,0xa4);//该
xszf(0x34,0xa5);//功
xszf(0x34,0xa6);//能
xszf(0x33,0x29);
xtzb(0x00,0x08,0x01,0x08);
xszf(0x34,0xe6);//地
xszf(0x34,0xe7);//址
xszf(0x34,0x26);//编
xszf(0x34,0x27);//号
xszf(0x33,0x3a);
juxing(0xf0,0x58,0x05,0x05,0x00,0xd8,0x01,0x1b); //地址号输入框
ltjx(0x89,0x58,0x04,0xf4,0x01,0xb8,0x01,0x21);
xtzb(0x01,0x68,0x01,0x02);
xszf(0x34,0xaf);//调
kong(0x33,0x02);
xszf(0x34,0xb0);//零
xtzb(0x00,0x08,0x01,0x4e);
xszf(0x34,0xb1);//标
xszf(0x34,0xb2);//定
xszf(0x34,0x3d);//数
xszf(0x34,0xb9);//值
xszf(0x33,0x3a);
juxing(0xf0,0x58,0x05,0x4b,0x00,0xd8,0x01,0x61); //标定值输入框
ltjx(0x89,0x58,0x05,0x3a,0x01,0xb8,0x01,0x67);
xtzb(0x01,0x68,0x01,0x48);
xszf(0x34,0xb1);//标
kong(0x33,0x02);
xszf(0x34,0xb2);//定
}
/**********************节点设置界面******************/
void jiemian6(void)
{
jiemian=6; //置界面标志
background(); //背景
xtzb(0x00,0x08,0x00,0x36);
fdbs(0x04);
bank6(); //界面的第一行
if(flag_can==0xaa) //如果是485模式
;
else
{
num_conversion(); //显示"转换器编号"
common10(); //显示转换器编号
}
fdbs(0x14); //放大1倍
common9(); //一页显示四个节点编号
ltjx(0x88,0x58,0x04,0x68,0x00,0x88,0x00,0x95); //按钮"11"
ltjx(0x88,0xc0,0x04,0x68,0x00,0xf0,0x00,0x95); //按钮"12"
ltjx(0x89,0x28,0x04,0x68,0x01,0x58,0x00,0x95); //按钮"13"
ltjx(0x88,0x58,0x04,0xae,0x00,0x88,0x00,0xdb); //按钮"21"
ltjx(0x88,0xc0,0x04,0xae,0x00,0xf0,0x00,0xdb); //按钮"22"
ltjx(0x89,0x28,0x04,0xae,0x01,0x58,0x00,0xdb); //按钮"23"
ltjx(0x88,0x58,0x04,0xf4,0x00,0x88,0x01,0x21); //按钮"31"
ltjx(0x88,0xc0,0x04,0xf4,0x00,0xf0,0x01,0x21); //按钮"32"
ltjx(0x89,0x28,0x04,0xf4,0x01,0x58,0x01,0x21); //按钮"33"
ltjx(0x88,0x58,0x05,0x3a,0x00,0x88,0x01,0x67); //按钮"41"
ltjx(0x88,0xc0,0x05,0x3a,0x00,0xf0,0x01,0x67); //按钮"42"
ltjx(0x89,0x28,0x05,0x3a,0x01,0x58,0x01,0x67); //按钮"43"
state_node(); //节点状态显示
if(flag_can==0xaa)
;
else
button_can(); //转换器翻页按钮
button_page(); //节点翻页按钮
}
/***********************探测器界面******************/
void jiemian7(uchar temp)
{
uchar temp1=0;
uchar temp2=0;
uchar temp3=0;
uchar temp4=0;
uchar ii=0;
uchar kkk=0;
uchar rambuff[11];
uchar tempbuff[6];
uchar temp5=0;
uchar temp6=0;
uchar addr1h=0;
uchar addr1l=0;
uint addr1=0;
uchar addrh=0;
uchar addrl=0;
uint addr=0;
jiemian=7; //置界面标志
n1=0; //对应high数组
n2=0; //对应low数组
way1=0;
way2=0;
temp1=num_can/10+0x30;
temp2=num_can%10+0x30;
num_det2=num_det-temp; //当前的节点标号
temp3=num_det2/10+0x30;
temp4=num_det2%10+0x30;
/*****************从外部RAM中读出高低报设定值****************/
addr=(uint)(num_can*256)+(num_det2-1)*8; //探测器和节点对应的RAM地址
addrh=(uchar)(((addr&0xff00)>>8)); //高址
addrl=(uchar)(addr&0x00ff); //低址
EIMSK&=~(1<<INT6);
//do
fhz=I2cRead(SLA1_W,SLA1_R, addrh,addrl,8); //读出
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -