大家应该也都该开学了吧?大Z在这里祝大家返校路途,一路顺风哦~!
到了学校,新学期就要开始了。希望大家做好规划,每个学期都要有所收获,新年新学期,新春新风貌嘛~好了,言归正传,本节我们接着看2015年的蓝桥杯省赛试题,在做过前几届的试题之后,我们能够明显的感觉到2015年的试题好像是曾相识啊!让做的是“温度记录器”。仅看题目,能够大概猜到应该又是按键+数码管+DS18B20的知识点的组合。果然,打开题目要求一看,跟我们猜的差不多,是按键+数码管+DS18B20+DS1302这个组合,我们在前面的帖子当中已经见过。因此,做起来应该不在话下。具体的题目要求可以摸下方超链接进行下载。
下面,我们依旧一起对该题进行简要解析。
(1)温度DS18B20和时钟DS1302的驱动程序是蓝桥杯官方给提供的,我们只需要自己动的手写一个读取函数调用即可。
(2)定时器函数和延时函数(通过审题结合实际确定具体数值)可以先写出来。
(3)看见有数码管可以先把的数码管的初始化和赋值函数写上。
(4)看见有矩阵按键(或独立按键)就可以写上按键矩阵扫描函数。关于矩阵按键,我们在第一阶段的帖子中没有练习到,请大家移步到第三阶段--22. 蓝桥杯官方板CT107D矩阵键盘的使用(摸我跳转),进行练习哦~
(5)剩下的就是温度的读取,储存,显示和数码管显示不同界面的处理,以及按键的处理,其中按键的处理比较复杂,主要考察大家的逻辑能力,大家一定要有耐心,慢慢来,理清逻辑上的思路。
对于本套试题,数码管显示不同界面时,我们在程序中采取了一个SmgFlag变量作为标志位,通过不同的按键事件,赋予此标志位不同的值,根据扫描标志位的值来显示不同的界面。按键处理时通过对不同按键的判断来设置不同的变量和标志位,最总来达到数码管显示不同的界面和数据。对于用到定时器的L1闪烁,提示符闪烁,温度采集间隔和显示间隔,我们在程序中都选择放在中断服务函数中执行。这样能够提高单片机程序响应的效率。下面仍然将程序下载链接贴上,欢迎大家下载参考,多多交流!
----------------所有代码打包下载链接------------------
16. 2015年蓝桥杯省赛真题解析--温度记录器_代码打包.zip