蓝桥杯单片机组速成秘籍(模块+代码思路)

本文不说底层原理,只说蓝桥杯中模块相应代码该如何写,代码的思路一定要自己敲出来,测试出相应的结果。模块练熟了再去敲往年的赛题,毕竟九尺之台,起于累土

模块

main

主函数部分,这个把各个模块融合在一起,可以最后再看

common

这个写一些整个代码要用的宏定义和系统初始化函数,Systen_init()关led,关蜂鸣器继电器,Y4,Y5,Y6,Y7是打开Y4,Y5,Y6,Y7,这个是板子上的结构,看不看都行只要你能把它弄开就行,不过建议看一下,是数电的知识,没啥坏处,咱速成就不深究这个了。
蓝桥杯单片机组速成秘籍(模块+代码思路)_第1张图片

ds18b20

这个是温度模块,比赛的时候会给驱动,这个是后面的要自己写,上面的这个是整数的温度,下面是小数点的,根据题目要求,我的建议是看小数的就行,值得一提的是那个驱动,这个驱动本来是比赛的时候提供的,但是。。。它可能是错的,要改成下面这个驱动不然时序是不对的,一定记住,不然比赛的时候能被坑死。。。。

蓝桥杯单片机组速成秘籍(模块+代码思路)_第2张图片

ds1302

ds1302是电子时钟模块,ds1302_init是初始化时钟,ds1302_read是读时钟的数据

E2PROM PCF8591

这个是加到比赛给的iic之后的,PCF8591_adc是测量相应通道的电压值,1是光敏电子,2是滑动变阻器;PCF8591_dac输出电压注释写的很清楚怎么赋值;e2prom_read读相应地址的数值;e2prom_write向相应地址写数值。

key

这个我建议根据原理自己写,因为比较简单

蓝桥杯单片机组速成秘籍(模块+代码思路)_第3张图片

smg

数码管模块,怎么显示看自己,建议放到定时器里面smg_set是设置八个数码管的值;smg_display是显示。

led

这个记得开Y4就行,一开始是关的

超声波

Read_wave读超声波的值,定时器是sciisp生成的

UART

串口这个初始化是sciisp生成的,sendstring发送字符串

pl

频率测量,一般关于定时器不会超过两个

代码思路

这个我的建议是模块练熟了去练往年的题,刚看到题目的时候看看要用到哪些模块,模块与芯片的关系是什么,然后先把各个模块敲好,一定要敲一个测试一个,打好基础。模块都敲好之后分析一下,题目的需求是什么,一般都是要求数码管显示出了,那不妨以次入手,想一下开始是什么显示界面,如果按下某个按键会发生什么变化,一共有几个状态需要显示,要显示什么,大致可以沿着这条思路想,其实我也是之后才知道,这个思路其实就是状态机,可以了解一下。这样能让代码逻辑更清晰。

想在国赛中取得好成绩一定要把客观题做好。
最后祝大家取得好成绩。

蓝桥杯的资料(包含本文的部分代码,以本文为准)资料,提取码jlxm

你可能感兴趣的:(蓝桥杯单片机组,单片机)