导航菜单
首页 >  蓝桥杯省赛真题单片机  > 2023年第十四届蓝桥杯单片机开放与设计省赛微析与经验分享

2023年第十四届蓝桥杯单片机开放与设计省赛微析与经验分享

前言:

       2023年4月8日, 就在昨天,本人刚参与了第十四届蓝桥杯单片机开放与设计省赛。

        整体做下来,且不谈客观题,今年的程序题,个人感觉有点像大杂烩,题量大,细节多,而且有些要求定义不够清晰,所以本人这次做的不够完美,并且因为时间问题有些小功能没能实现,想在排名中拿到省一,还得看大家做的情况。

        但人总是要前进的嘛,吸取其中的不足,总结经验就好了;那么就来看看这届省题究竟考查了我们什么内容:

目录

整体硬件框图​编辑

功能描述

显示功能

采集触发

按键功能

LED指示灯功能

整体硬件框图

探讨:考察PCF8591,DS18B20,DS1302,NE555脉冲这四个外设还是蛮基础的,最主要是在编写代码的时候,要耐心的逐个测试,特别是今年取消了底层文件的.h文件的情况下(根据主办方的话是说,历年的.h文件包含reg52.h这个头文件,会和stc15f2k60s2.h头文件冲突,就不再提供.h文件,而且未来几年也将会是这种情况),这些底层文件的.h文件需要自己观察原理图并配置引脚;其次是矩阵键盘、数码管显示以及LED指示灯需要看下面的具体要求,再进行具体配置。

功能描述 显示功能

探讨:当我们测试好每个外设模块,就可以根据功能描述针对这些返回的外设数据进行处理,再用数码管显示出来。需要注意的是每个显示的界面都有不同的要求:不同的标识符/间隔符、显示整数值/小数值、不足位时是否补0、数据的范围、数码管显示的影响等等,这都需要我们进行仔细审题。

例如:

        在本次的湿度测量中,就要求我们对NE555测量的频率值进行处理,转换为湿度值,其中要在要求的范围内,求出频率值与湿度值的线性关系,已达到通过控制频率值来控制湿度值。

        在温度回显界面中,就要求我们显示标识符C、间隔符-、以及显示最大温度值和平均温度值。对于最大温度值,就需要在每次温度识别时进行判断,求其最大值;平均温度值,就需要进行多次温度识别,求其平均值。

吐槽:

        对于温度回显界面的平均温度值,比赛方并没有说出明确定义,本人甚是迷惑:究竟指的是多次温度识别后,对其求总和再算其平均值;还是求出最大值、最小值,对其求总和再算其平均值(本人用的是后一种方法,主要是不能get到比赛方的点);有明白的同学可以在评论区说出你们的见解,这对我帮助很大!!

采集触发

例如:根据题意,对于采集触发的判断,需要进行两次判断,才能进入到温湿度显示界面,并且这一判断是最高优先级:在任意显示界面下,条件成立就进行跳转显示温湿度;其中,3秒内不可重复触发(即触发3秒后返回),需要利用定时器进行判断3秒条件。

        对于“挡光”、“暗”、“亮”的条件,比赛方也没有给出具体参数,可能是因为每个考场的光亮条件不一样,无法确定一个固定值。通过赛后解析,比赛方是说会在绝对条件下进行评判“亮”“暗”条件,即255、0;

按键功能

探讨:对于按键控制,一般有几个注意事项:设置按键模式(KED/BTN)、设置键的个数(一般为4个)、按键消抖、按键不影响其他功能、按键的长按与短按、特定页面按键有无效等。基于上述要求,每个按键又有不同功能,一般为:切换界面显示、记录采集数据、采集数据暂停、采集数据清零、采集数据“加1”、采集数据“减1”等。

例如:

        在本次的按键控制中,S4作为主显示界面的循环控制按键,S5作为回显界面的子界面循环控制按键,S8作为参数界面的“加1”按键,S9作为参数界面的“减1”按键。每个按键都可以控制相关变量,再来控制相关显示函数。S9多了一个长按的功能,可以通过定时器来完成判断。

LED指示灯功能

探讨:对于LED指示灯,比赛一般有界面指示灯、报警指示灯;界面指示灯一般常亮,每个不同LED灯对应一种显示界面;报警指示灯一般闪烁或熄灭,其中LED灯的状态一般代表某一参数值与实时数据的状态存在差异,或某一参数值超过阈值。

例如:

        在本次的LED指示灯中,L1代表时间界面的界面指示灯,L4代表采集温度大于温度参数的报警指示灯,其闪烁功能可以通过定时器来完成判断。

相关推荐: