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代表采集温度大于温度参数的报警指示灯,其闪烁功能可以通过定时器来完成判断。

物联沃分享整理
物联沃-IOTWORD物联网 » 2023年第十四届蓝桥杯单片机开放与设计省赛微析与经验分享

1 评论

  1. 今天做了一下,感觉挺复杂的,那个平均值我使用多次求和sum,除以触发次数的,目前还在研究,多谢分享!

发表评论