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

📄 kb.c

📁 此程序为本人在公司开发的继电器功能测试仪
💻 C
📖 第 1 页 / 共 2 页
字号:
					/*if((Dis_X==2)&&(Dis_Y==4))
					{
						Dis_X=0;
						//Dis_Y=0;
						Num_Now=2;
						//Unit_Addr_L=8;
						//READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					}*/
					if(Dis_X>7)
					{
					 	//Dis_X=7;
						Dis_Y--;
						if(Dis_Y<3)
						{
							Dis_X=7;
							Unit_Addr_L-=8;
							READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
						}
						else if(Dis_Y==3) 
						{
							Dis_X=7;
							Unit_Addr_L=48;
							READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);							
						}
						else
						{
							Dis_X=0;
							Dis_Y=4;
							Unit_Addr_L=80;
							READDATAARRAY(2,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
							Num_Now=2;
						}
								
					}
					LCD_CmdWrite(0x10,0x0B);
					GotoXY(Set_X_3[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					for(i=0;i<Num_Now;i++)
					{
						LCD_DataWrite(Display_Code[SetP_Data[Dis_X++]]);
						delay(200);
					}
					for(i=0;i<Num_Now;i++) Dis_X--;				
				} break;
				case 4:
				{
					READDATAARRAY(6,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					LCD_CmdWrite(0x10,0x2B);//white
					GotoXY(Set_X_4[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);
					Dis_X--;
					if(Dis_X>5)
					{
				 		Dis_X=5;
						Dis_Y--;
						Unit_Addr_L-=6;
						if(Dis_Y>4)
						{
							Dis_Y=3;
							Unit_Addr_L=74;							
						}
						READDATAARRAY(6,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
				 	}
					LCD_CmdWrite(0x10,0x0B);
					GotoXY(Set_X_4[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);					
				} break;
				case 7:
				{
					READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					LCD_CmdWrite(0x10,0x2B);//white
					GotoXY(Adjust[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);
					Dis_X--;
					if(Dis_X>3)
					{
				 		Dis_X=3;
						Dis_Y--;
						Unit_Addr_L-=4;
						if(Dis_Y>1)
						{
							Dis_Y=1;
							Unit_Addr_L=90;							
						}
						READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
				 	}
					LCD_CmdWrite(0x10,0x0B);
					GotoXY(Adjust[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);					
				} break;
			}
		}		
	}

	void Key_Next_Page(void)
	{
		if(SetK_Flag==1)
		{	
			IO_B=0xFF;
			DA_Convert(0);
			Num_Now=1;
			Page_Val++;
			if(Page_Val==8) Page_Val=1;
			LCD_Clear();
			Screen_Setting(Page_Val);
			Screen_Read(Page_Val);
		}		
	}


	void Key_Pre_Page(void)
	{
		if(SetK_Flag==1)
		{	
			IO_B=0xFF;
			DA_Convert(0);
			Num_Now=1;
			Page_Val--;
			if(Page_Val==0) Page_Val=7;
			LCD_Clear();
			Screen_Setting(Page_Val);
			Screen_Read(Page_Val);
		}
	}
	
	void Key_Test(void)
	{
		unsigned char g;
		IO_C|=0x3F;
		IO_A=0xFF;
		for(g=0;g<11;g++)
		{
			SetP_Data[g]=15;
		}
		Coil_Judge();
		switch(Page_Val)
		{
			case 0:
			case 6:
			{
				Set_Data(SetP_Data,11,8,1);
				Tests_Data(SetP_Data,5,0);
				for(g=2;g<12;g++) Tests_Data(SetP_Data,5,g);
				if(Comp_Data[1]!=0)
				{
					Temp_Test();
					if(R_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				if(Comp_Data[5]!=0)
				{
					if(ConR_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				if(Comp_Data[7]!=0)
				{
					if(V_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				if(Comp_Data[15]!=0)
				{
					if(PDT_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				if(Comp_Data[17]!=0)
				{
					if(BT_Test()==0) 
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				IO_A=0xFF;		
				IO_C&=0xFB;
			} break;
			case 1:
			{
				Set_Data(SetP_Data,4,0,1);//
				Set_Data(SetP_Data,8,4,1);//
				Set_Data(SetP_Data,3,0,3);
				Tests_Data(SetP_Data,5,2);
				if(Comp_Data[1]!=0)
				{
					Temp_Test();
					if(R_Test()==0) 
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}	
				IO_A=0xFF;		
				IO_C&=0xFB;
			} break;
			case 2:
			{
				for(g=3;g<5;g++) Tests_Data(SetP_Data,5,g);
				//if(ConR_Test()==0) return;
				if(Comp_Data[5]!=0)
				{
					if(ConR_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				IO_A=0xFF;		
				IO_C&=0xFB;
			} break;
			case 3:
			{
				
				for(g=5;g<9;g++) Tests_Data(SetP_Data,5,g);
				//if(V_Test()==0) return;
				if(Comp_Data[7]!=0)
				{
					if(V_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}	
				IO_A=0xFF;		
				IO_C&=0xFB;
			} break;
			case 4:
			{
				for(g=4;g<8;g++) Tests_Data(SetP_Data,5,g);
				//if(PDT_Test()==0) return;
				//if(BT_Test()==0) return;
				if(Comp_Data[15]!=0)
				{
					if(PDT_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				if(Comp_Data[17]!=0)
				{
					if(BT_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				IO_A=0xFF;		
				IO_C&=0xFB;
			} break;
			case 5:
			{
				Set_Data(SetP_Data,11,8,1);
				Tests_Data(SetP_Data,5,0);
				for(g=2;g<12;g++) Tests_Data(SetP_Data,5,g);
				//Temp_Test();
				//if(R_Test()==0) return;
				if(Comp_Data[1]!=0)
				{
					Temp_Test();
					if(R_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				//if(ConR_Test()==0) return;
				if(Comp_Data[5]!=0)
				{
					if(ConR_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				//if(Fast_V_Test()==0) return;
				if(Comp_Data[7]!=0)
				{
					if(Fast_V_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				//if(PDT_Test()==0) return;
				//if(BT_Test()==0) return;
				if(Comp_Data[15]!=0)
				{
					if(PDT_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				if(Comp_Data[17]!=0)
				{
					if(BT_Test()==0)
					{
						//IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;
				 		return;
					}
				}
				IO_A=0xFF;		
				IO_C&=0xFB;
			} break;
			case 7:
			{
				//IO_B=0xDF;
				DA_Convert(Comp_Data[22]*4.095/(2.4*MULTI_V));
				return;
			} break;
		}
		IO_B|=0x60;//COIL+ AND COIL- RELAY OFF;		
	}

	void Screen_Read(unsigned char m)
	{
		unsigned char i=0,z=0;
		switch(m)
		{
			case 0:
			case 5:
			case 6://86bit total;
				{
					Unit_Addr_H=0;
					Unit_Addr_L=0;
					READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					SR_V_0=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					Comp_Data[z++]=SR_V_0;
					SR_V_1=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					Comp_Data[z++]=SR_V_1;
					Set_Data(SetP_Data,8,0,i);
					Unit_Addr_L+=8;
					for(i=2;i<8;i++)
					{
						READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
						Comp_Data[z++]=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
						Comp_Data[z++]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
						Set_Data(SetP_Data,8,0,i);
						Unit_Addr_L+=8;
					}
					for(i=8;i<12;i++)
					{
						READDATAARRAY(6,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
						Comp_Data[z++]=SetP_Data[0]*100+SetP_Data[1]*10+SetP_Data[2];
						Comp_Data[z++]=SetP_Data[3]*100+SetP_Data[4]*10+SetP_Data[5];
						Set_Data(SetP_Data,6,0,i);
						Unit_Addr_L+=6;
					}
					READDATAARRAY(6,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data_T[0]=SetP_Data[0]*10+SetP_Data[1];
					Comp_Data_T[1]=SetP_Data[2]*100+SetP_Data[3]*10+SetP_Data[4];
					Comp_Data_T[2]=SetP_Data[5];
					Set_Data(SetP_Data,6,0,i);
					Unit_Addr_L=90;		
					READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[23]=SetP_Data[0];//补偿+,-
					Comp_Data[24]=SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];//补偿值
					Unit_Addr_H=0;
					Unit_Addr_L=0;
				} break;
			case 1:
				{
					Unit_Addr_H=0;
					Unit_Addr_L=0;
					READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					SR_V_0=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					Comp_Data[z++]=SR_V_0;
					SR_V_1=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					Comp_Data[z++]=SR_V_1;
					Set_Data(SetP_Data,8,0,0);	
					Dis_X=0;
					Dis_Y=0;
					LCD_CmdWrite(0x10,0x0B);//black;
					GotoXY(Set_X_1[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);	
					delay(200);
					Unit_Addr_H=0;
					Unit_Addr_L=0;	
				} break;
			case 2:
				{
					z=2;
					Num_Now=1;
					Unit_Addr_H=0;
					Unit_Addr_L=8;
					Dis_X=0;
					Dis_Y=0;		
					READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[z++]=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					Comp_Data[z++]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					Set_Data(SetP_Data,8,0,0);
					LCD_CmdWrite(0x10,0x0B);//black;
					GotoXY(Set_X_2[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);
					Unit_Addr_L+=8;		
					READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[z++]=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					Comp_Data[z++]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					Set_Data(SetP_Data,8,0,1);
					Unit_Addr_L=82;
					READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);

					Set_Data(SetP_Data,4,0,2);
					Unit_Addr_L=90;		
					READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[23]=SetP_Data[0];
					Comp_Data[24]=SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					Unit_Addr_H=0;
					Unit_Addr_L=8;	
				} break;
			case 3:
				{
					z=6;	
					Num_Now=1;
					Unit_Addr_H=0;
					Unit_Addr_L=24;
					Dis_X=0;
					Dis_Y=0;
					READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[z++]=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					Comp_Data[z++]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					Set_Data(SetP_Data,8,0,0);
					LCD_CmdWrite(0x10,0x0B);//black;
					GotoXY(Set_X_3[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);
					Unit_Addr_L+=8;	
					for(i=1;i<4;i++)
					{
						READDATAARRAY(8,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					    Comp_Data[z++]=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					    Comp_Data[z++]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
						Set_Data(SetP_Data,8,0,i);
						Unit_Addr_L+=8;
					}	
					Unit_Addr_L=80;
					READDATAARRAY(2,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Set_Data(SetP_Data,2,0,i);
					Unit_Addr_H=0;
					Unit_Addr_L=24;	
				} break;
		 	case 4:
				{
					z=14;
					Unit_Addr_H=0;
					Unit_Addr_L=56;
					Dis_X=0;
					Dis_Y=0;
					READDATAARRAY(6,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[z++]=SetP_Data[0]*100+SetP_Data[1]*10+SetP_Data[2];//+SetP_Data[3];
					Comp_Data[z++]=SetP_Data[3]*100+SetP_Data[4]*10+SetP_Data[5];//+SetP_Data[7];
					Set_Data(SetP_Data,6,0,0);
					LCD_CmdWrite(0x10,0x0B);//black;
					GotoXY(Set_X_4[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);
					Unit_Addr_L+=6;	
					for(i=1;i<4;i++)
					{
						READDATAARRAY(6,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					    Comp_Data[z++]=SetP_Data[0]*100+SetP_Data[1]*10+SetP_Data[2];//+SetP_Data[3];
					    Comp_Data[z++]=SetP_Data[3]*100+SetP_Data[4]*10+SetP_Data[5];//+SetP_Data[7];
						Set_Data(SetP_Data,6,0,i);
						Unit_Addr_L+=6;
					}	
					Unit_Addr_H=0;
					Unit_Addr_L=56;	
				} break;
			case 7:
				{
					//z=2;
					//Num_Now=1;
					Unit_Addr_H=0;
					Unit_Addr_L=86;
					Dis_X=0;
					Dis_Y=0;	
					//for(i=0;i<4;i++) SetP_Data[i]=0;	
					READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[22]=SetP_Data[0]*1000+SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];
					//Comp_Data_T[3]=0;
					Set_Data(SetP_Data,4,0,0);

					//Comp_Data_T[4]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					//Comp_Data_T[5]
					//Set_Data(SetP_Data,8,0,0);
					LCD_CmdWrite(0x10,0x0B);//black;
					GotoXY(Adjust[Dis_Y][Dis_X],Loc_Y[Dis_Y]);
					LCD_DataWrite(Display_Code[SetP_Data[Dis_X]]);
					delay(200);
					Unit_Addr_L+=4;		
					READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);
					Comp_Data[23]=SetP_Data[0];
					Comp_Data[24]=SetP_Data[1]*100+SetP_Data[2]*10+SetP_Data[3];//+SetP_Data[3];

					//Comp_Data[z++]=SetP_Data[4]*1000+SetP_Data[5]*100+SetP_Data[6]*10+SetP_Data[7];
					Set_Data(SetP_Data,4,0,1);
					//Unit_Addr_L=82;
					//READDATAARRAY(4,0xA0,Unit_Addr_H,Unit_Addr_L,SetP_Data);

					//Set_Data(SetP_Data,4,0,2);
					Unit_Addr_H=0;
					Unit_Addr_L=86;	
				} break;
		}
	}

⌨️ 快捷键说明

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