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

📄 key.c

📁 采用MPS430控制的项目
💻 C
📖 第 1 页 / 共 2 页
字号:
		else if(key_data==key_down)
		{
			if(Set_array_count<9)	Set_array_count+=1;else Set_array_count=0;
		}
		else if(key_data==key_up)
		{
			if(Set_array_count>0)	Set_array_count-=1;else Set_array_count=9;
		}
		else if(key_data==key_cancel)
		{
			ON_SET_FACE();return;
		}
		else if(key_data==key_sure)
		{
			Time_now[0] = Set_array[0]*10+Set_array[1];
			Time_now[1] = Set_array[2]*10+Set_array[3];
			Time_now[2] = Set_array[4]*10+Set_array[5];
			Time_now[3] = Set_array[6]*10+Set_array[7];
			Time_now[4] = Set_array[8]*10+Set_array[9];
			if(Time_now[1]>12)		Set_array_count = 2;
			else if(Time_now[2]>31) Set_array_count = 4;
			else if(Time_now[3]>23)	Set_array_count = 6;
			else if(Time_now[4]>59) Set_array_count = 8;
			else{
				NowTime_wr_data(Time_now);
				ON_SET_FACE();
				return;
			}
		}
		for(x1=0; x1<10; x1++)
		{
			if(x1==Set_array_count)	
				write_number_black(lcdweizhi_x[x1],24*(x1/6)+12,Set_array[x1]);
			else
				write_number(lcdweizhi_x[x1],24*(x1/6)+12,Set_array[x1]);
		}
		break;
	case 14:
  		if(key_data==key_cancel)	{ON_1_face();return;}
  		else if(key_data==key_down)
  		{
  			if(Set_array_count<15)	Set_array_count+=1;else Set_array_count=0;
  		}
  		else if(key_data==key_up)
  		{
  			if(Set_array_count>0)	Set_array_count-=1;else Set_array_count=15;
  		}
  		else if(key_data==key_sure)
  		{
  			Set_array_count = 0;
			write_number(60,48,30);
			write_number(68,48,30);
			write_number(76,48,30);
			write_number(92,48,30);
			write_number(95,48,30);
			write_number(84,48,30);
  			if(Set_temp==0)	
  			{
  				Set_temp = 1;
			 	for(x1=0; x1<2; x1++)
   					write_word(x1*16,16,MoniShuru[x1+4],16,16);		//开关
  			}
  			else 
  			{
  				Set_temp = 0;
			 	for(x1=0; x1<2; x1++)
   					write_word(x1*16,16,MoniShuru[x1],16,16);		//模拟
  			}
  		}
  		write_number(80,16,(Set_array_count+1)/10);
  		write_number(88,16,(Set_array_count+1)%10);
  		if(Set_temp==0)
  		{
  			write_number(80,32,ADSam_Code[Set_array_count]/10);
  			write_number(88,32,ADSam_Code[Set_array_count]%10);  		
  		}
  		else if(Set_temp==1)
  		{
  			write_number(80,32,DISam_Code[Set_array_count]/10);
  			write_number(88,32,DISam_Code[Set_array_count]%10); 
  		}
  		break; 
	case 15:
    	if(key_data==key_cancel)	{ON_1_face(); return;}
    	else if(key_data==key_up&&Alarm_Sum!=0)		
    	{
    		if(Set_array_count>1)	Set_array_count-=1;	else Set_array_count=Alarm_Sum;
    	}
    	else if(key_data==key_down&&Alarm_Sum!=0)	
    	{
    		if(Set_array_count<Alarm_Sum)	Set_array_count+=1;else Set_array_count=1;
    	}
    	write_number(60,48,30);
		write_number(68,48,30);
		write_number(76,48,30);
		write_number(92,48,30);
		write_number(95,48,30);
		write_number(84,48,30);
		if(Alarm_Now==Alarm_Sum)    	temp = Set_array_count;
		else
		{	
			if((Alarm_Now+Set_array_count)>Alarm_Sum)	temp = (Alarm_Now+Set_array_count)-Alarm_Sum;
			else temp = Alarm_Now+Set_array_count;
		}
		Disp_GaoJing(temp);
    	break;
    case 16:
        if(key_data==key_5)				ON_EnterTongXunTime();
        else if(key_data==key_6)		ON_EnterUpDownZero();
        else if(key_data==key_7)		ON_EnterUpDownZero();
        else if(key_data==key_8)		ON_EnterUpDownZero();
    	else if(key_data==key_up)		ON_SET_FACE();
    	else if(key_data==key_down)		ON_SET_FACE3();
    	else if(key_data==key_cancel)	ON_1_face();
    	break;
    case 17:
    	if(key_data==key_cancel)		ON_SET_FACE2();
    	else if(key_data==key_sure)		
    	{
    		Time_interval = Set_temp;
    		II3WR(AT24C256,I2C_TongXunTime,Time_interval/256);
    		II3WR(AT24C256,I2C_TongXunTime+1,Time_interval%256);
    		ON_SET_FACE2();
    	}
    	else if(key_data<=key_9)
    	{
    		if(Set_temp<=6553)
    		{
    			if(Set_temp==6553&&key_data>key_5)	return;
				Set_temp = Set_temp * 10 + key_data;
				if(Set_temp>=10000)    	write_number(40+0*8,23,Set_temp/10000);
					else write_number(40+0*8,23,30);
				if(Set_temp>=1000) 		write_number(40+1*8,23,Set_temp/1000%10);
					else write_number(40+1*8,23,30);
				if(Set_temp>=100) 		write_number(40+2*8,23,Set_temp/100%10);
					else write_number(40+2*8,23,30);
				if(Set_temp>=10) 		write_number(40+3*8,23,Set_temp/10%10);
					else write_number(40+3*8,23,30);
				write_number(40+4*8,23,Set_temp%10);
			}
    	}
    	break; 
    case 18:
	case 19:
	case 20:
		if(key_data==key_cancel)	{	ON_SET_FACE2();return;	}
		else if(key_data==key_up)
		{
			if(Set_array_count>0)	Set_array_count -= 1;else Set_array_count=15;
			Set_temp = 0;
			if(Menu_ID==20)	temp = ADSam_Value[Set_array_count];else temp = ADAlarm_para[Menu_ID-18][Set_array_count];
			Disp_updownzero(temp,Set_array_count+1);
			return;
		}
		else if(key_data==key_down)
		{
			if(Set_array_count<15)	Set_array_count += 1;else Set_array_count=0;
			Set_temp = 0;
			if(Menu_ID==20)	temp = ADSam_Value[Set_array_count];else temp = ADAlarm_para[Menu_ID-18][Set_array_count];
			Disp_updownzero(temp,Set_array_count+1);
			return;
		}
		else if(key_data<=key_9)
		{
			if(ADSam_Code[Set_array_count]>=32)
			{
				x1 = MoniCode[ADSam_Code[Set_array_count]-32];
				if(Set_temp==0)
				{
					if(x1==2){if(key_data==key_0)Set_array[0]=25;else if(key_data==key_1)Set_array[0]=26;}
					else Set_array[0]= key_data;
				}
				else Set_array[Set_temp] = key_data;
				Set_temp+=1;
				if(Set_temp==4)	Set_temp = 5;
				else if(Set_temp==6)Set_temp = 0;
				write_word(101,40,DanWei[x1],16,16);	
				for(x1=0;x1<6;x1++)	
					write_number(weizhi[x1],40,Set_array[x1]);
   				write_number_black(weizhi[Set_temp],40,Set_array[Set_temp]);
			}
			else return;
		}
		else if(key_data==key_sure)
		{
			x1 = ADSam_Code[Set_array_count] ;
			if(x1 >= 32)
			{
				x1 = MoniCode[x1];
				if(x1==2)	IP_data = 0;else IP_data = Set_array[0]*10000;
				IP_data += (Set_array[1]*1000+Set_array[2]*100+Set_array[3]*10+Set_array[5]);
				if(IP_data>65535)	return;
				
				temp = IP_data;
				if(x1==2)//温度
				{
					if(Set_array[0]!=25)	temp = temp + 400;else temp = 400 - temp;
				}
				if(key_data==8)		temp = CountZero(x1,ADSam_Value[Set_array_count],temp,ADAlarm_para[2][Set_array_count]);
				x1 = I2C_UP+32*(Menu_ID-18)+Set_array_count*2;
				II3WR(AT24C256,x1,temp>>8);
				II3WR(AT24C256,x1+1,temp&0x00ff);
				ADAlarm_para[Menu_ID-18][Set_array_count] = temp;
				
				if(Set_array_count<15)	Set_array_count += 1;else Set_array_count=0;
				Set_temp = 0;
				if(Menu_ID==20)	temp = ADSam_Value[Set_array_count];else temp = ADAlarm_para[Menu_ID-18][Set_array_count];
				Disp_updownzero(temp,Set_array_count+1);
			}
		}
		break;   		
	case 21:
		if(key_data==key_9)		Disp_KaHao();
		//else if(key_data==key_0)	Disp_QiTa();
		else if(key_data==key_up)	ON_SET_FACE2();
		else if(key_data==key_cancel)	ON_1_face();
		break;
	case 22:
		if(key_data==key_cancel)	{ON_SET_FACE3();return;}
		else if(key_data==key_1)	//添加
		{
			CardNo[Set_array_count][0] = 1;
			CardNo[Set_array_count][1] = Set_array[0];
			CardNo[Set_array_count][2] = Set_array[1];
			CardNo[Set_array_count][3] = Set_array[2];
			CardNo[Set_array_count][4] = Set_array[3];
			for(x1=0; x1<5; x1++)
				II3WR(AT24C256,I2C_Card+Set_array_count*5+x1,CardNo[Set_array_count][x1]);
		}
		else if(key_data==key_2)//删除
		{
			CardNo[Set_array_count][0] = 0;
			II3WR(AT24C256,I2C_Card+Set_array_count*5,0);
		}
		else if(key_data==key_up)
		{
			if(Set_array_count>=1)	Set_array_count -= 1;else Set_array_count = MaxCard-1;
		}
		else if(key_data==key_down)
		{
			if(Set_array_count<MaxCard-1)Set_array_count +=1;else Set_array_count=0;
		}
		else return;
		Disp_CardNo(CardNo[Set_array_count],Set_array_count,0);
		break;
	case 23:
		if(key_data==key_cancel)	ON_SET_FACE3();
		break;
	}
}
/*********************************************************************************************************
* 函数名称:key_delay
*
* 功能描述:延时程序
*
* 说明:
* 
********************************************************************************************************/
void key_delay(void)
{
   uint k;
   for(k = 0;k < 500; k++);
}

⌨️ 快捷键说明

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