11加入移位数字设置和蜂鸣器手动关停

普中精灵红外地址

#define LEV_ADD			0X90
#define LEV_MIN			0XA8
#define LEV_EQ		0XE0
#define LEV_STOP			0XA2
#define LEV_MODE			0X62
#define LEV_MU		0XE2
#define LEV_RIGHTENG			0XF9
#define LEV_LEFT			0X02
#define LEV_RIGHT			0XC2
#define LEV_0		0X68
#define LEV_RRT			0X98
#define LEV_U_SD			0X60
#define LEV_1		0X30
#define LEV_2			0X18
#define LEV_3			0X7A
#define LEV_4		0X10
#define LEV_5			0X38
#define LEV_6			0X9A
#define LEV_7		0X42
#define LEV_8			0X4A
#define LEV_9			0X52

蜂鸣器手动关停(红外静音键)

void BEEP_Alarm(u8 times,u8 us)
{
	
	while(times--)
	{
		BEEP=!BEEP;
		delay_us(us);
		if(sys_ctrl.code==LEV_MU)break;
	}
}

设置模式(按键矩阵)s12独立按键加减,s13红外数字设置,s14模式切换,s15数码管显示当前温度,s16数码管显示温度上下限。

void msgset(void)
	{u8 key1=0;
			u8 buf[8];
		key1=KEY_Matrix_Scan();
	switch(key1)
{
	case 1: break;//??????
		case 2:break;
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
		case 9: break;
		case 10:break;
		case 11:break;
		case 12:Myflag.n=0;break;
		case 13:Myflag.n=1;break;//??????(S13)
		
		case 15:Myflag.c=0;break;//??????(S15)
		case 16:Myflag.c=1;break;
		case 14:Myflag.Timeflag++;
		if(Myflag.Timeflag>2)Myflag.Timeflag=1;
		break;//??????(S14)
				//????????????????(S16)
}

数字设置(红外)

注:目前只设置了1,其他数字同1的代码!!!!

void numset(void)
{u8 w=0;
	int a,b;
	
	if(sys_ctrl.code==LEV_MODE){
		Myflag.Timeflag++;
		if(Myflag.Timeflag>2)Myflag.Timeflag=1;
	}
	if(Myflag.Timeflag==1){
		a=Myflag.h/10%10;
		b=Myflag.h%10;
	}
		if(Myflag.Timeflag==2){
		a=Myflag.l/10%10;
		b=Myflag.l%10;
	}

	if(Myflag.Timeflag!=0){
		if(sys_ctrl.code==LEV_ADD){
				b++;
					if(b>9){a++;b=0;if(a==10)a=0;}
		}
		else if(sys_ctrl.code==LEV_MIN){
				b--;
					if(b<0){a--;b=9;if(a==0)a=9;}
			}
		}
		else if(sys_ctrl.code==LEV_EQ){
			switch(Myflag.Timeflag){
				case 1:Myflag.h=a*10+b;
					break;
				case 2:Myflag.l=a*10+b;
					break;
			}
			Myflag.Timeflag=0;
		}
		else if(sys_ctrl.code==LEV_LEFT){
			w++;
			if(w>1)w=0;
		}
			else if(sys_ctrl.code==LEV_LEFT){
			w++;
			if(w>1)w=0;
		}
			else if(sys_ctrl.code==LEV_1){
			if(w==1)a=1*pow(10,w);
					if(w==0)b=1*pow(10,w);
		}
	}

数字设置(矩阵按键)类似于红外,在设置模式函数中进行修改,见之后的完整的代码!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值