【蓝桥杯嵌入式·模拟解析】第十五届蓝桥杯嵌入式设计与开发项目模拟赛(第三期)——程序设计试题

本文详述了作者对第十五届蓝桥杯嵌入式设计与开发项目模拟赛的程序设计解析,涵盖按键、ADC、LED、串口和LCD等考点。通过思路分析和程序实现,解析了如何处理按键检测、ADC采集、LED控制、串口通信及LCD显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:本文为作者对第十五届蓝桥杯嵌入式设计与开发项目模拟赛(第三期)——程序设计试题的解析。本文包括“题目要求”、“程序设计”、“效果展示”3个部分。供复盘使用。若发现错误之处,请不吝赐教。

链接:蓝桥杯嵌入式方向备赛记录(STM32G431)为作者备赛蓝桥杯嵌入式过程中,整理的学习总结。包括各模块使用要点、各模块程序等,基本搭建好工程框架,给出了各模块处理程序。

 写在前面:本道题很常规,没有难度。只有一处存在疑问/歧义。

目录

一、题目要求 

二、程序设计

(一)思路分析

1、涉及考点

2、几条主线

3、注意点 

(二)程序设计

1、按键

2、ADC

3、LED

4、串口

5、SYSTIC

6、LCD

7、整合

三、效果展示

一、题目要求 

二、程序设计

(一)思路分析

前期已准备好模块程序、搭建好工程框架,下面结合本道题,实际分析工程思路:

1、涉及考点

      按键、ADC、LED、串口、LCD。

2、几条主线

(1)按键:要完成按键检测+功能处理。“按键检测”使用模块程序(非阻塞+移位消抖)即可。下面分析具体功能:B1:界面切换按键,程序上改变界面状态标志位即可;B2、B3、B4:不同界面下执行对应功能,通过运算符对变量处理,处理好变量关系即可。

(2)ADC:采集:R37电压,注意校准即可。处理:注意C语言相关问题。

(3)LED

        常规操作:判断标志位、位带操作。主要是点亮1秒后熄灭systic里进行秒计数;ADC处理函数内,当检测通过(合格时),将秒计数清0;在LED处理函数内,判断检测通过标志位且秒计数<2,即点亮,否则熄灭。这样就实现了:检测通过且在1秒内,灯亮。1秒后,灯不亮。

(4)串口:接收到固定数据后,返回信息。使用串口模块程序即可。4个函数:中断回调函数、判断合法性函数、串口处理函数、串口重定向注意:9600,速度慢,单片机程序执行很快,可以将串口处理函数减速:

if(ucUar < 100)	//加上去后,没有出现发送R37/8不回复的情况了
		return;
	ucUar = 0;

(5)LCD:常规。

3、注意点 

(1)合理设置变量,减小复杂度,大大缩减工作量。float 、uint8_t类型变量。如2.2在加减,可以加减22(以整型运算),在显示处/10.0(转化为浮点型)。

(2)巧妙/多设置状态标志位,使复杂问题清晰化。

(3)文章开头提到的疑问/歧义?:

        疑问:合格率清零,那么对应的总检测数、符合标准数,要不要清0?
        假设:总数:2  合格数  1   合格率50%   改变产品标准,清零合格率,若再检测一个,合格。则有两种处理:(1)总数为1,合格数为1,合格率100%;(2)总数为3,合格数为2,合格率66.7%。

        哪种思路正确呢?本程序采用思路(2)处理。最终测评为满分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值