⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 toucher2._c

📁 基于PIC单片机
💻 _C
📖 第 1 页 / 共 5 页
字号:
  	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 + -