您当前的位置: 首页 >  嵌入式

风间琉璃•

暂无认证

  • 0浏览

    0关注

    337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

2016年嵌入式第七届省赛真题解析

风间琉璃• 发布时间:2022-02-15 22:43:04 ,浏览量:0

 

串口发送数据会修改显示数组的值:原因暂未找到!!!

一、题目

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA57yW56iL5bCP54aK,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA57yW56iL5bCP54aK,size_20,color_FFFFFF,t_70,g_se,x_16 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA57yW56iL5bCP54aK,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA57yW56iL5bCP54aK,size_20,color_FFFFFF,t_70,g_se,x_16

二、分析 

 题目要求做一个液位检测告警系统,这里将将题目分为四大部分显示界面,设置界面,串口收发,LED灯指示

1.界面

 由于题目用到了按键切换不同的界面,所以先做界面与按键切换这一部分。

 

 ​watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA57yW56iL5bCP54aK,size_20,color_FFFFFF,t_70,g_se,x_16

界面的控制用变量lcd_ctrl控制:若变量等于0x00则表示显示界面;若变量为0x1_,则为设置界面,并且0x10设置阈值1,0x11设置阈值2,0x12设置阈值3


if(unKey_Down == 1)  // 界面切换
	{	
		if(lcd_ctrl == 0x00)
		{
			LCD_Clear(White);
			lcd_ctrl = 0x10;
		}
		else
		{
			LCD_Clear(White);lcd_ctrl = 0x00;
            LCD_Clear(White);lcd_ctrl = 0x00;
			iic_24c02_write(high_level_ctrl, 0, 3); //写
			high_level_ctrl[0] = high_level_disp[0];  //将显示值(进行加减)赋给控制值
			high_level_ctrl[1] = high_level_disp[1];
			high_level_ctrl[2] = high_level_disp[2];
			
		}	
	}
	if(unKey_Down == 2 && lcd_ctrl>>4 ==0x1)  // 选择,默认第一行:0x10
	{	
		if(lcd_ctrl>= 0x12) lcd_ctrl = 0x10;
		else lcd_ctrl++;
	}

软件滤波:采用中值滤波,即在在采集ADC数据时,总共采取10次,结果求起平均值即可。

//中值滤波
	for(count=0;count=95) high_level_disp[2] = 95;
			else if(high_level_disp[2]>high_level_disp[1])high_level_disp[2] += 5;
		}
	}
	
	if(unKey_Down == 4)  // 减
	{	
		if(lcd_ctrl == 0x10)
		{
			if(high_level_disp[0]            
关注
打赏
1665385461
查看更多评论
0.2286s