龙空技术网

干货!蓝桥杯单片机组一经验分享

海贼王路飞一路带飞 261

前言:

现时我们对“java蓝桥杯题目先输入行数t”大致比较看重,大家都想要分析一些“java蓝桥杯题目先输入行数t”的相关内容。那么小编在网络上收集了一些关于“java蓝桥杯题目先输入行数t””的相关文章,希望姐妹们能喜欢,大家快快来学习一下吧!

原创李志锐 路飞的电子设计宝藏 4月21日

现在大学生越来越内卷了,搞几个国一防身是极好的,或者只为通过准备比赛提高自己的电子编程能力,也算是没有荒废度日。

我连续获得了三届的蓝桥杯电子类单片机组的国一,分别在我大一、大二和大三时期(或者说大四?疫情原因推迟),做一些分析和分享,帮助大家拿国一,希望有用。

以下是分析:

首先,该比赛分为省赛和国赛,每场比赛均为5个小时,有30%分数的客观题和70%分数的程序题。

其中,客观题通常包含选择题(不定项选择题)和填空题(有时没有),其考查内容涵盖模拟电路和数字电路及单片机的全部内容,曾考察过典型晶体管放大电路特性、滤波器、卡诺图、逻辑门、SPI/I2C等协议基础,单片机的一些外设和内部的其他特性,其中一部分知识可以通过翻阅提供的数据手册等相关PDF来解决。

对于程序题,准备时要注意几点:

1、 英文水平要达标,至少要能看得懂数据手册,以便在考试时遇到问题随时翻阅数据手册!!

2、 熟练掌握各个外设的驱动程序的编写,包括LED/矩阵键盘/独立键盘/ADC/DAC/DS1302/DS18B20/超声波/NE555频率测量/串口收发/EEPROM等,同时要学会条理地组织程序,学会模块化,高耦合低内聚以结构化方式设计程序。

3、 对于非外界访问的函数和全局变量,使用static修饰以防止符号重名和误调用。

4、 尽量不要通过extern在不同文件间共享变量。

5、 可以通过设置为Large Memory模式并开启XDATA软件栈,从而支持庞大的全局变量、局部变量内存空间需求和深度函数调用需求。

6、 注意正在使用的内存空间,合理分配CODE、DATA与XDATA。

7、 学会STARTUP.A51文件中配置的相关修改方法及Keil工程中的诸多选项的含义。

8、 注意避免程序中的竞争条件。

9、 外设操作时序严格时务必关中断。

10、 要理解MCU的结构原理和其数字电路特性,正确把握可靠的时序要求,这方面我同时推荐阅读《编码的奥秘》一书,同时最好将MCS-51架构的Intel官方数据手册完整阅读一遍。

11、 推荐学习操作系统相关理论基础,我在平时的比赛中,就通过手写非抢占式调度器以及其它的一些抽象组件,从而简化应用实现难度,省赛2小时,国赛2~3小时轻松秒杀比赛,同时,自己要熟练构造这些组件并掌握快速调试技巧,以便保证能够在比赛中正确使用。

12、 打字速度很重要,比较快的打字速度才能支撑你使用第9条中提到的技巧,在使用这种技巧的情况下,国赛的代码行数很可能达到1000~2000行,不过在高速打字速度以及熟练应用系统化技巧的情况下,可以抵消掉不使用这些技巧时所造成的额外代码编写难度及调试时间,还是很划算的。

13、 可以学习一下成熟的RTOS例如FreeRTOS、ucOS、RT-Thread的实现,并尝试进行移植,可以进一步提升这方面的技能。

14、 要熟练使用万用表等测量工具,这会在比赛时助你一臂之力。

15、 熟悉往届的省赛和国赛题。

16、 比赛时要注意检查客观题和程序题的答案,确保客观题答案和你想要选择的一致,计算类客观题要注意多计算几次或者换方法计算,必要时可使用电脑的计算器软件辅助计算,程序题,注意要上传整个工程打包成的压缩包,其中一定要有编译好的Hex文件,要保证程序的时钟频率和题目要求的一致,一般11.0592M与12M为多,同时要特别注意题目要求使用矩阵键盘还是独立键盘,注意设置对应的跳线帽,同时一般比赛都不使用MMIO模式,敬请注意!

17、 推荐做一下我出的《蓝桥杯终极主观题》,如果可以在4小时以内甚至3.5小时以完成该试题,则在不出现大差错的前提下,获得国一问题不大。

更多精彩在公众号:路飞的电子设计宝藏 公众号回复蓝桥杯即可下载

标签: #java蓝桥杯题目先输入行数t