十五届蓝桥杯嵌入式真题及代码解析

目录

前言

题目


前言

刚刚打完十五届蓝桥杯,今年的题目相较于去年比较简单,所以侥幸拿了个省一,想跟大家分享一下我的做题思路(如果有不对的地方,请帮忙指出,感谢大家)

题目

解析

第一步:cubemx设置外设

这个题目中的外设用的不多就不过多介绍了,无非就是把LED,LCD,KEY,输入捕获定时器引脚设置一下就行了

先初始化一个计时用的定时器,10ms刷新一次,以用于检测按键按下以及后面提到的时间窗口

另外打开两个输入捕获通道的定时器中断(我这里用到的是PB4—TIM3_CH1,PA15—TIM2_CH1),设置好模式,触发源,时钟源,直接间接通道,还有上升沿,下降沿

下图是定时器2的设置内容,定时器3也是一样的

第二步:代码编写

1、变量定义

struct KEY keys[5] = {0,0};//按键值
u8 face = 0;//界面
u8 display_val = 0;//数据显示界面变量

//频率
int frq_A = 0;
int frq_B = 0;
float frqA_khz = 0;
float frqB_khz = 0;

//周期
float time_A = 0;
float time_B = 0;

//设置参数变量
u8 PNUM = 0; //选择参数0.PD  1.PH  2.PX
u16 PD = 1000;
u16 PH = 5000;
int PX = 0;

//频率超限标志位
u8 PH_A = 1;  
u8 PH_B = 1;

//3s的时间窗口变量
u16 Timewindow = 0;

//频率超限变量
int frqA_MAX = 0;
int frqA_MIN = 0;
int frq_NDA = 0;  //frqA的差值

int frqB_MAX = 0;
int frqB_MIN = 0;
int frq_NDB = 0;  //frqB的差值

//记录参数变量
u8 NDA,NDB,NHA,NHB = 0;

//输入捕获值 1.直接 2.间接
uint32_t tim2_val1,tim2_v
### 蓝桥杯嵌入式类别历年真题概述 对于蓝桥杯中的嵌入式题目,这类比通常会考察参者对硬件设计、编程以及逻辑电路的理解能力。根据过往的经验,在比中遇到的题目范围广泛,涵盖了从基础理论到实际应用的各种知识点。 针对十五届蓝桥杯的具体情况,有参与者提到该年度的比难度有所下降,并分享了一些个人见解和解题方法[^1]。这表明通过适当准备,考生可以获得较好的成绩表现。然而值得注意的是每位选手的感受可能因个体差异而有所不同。 关于门电路及其在线与功能上的应用,确实存在一定的复杂度。某些情况下直接记忆常见的组合方式可能是应对考试的一种策略;但是从根本上掌握这些概念背后的物理机制将会更加有助于长期的学习和发展[^2]。 为了帮助更好地理解和练习此类问题,下面提供一段简单的Python代码用于模拟基本逻辑运算: ```python def and_gate(a, b): """Simulate AND gate operation.""" return a & b def or_gate(a, b): """Simulate OR gate operation.""" return a | b def not_gate(a): """Simulate NOT gate (inverter) operation.""" return ~a + 2 # Adjusting for Python's negative bit representation # Example usage of gates to create NAND functionality which can be used as universal building block. nand_output = not_gate(and_gate(0b1, 0b1)) print(f"NAND output is {bin(nand_output)}") ``` 上述代码片段展示了如何利用Python来模仿最基本的布尔代数操作——即与(AND)、或(OR)及非(NOT)。NAND门作为通用构建模块能够用来创建其他类型的逻辑门,这对于解决涉及线与特性的挑战特别有用。
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值