这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【原创】关于备战蓝桥杯的心得体会--from杰

共2条 1/1 1 跳转至

【原创】关于备战蓝桥杯的心得体会--from杰

工程师
2025-02-17 23:59:25     打赏

寒假期间为了准备蓝桥杯比赛,我对蓝桥杯相关知识点进行了系统的学习,假期处的一次技术贴和蓝桥杯比赛题目相比让我明白自己学习的还是相当的浅薄,我也通过b站其他up主和小红书上搜索相关知识,最终决定跟着bup主小蜜蜂和西风系统学习。

在最初的学习过程中我发现蓝桥杯要比江科大所用的普中板子要多一个锁存器,西风并没有详细的讲解寄存器的运用,所以最初的学习比较迷茫。之后我先通过学习小蜜蜂网课,让我对锁存器相干的调用和相关的模块学习有了比较熟练的应用。

跟着小蜜蜂网课学完后我发现自己还是无法单独的进行省赛题目。所以我又再去听西风的课程,西风的大模板让我第一次见到特别震撼,他将一系列所用的模块总结到一个模块中,每当题目所用到的只需要去大模块指定的区域进行编写代码即可。因为每个老师讲课有自己的风格,所以最初学习我还是很难适应,我需要对一节课程进行多次的学习。而且我通过总结小蜜蜂的知识对西风模板中较为麻烦的地方进行修改,尽可能的使大模板能够更加简洁。

一、up主小蜜蜂

锁存器尤为重要,在一开始的江科大课程中并没有用到锁存器,所以一开始我还是比较陌生。

蓝桥杯主要用到DS18B20温度传感器模块,DS1302时钟模块,超声波模块,PCF8591模块AT24C02模块,其中很多模块在江科大视频中有过学习,而且主要的时序结构蓝桥杯比赛会有提供,在学习的过程中还有减轻了很多压力。

 

1.锁存器

锁存器尤为重要,在一开始的江科大课程中并没有用到锁存器,所以一开始我还是比较陌生。通过锁存器的作用减少了引脚的使用。

图片1.png

在蓝桥杯单片机赛道等相关电路设计中,常用于对多个设备或模块进行片选控制。比如在控制数码管显示时,通过 74HC138 选择不同的数码管进行驱动;在控制多个传感器或存储芯片时,用于选通特定的芯片进行数据传输或操作等。

图片2.png

通过控制P25,P26,P27来控制来使Yn置低电平。所以对P2端口进行特定的位操作,根据传入参数n的值来选择所需要的译码器

通过小蜜蜂的学习我对锁存器有很好的掌握,所以在西风的学习过程中,对他的锁存器进行优化,将锁存器代码模块创建函数,需要用到时只需要调用CH573_Select()函数,而且又基于西风讲解,在函数中每次赋值完P2后将P2高三位清零处理。

2.其他模块

图片3.png

模块的使用相比普中的板子需要先调用锁存器,通过锁存器来控制所用到的译码器。

再经过up主小蜜蜂学习后我发现,这位老师只讲解了模块基础,而且没有一个系统的编程模板,在进行省赛题的过程中会没有一个大概的思路,很容易造成脑子空白。所以在我通过小蜜蜂老师学习过后感觉自己并无法能够进行省赛题的练习。

二、up主西风

之后我又开始跟着up主西风学习,通过掌握蓝桥杯基础知识后,在西风这里学习还是比较轻松。很多地方也有了思路,并且在学习大模板的过程中从一开始的疑惑到迷茫再到通透的过程中花了不少时间,但是在自己完全熟悉大模板后发现了方便之处,每当用到模块时只需要去相应的区域去编写代码。

图片4.png

图片5.png

1. 按键边沿检测

图片6.png

将当前的键码值Key_Val赋值给Key_Old,使得Key_Old记录的是本次按键扫描前的键码值,为下一次按键扫描时判断按键状态变化(下降沿和上升沿)提供上一次的状态参考,起到辅助扫描的作用。总体而言,这几行代码通过巧妙的位运算,实现了对按键按下和松开瞬间(即下降沿和上升沿)的准确捕捉,有助于在程序中对按键的操作进行更精确的响应和处理。

这部分代码我在普中板子学习过程和小蜜蜂老师那里学习并没有见过,通过Key_DownKey_Up分别捕捉下降沿和上升沿,能够准确区分按键的按下和松开操作。而且通过捕捉下降沿和上升沿,配合适当的软件延时消抖,可以有效避免抖动造成的误判,确保只对一次真实的按键操作进行响应。

图片7.png

数码管显示部分运用的也非常好,在中断中控制数码管显示设置的数码管数组,在需要设置数码管显示内容时只需要改变数码管数组即可。相似之处,LED也是设置一个数组,如果显示只需要使LED数组相应位置改变即可。

  西风在很多地方与小蜜蜂老师或者江科大有一些差异,但是他的模板确实非常方便,之后我也进行了两个省赛题练习,通过使用他的模板,让我在进行题目分析的过程中有了较为清晰的思路。

二、总结

通过对两位up主的课程学习,让我对单片机有了更深刻的理解,每位老师有对同一块的知识有不同的理解,所以在一些方面编程代码可能不同。所以我可以对两个老师的知识进行整理,将好的地方结合在一起,在这个过程中我会对每个老师的思路进行学习,可能需要很长的时间去理解,但是这让我对知识点掌握更加深刻,运用起来更加熟练。

在学习的过程中遇到过很多的困难,编程思路的不理解,烧录后无法正确实现,或者代码编译错误,但是这个过程这个过程不仅提升了我的编程能力,更培养了我严谨的思维习惯。在最后的两个月时间里我会继续努力,对省赛题进行练习,争取在蓝桥杯比赛中取得好的成绩。



专家
2025-02-18 09:05:53     打赏
2楼

感谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]