前言
最近一直没有更新关于蓝桥杯单片机的内容,不是摆烂了,最近一直在做题,由于蓝桥杯单片机从去年开始加入的机测,有好有坏,好处就是测评更加公平,坏处就是过于卡标准很难受,这里给大家分享一些偷分技巧,不一定用得上,但是可以来碰碰运气
这个地方所有的代码都是根据我之前写过的蓝桥杯单片机专栏进行调试的
评分机制
从上周发现了4T的评分系统,系统里面的测评主要是看显示,肯定主要是数码管和LED灯上面的显示,评分应该是用的仿真,这样的话,基础不好的,做不出来的,就只能去这么试试碰一下显示模块的分,向什么DA什么的,那里的分就不要想了这些地方我们可以去猜一下他可能会有的测评点,通过我们去猜,尽可能多的去拿分。
测评流程
在测评的时候,他会根据题目的要求,一点点的去测相关的内容,这样的测评就很完整,有能力的话,你就去尽可能的去完善你的代码,能力不足的话,你就去猜
DS1302部分
如果考到了时钟,你到赛场一看,傻眼了,这个时候,你就去想你之前做过的题,或者看看题目里面给的要求,初始值是多少
像这样
或者是这样
写的时候你就可这里的默认时间写就完事了
代码就像这样
void display(unsigned char count,num)
{
HC138(6);
P0 = 0X01<<count;
HC138(7);
P0 = SMG_duanma[num];
delay(845);
}
display(0,2);
display(1,3);
display(2,16);
display(3,5);
display(4,9);
display(5,16);
display(6,5);
display(7,0);
就直接这样硬干,能混到分就是赚到
简单显示
如果像是这样的,在一个界面有多个调试的题,你的逻辑有问题,就不要做那些的逻辑组装了,显示的有问题的话,你能来回切换上面查询的就可以了,因为这个里面还有一个复位的部分,用一个机器的思想去思考一下,这里肯定会测评两次,也就是相当于测了6个界面,你能拿到的分不比你组完逻辑后少
LED灯
这个地方在里面属于比较简单的部分了,亮个灯,一共就8个,比赛的情况下,应该会用到不少,这个地方,你看看这里的LED灯是基于什么变了,大多数是基于界面的变化去变的,界面的控制大多数又是基于按键,这里,你就去算,我切到哪个界面,哪个灯亮,我应该按哪个按键,你就可以尝试“跳脱”到界面显示之外,写一个用按键控灯的代码。
DS18B20温度界面
测温度,近几次测评也是只看显示界面,常测的温度有18,35,25这些想都不用想,肯定会常测,这些温度比较常见,所以测评大概率离不开这些示数,看看需要显示个什么字母,然后把每一个温度显示的界面都去猜同一个温度,这样也能碰到几分
这里做不出来去猜
iic
这个地方涉及到的模块比较多
AD部分数据比较分散,这里的数不好猜,确切来说是很难猜,但是有一种情况是可以的 ,让你通过AD读取到的电压值去模拟一个量,给你一个平面直角坐标系,上面是一个一次函数,这个函数是分段函数的话,大概率就会有两段读取的电压值要被抛弃,这两段的值说白了就直接摆到脸上了,需要显示的话,或者输出的话,你就无脑去写一边被抛掉的值,这个地方温度也适用
向这样的,就无脑输出一个1V或者4V的电压就能拿到一部分的分
按键
蓝桥杯电子赛的赛项,我了解到的,都是用按键去调试并实现相应的功能,这里我们就要去摩拉摩拉按键了,按键这个地方,啥都不会写的,就拿蓝桥杯单片机基础部分——1、基础模块代码
这里面的按键往上硬凑,分不清独立按键和矩阵按键的,看看让你用了哪些按键,如果只用来S4,S5,S6,S7那就是独立按键,如果用了别的按键就是矩阵按键。这里直接定义一个变量自增,或者自减,去通过这个变量去做别的界面的显示,只把按键写出来没有分,只有按键按下或者抬起有他需要的显示状态,才会有分
总结
这些东西只是博主近期针对4T评分系统做题发现的一些小bug,可以通过这些bug去“偷”一些分,但是要靠着这些分去拿一个很好的名次,那几乎是不可能,这只是到赛场大脑临时短路用到一些小技巧,如果能帮到大家那是博主的荣幸,帮不到大家那就肯定是大佬来单片机组炸鱼了,希望大家在明天的比赛中都能拿一个好的成绩
最后提醒大家一下
1.比赛时间比较长,5个小时大家可以,买一瓶水带着,低血糖的就点吃的,像什么巧克力什么的
2.根据个人的体质,今天控制一下饮食,早上吃饱饭
3.比赛开始前,可以提前把底层代码写好,充分利用好每一分每一秒
4.带着卫生纸🧻,在口袋里。擦鼻涕,上厕所,擦眼泪都用得到。
5.晚上不要熬夜,可以早起看,尽量不要晚上看。
6.遇到不会的要冷静,你不会别人也不会。