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

📄 toucher2._c

📁 基于PIC单片机
💻 _C
📖 第 1 页 / 共 5 页
字号:
	//while(fhz==1);
	for(ii=0;ii<8;ii++)
	    rambuff[ii]=i2c_rd_buff[ii];
	EIMSK|=(1<<INT6);	
	/****************从外部E2中读出关联的联动模块号*****************/
	addr1=0x4280+num_can*192+(num_det2-1)*6;      //外部E2中节点的首地址信息
	addr1h=(uchar)(addr1>>8);       //高地址
	addr1l=(uchar)(addr1&0x00ff);   //低地址
	EIMSK&=~(1<<INT6);
	//do
	fhz=I2cRead(SLA2_W ,SLA2_R , addr1h,addr1l,6);
	//while(fhz==1);
	for(ii=0;ii<6;ii++)
	    tempbuff[ii]=i2c_rd_buff[ii];
	EIMSK|=(1<<INT6);
	
	
	for(i=0;i<6;i++)
	{
	    passage1[i]=0;
		passage2[i]=0;
	}
  	background();     //背景
  	xtzb(0x00,0x08,0x00,0x36);
  	fdbs(0x04);
  	xszf(0x34,0xd6);//转
  	xszf(0x34,0xd7);//换
  	xszf(0x34,0xd8);//器
  	kong(0x33,0x02);
  	xszf(0x34,0x47);//节
  	xszf(0x34,0x48);//点
	fdbs(0x14);
    xtzb(0x80,0x48,0x00,0x36);
	xszf(0x31,temp1);        //显示can编号高位                
  	xszf(0x31,temp2);        //显示can编号低位
	xtzb(0x80,0x88,0x00,0x36);
	xszf(0x31,temp3);         //显示探测器编号高位          
  	xszf(0x31,temp4);         //显示探测器编号低位  
	

  	ltjx(0x89,0x18,0x04,0x2e,0x01,0x78,0x00,0x59);   
	fdbs(0x04); 
  	xtzb(0x01,0x28,0x00,0x3a);
  	xszf(0x34,0x9b);//启
  	kong(0x33,0x02);
 	xszf(0x34,0x9c);//用
    
    xtzb(0x00,0x08,0x00,0x7c);
  	xszf(0x34,0x28);//气
  	xszf(0x34,0x29);//体
  	xszf(0x34,0x55);//类
  	xszf(0x34,0x56);//型
  	ltjx(0x88,0x58,0x04,0x68,0x00,0xb8,0x00,0x95);
  	xtzb(0x00,0x70,0x00,0x76);
  	xszf(0x34,0x68);//请
  	xszf(0x34,0xa8);//选
  	xszf(0x34,0xa9);//择
  	xtzb(0x00,0xc8,0x00,0x7c);
  	xszf(0x34,0x2a);//浓
  	xszf(0x34,0x2b);//度
  	xszf(0x34,0xa3);//单
  	xszf(0x34,0x7b);//位
  	ltjx(0x89,0x18,0x04,0x68,0x01,0x78,0x00,0x95);
  	xtzb(0x01,0x30,0x00,0x76);
  	xszf(0x34,0x68);//请
  	xszf(0x34,0xa8);//选
  	xszf(0x34,0xa9);//择
  	xtzb(0x00,0x08,0x00,0xc2);
  	xszf(0x34,0x59);//高
  	xszf(0x34,0x3f);//报
  	xszf(0x34,0x2a);//浓
  	xszf(0x34,0x2b);//度
  	juxing(0xf0,0x58,0x04,0xbf,0x00,0xb8,0x00,0xd5);
	fdbs(0x14);
	xh=0x00;
	xl=0x59;
	yh=0x00;
	yl=0xc1;
	xtzb(xh,xl,yh,yl);
	for(kkk=4;kkk<6;kkk++)
	{
	    if(rambuff[kkk]!=0xff)               
		{
	        temp5=rambuff[kkk]/10+0x30;
			temp6=rambuff[kkk]%10+0x30;
	        xszf(0x31,temp5);                 //显示出设定的高报值
			high[n1]=temp5-0x30;
			n1++;
			xszf(0x31,temp6);
			high[n1]=temp5-0x30;
			n1++;
		}
		else
		{
		    xszf(0x31,0x30);
			high[n1]=temp5-0x30;
			n1++;
			xszf(0x31,0x30);
			high[n1]=temp5-0x30;
			n1++;
		}
	}
  	X1H=0x00;            
  	X1L=0x71;         
  	Y1H=0x00;
  	Y1L=0xc1; 
  	X2H=0x00;          
  	X2L=0x71;
	
  	Y2H=0x00;
  	Y2L=0xd3;
  	gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L);
  	xtzb(0x00,0xc8,0x00,0xc2);
	fdbs(0x04);
  	xszf(0x34,0x5a);//低
  	xszf(0x34,0x3f);//报
  	xszf(0x34,0x2a);//浓
  	xszf(0x34,0x2b);//度
  	juxing(0xf1,0x18,0x04,0xbf,0x01,0x78,0x00,0xd5);
	fdbs(0x14);
	xh=0x01;
	xl=0x19;
	yh=0x00;
	yl=0xc1;
	xtzb(xh,xl,yh,yl);
	for(kkk=6;kkk<8;kkk++)
	{
	    if(rambuff[kkk]!=0xff)
		{
	        temp5=rambuff[kkk]/10+0x30;
			temp6=rambuff[kkk]%10+0x30;
	        xszf(0x31,temp5);                 //显示出设定的低报值 
			low[n2]=temp1-0x30;                //将数字存入low数组  
	      	n2++;
			xszf(0x31,temp6); 
			low[n2]=temp1-0x30;                //将数字存入low数组  
	      	n2++;
		}
		else
		{
		    xszf(0x31,0x30);
			low[n2]=temp1-0x30;                //将数字存入low数组  
	      	n2++;
			xszf(0x31,0x30);
			low[n2]=temp1-0x30;                //将数字存入low数组  
	      	n2++;
		}
	}
	wdr();
  	xtzb(0x00,0x08,0x01,0x08);
	fdbs(0x04);
  	xszf(0x34,0x59);//高
  	xszf(0x34,0x3f);//报
  	xszf(0x34,0x4c);//关
	xszf(0x34,0x87);//联
  	juxing(0xf0,0x58,0x05,0x05,0x00,0xb8,0x01,0x1b);
	fdbs(0x14);
	xh=0x00;
	xl=0x59;
	yh=0x01;
	yl=0x07;
	xtzb(xh,xl,yh,yl);
	for(kkk=0;kkk<3;kkk++)
	{
	    if(tempbuff[kkk]!=0xff)
		{
	        temp5=tempbuff[kkk]/10+0x30;
			temp6=tempbuff[kkk]%10+0x30;
	        xszf(0x31,temp5);                 //显示出关联的联动模块
			passage1[way1]=temp1-0x30;              //将数字存入passage数组
	      	way1++;
			xszf(0x31,temp6); 
			passage1[way1]=temp1-0x30;              //将数字存入passage数组
	      	way1++;
		}
		else
		{
		    xszf(0x31,0x30);
			passage1[way1]=temp1-0x30;              //将数字存入passage数组
	      	way1++;
			xszf(0x31,0x30);
			passage1[way1]=temp1-0x30;              //将数字存入passage数组
	      	way1++;
		}
	}
  	ltjx(0x89,0x18,0x04,0xf4,0x01,0x78,0x01,0x21);
  	xtzb(0x01,0x28,0x01,0x02);
	fdbs(0x04);
  	xszf(0x34,0x2a);//浓
  	xszf(0x34,0x2b);//度
	xszf(0x34,0x22);//设
  	xszf(0x34,0xb2);//定
  	xtzb(0x00,0x08,0x01,0x4e);
  	xszf(0x34,0x5a);//低
  	xszf(0x34,0x3f);//报
  	xszf(0x34,0x4c);//关
	xszf(0x34,0x87);//联
  	juxing(0xf0,0x58,0x05,0x4b,0x00,0xb8,0x01,0x61);
	fdbs(0x14);
	xh=0x00;
	xl=0x59;
	yh=0x01;
	yl=0x4d;
	xtzb(xh,xl,yh,yl);
	for(kkk=3;kkk<6;kkk++)
	{
	    if(tempbuff[kkk]!=0xff)
		{
	        temp5=tempbuff[kkk]/10+0x30;
			temp6=tempbuff[kkk]%10+0x30;
	        xszf(0x31,temp5);                 //显示出关联的联动模块
			passage2[way2]=temp1-0x30;              //将数字存入passage数组
	      	way2++;
			xszf(0x31,temp6); 
			passage2[way2]=temp1-0x30;              //将数字存入passage数组
	      	way2++;
		}
		else
		{
		    xszf(0x31,0x30);
			passage2[way2]=temp1-0x30;              //将数字存入passage数组
	      	way2++;
			xszf(0x31,0x30);
			passage2[way2]=temp1-0x30;              //将数字存入passage数组
	      	way2++;
		}
	}
  	ltjx(0x89,0x18,0x05,0x3a,0x01,0x78,0x01,0x67);
  	xtzb(0x01,0x28,0x01,0x48);
	fdbs(0x04);
  	xszf(0x34,0x4c);//关
	xszf(0x34,0x87);//联
	xszf(0x34,0xfb);//存
	xszf(0x34,0xfc);//储
	ltjx(0x8a,0x18,0x05,0x3a,0x02,0x6c,0x01,0x67);
  	xtzb(0x02,0x30,0x01,0x48);                
  	xszf(0x34,0x66);//退
  	xszf(0x34,0x67);//出
}
/*******************联动界面*******************/
void jiemian8(void)
{
  	way1=0;          //初始化各个变量
  	way2=0;
	/*
	high_low1=0;
	high_low2=0;
	high_low3=0;
	high_low4=0;
	*/
  	jiemian=8;  
  	background();
  	xtzb(0x00,0x08,0x00,0x36);
  	fdbs(0x04);
  	xszf(0x34,0xd6); //转
  	xszf(0x34,0xd7); //换
  	xszf(0x34,0xd8); //器
  	kong(0x33,0x02); //两个空格
  	xszf(0x34,0x47);//节
  	xszf(0x34,0x48);//点
  
  	ltjx(0x89,0x18,0x04,0x2e,0x01,0x78,0x00,0x59);    
  	xtzb(0x01,0x28,0x00,0x3a);
  	xszf(0x34,0x9b);//启
  	kong(0x33,0x02);//两个空格
  	xszf(0x34,0x9c);//用
	ltjx(0x8a,0x18,0x05,0x3a,0x02,0x6c,0x01,0x67);
  	xtzb(0x02,0x30,0x01,0x48);                
  	xszf(0x34,0x66);//退
  	xszf(0x34,0x67);//出
   /*
  	xh=0x00;
  	xl=0x08;
  	yh=0x00;
  	yl=0x7c;
  	temp=0x31;
  	for(i=0;i<4;i++)
  	{
        xtzb(xh,xl,yh,yl);
		fdbs(0x04);
		xszf(0x34,0x4e);//通
    	xszf(0x34,0x80);//道
		fdbs(0x14);
		xszf(0x31,temp);
		zhuanhuan();
		y=y+0x46;
		yl=y;
		yh=y>>8;
		temp=temp+1;
    }
  	xh=0x00;
  	xl=0x48;
  	yh=0x00;
  	yl=0x7c;
  	fdbs(0x04);
  	for(i=0;i<4;i++)
  	{
        xtzb(xh,xl,yh,yl);
		xszf(0x34,0x4c);//关
    	xszf(0x34,0x87);//联
    	xszf(0x34,0x85);//探
        xszf(0x34,0x86);//测
    	xszf(0x34,0x84);//器
		zhuanhuan();
		y=y+0x46;
		yl=y;
		yh=y>>8;
    }
  	juxing(0xf0,0xa8,0x04,0x79,0x00,0xd8,0x00,0x8f);
  	X1H=0x00;             
  	X1L=0xa9;         
  	Y1H=0x00;
  	Y1L=0x7b; 
  	X2H=0x00;          
  	X2L=0xa9;
  	Y2H=0x00;
  	Y2L=0x8d;
  	gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L);
  	/*******************矩形********************
  	juxing(0xf0,0xa8,0x04,0xbf,0x00,0xd8,0x00,0xd5);
  	juxing(0xf0,0xa8,0x05,0x05,0x00,0xd8,0x01,0x1b);
  	juxing(0xf0,0xa8,0x05,0x4b,0x00,0xd8,0x01,0x61);
  	/*****************立体矩形****************
  	ltjx(0x88,0xe8,0x04,0x68,0x01,0x28,0x00,0x95);
  	ltjx(0x89,0x58,0x04,0x68,0x01,0x98,0x00,0x95);
  	ltjx(0x88,0xe8,0x04,0xae,0x01,0x28,0x00,0xdb);
  	ltjx(0x89,0x58,0x04,0xae,0x01,0x98,0x00,0xdb);
  	ltjx(0x88,0xe8,0x04,0xf4,0x01,0x28,0x01,0x21);
  	ltjx(0x89,0x58,0x04,0xf4,0x01,0x98,0x01,0x21);
  	ltjx(0x88,0xe8,0x05,0x3a,0x01,0x28,0x01,0x67);
  	ltjx(0x89,0x58,0x05,0x3a,0x01,0x98,0x01,0x67);
  	fdbs(0x04);
  	xh=0x00;
  	xl=0xf8;
  	yh=0x00;
  	yl=0x76;
  	for(i=0;i<4;i++)
  	{
        xtzb(xh,xl,yh,yl);
    	xszf(0x34,0x59);       //高
		xszf(0x34,0x3f);       //报
		zhuanhuan();
		x=x+0x70;
		xl=x;
		xh=x>>8;
		xtzb(xh,xl,yh,yl);
		xszf(0x34,0x5a);      //低
		xszf(0x34,0x3f);      //报
		xh=0x00;
		xl=0xf8;
		zhuanhuan();
		y=y+0x46;
		yl=y;                     
		yh=y>>8;
    }
  	button3();
	*/
}
/********************控制外部设备********************/
void jiemian9(void)
{
    uchar temp=0x31;
	uchar temp2=0x01;
  	addr_can=0;    //初始化can编号
  	addr_det=0;    //初始化节点编号
  	channel=0;     //初始化变量    
  	index_link1=0; //转换器编号数组指针清零
  	index_link2=0; //探测器编号数组指针清零
	linkage1[0]=0;
	linkage1[1]=0;
	linkage2[0]=0;
	linkage2[1]=0;
	state_cha=0;
  	jiemian=9;     //置界面标志
  	background();  //背景
  	xtzb(0x00,0x08,0x00,0x36);
  	fdbs(0x04);
  	bank5();
  	X1H=0x00;            
  	X1L=0x69;         
  	Y1H=0x00;
  	Y1L=0x35; 
  	X2H=0x00;          
  	X2L=0x69;
  	Y2H=0x00;
  	Y2L=0x47;
  	gbxs(X1H,X1L,Y1H,Y1L,X2H,X2L,Y2H,Y2L);
  	xh=0x00;
  	xl=0x08;
  	yh=0x00;
  	yl=0x7c;
  	for(i=0;i<4;i++)
  	{
        fdbs(0x04);
    	xtzb(xh,xl,yh,yl);
    	xszf(0x34,0x4e); //通     
		xszf(0x34,0x80); //道    
		fdbs(0x14);
		xszf(0x31,temp);           
		zhuanhuan();
		y=y+0x46;
		yl=y;
		yh=y>>8;
		temp=temp+1;
    }
  	xh=0x88;
  	xl=0x50;
  	yh=0x04;
  	yl=0x68;
  	x2h=0x00;
  	x2l=0x90;
  	y2h=0x00;
  	y2l=0x95;
	wdr();
  	for(i=0;i<4;i++)
  	{  
	    ltjx(xh,xl,yh,yl,x2h,x2l,y2h,y2l);   
		zhuanhuan();
		x=x+0x70;                         //8个立体矩形
		xl=x;
		xh=x>>8;
		x=x+0x40;
		x2l=x;
		x2h=x>>8;
		x2h=x2h&0x03;
		ltjx(xh,xl,yh,yl,x2h,x2l,y2h,y2l);  
		xh=0x88;
    	xl=0x50;
		zhuanhuan();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -