【蓝桥杯单片机】十一届省赛“重难点”解析(附源码)

【蓝桥杯单片机】十一届省赛“重难点”解析


笔记包括:①题目难点解析、②易出错点提示、③完整代码链接
本文提供的所有代码都是使用第十四届竞赛包完成

⭐系列文章链接⭐
【蓝桥杯单片机】十四届省赛“重难点”解析(附源码)
【蓝桥杯单片机】十三届省赛“重难点”解析(附源码)
【蓝桥杯单片机】十二届省赛“重难点”解析(附源码)
【蓝桥杯单片机】十一届省赛“重难点”解析(附源码)


一、题目难点解析

  1. 计数值+1触发条件:
    解释:注意题图,分析出计数累加的条件为——下降沿触发时——“实际电压值从高到低”且“经过参数电压”
    方法:设置两个变量,分别储存“最新电压值(smg_volt)”和“历史电压值(old_volt)”,
    在定时器中每隔50ms判断一次“计数条件 if((smg_volt < param)) && (old_volt >param))”是否满足(此处param为参数电压值)
    且要注意数值边界(当计数达到100时,计数值赋值0,从0开始重新计数)
    在这里插入图片描述

注: 将“AD获取电压值函数”与“判断计数条件”都放在50ms定时器中刷新,将数码管显示放在10ms定时器中进行刷新,保证界面显示与数值更新的符合性能要求,否则会出现鬼影(这也是我第一次将数码管放在定时器中进行刷新)


二、易出错点提示

  1. E2PROM实现参数掉电存储功能:
    解释:使用IIC进行通信,代码与PCF8951相似。要注意:
    ①电压参数的存储是在退出参数界面后有效的
    ②设备每次上电后都要将E2PROM地址0中的数据作为电压参数
    方法
    ①在参数界面–>技术界面时,调用AT24C02写入函数,将参数值写入地址0x00
    ②在系统初始化时,调用AT24C02读取函数,获取地址0x00所储存的参数电压值
    在这里插入图片描述
  1. LED1状态控制:
    在这里插入图片描述

解释
①“最新(实际)电压”小于“参数电压”,
我的理解是:
假设参数电压为3.00V,那么第一次实际电压测量为1.20V时,开始5s计时,若满足则点亮L1
第二次实际电压测量为2.50V时,因为需要重新开始计时,故L1先熄灭,当满足5s时,再点亮
总的来说,即在每一个最新电压值处,都需要重新判断计数5s的条件,即使前一个值和当前值都满足小于参数值
如果不加smg_volt==old_volt的判断条件,那么L1将会在第一次小于参数值后的所有小于参数值却不满5s的实际值下保持亮(不满足题目所表示的每一个状态都需要满足超过5s)
②满足条件,LED1亮5s(定时器中操作)


方法:5s计时条件:“最新电压值(smg_volt)”小于“参数电压值(param)”并且“最新电压值(smg_volt)”等于“上一次测量的电压值(old_volt)


在这里插入图片描述


注: 标注的蓝色部分不可以颠倒顺序,因为old_volt所处语句顺序才能够实现所要求的功能。
第一个old_volt仍然是上一次的历史值,而第二个old_volt已经被最新的电压值赋值了!!!

三、完整代码链接

下面提供了11届蓝桥杯单片机省赛代码,依据小蜜蜂老师风格编写
网盘链接:11届蓝桥杯单片机省赛代码-饥饿的半导体(提取码:1111)


本文是在博主练习完部分省赛题目后总结的笔记
文章为本人对试题的观点,难免有所欠缺,欢迎大家在评论区里共同讨论

相关推荐

  1. 十一届B】(部分详解)

    2024-04-12 01:22:04       37 阅读
  2. 单片机十一届

    2024-04-12 01:22:04       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 01:22:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 01:22:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 01:22:04       82 阅读
  4. Python语言-面向对象

    2024-04-12 01:22:04       91 阅读

热门阅读

  1. PCA 主成分分析

    2024-04-12 01:22:04       32 阅读
  2. Docker容器常用命令

    2024-04-12 01:22:04       33 阅读
  3. 【云开发笔记No.21】如何建设中台

    2024-04-12 01:22:04       34 阅读
  4. 爬虫之获取人人车网站中车辆的信息

    2024-04-12 01:22:04       37 阅读
  5. uniapp中实现中间大两边小轮播图

    2024-04-12 01:22:04       38 阅读
  6. SpringBoot中的yaml 与properties文件书写格式

    2024-04-12 01:22:04       36 阅读
  7. Python数据分析可视化之NumPy的使用

    2024-04-12 01:22:04       34 阅读