本文不说底层原理,只说蓝桥杯中模块相应代码该如何写,一定要自己敲出来,测试出相应的结果。模块练熟了再去敲往年的赛题,毕竟九尺之台,起于累土
main
主函数部分,这个把各个模块融合在一起,可以最后再看
common
这个写一些整个代码要用的宏定义和系统初始化函数,Systen_init()关led,关蜂鸣器继电器,Y4,Y5,Y6,Y7是打开Y4,Y5,Y6,Y7,这个是板子上的结构,看不看都行只要你能把它弄开就行,不过建议看一下,是数电的知识,没啥坏处,咱速成就不深究这个了。
ds18b20
这个是温度模块,比赛的时候会给驱动,这个是后面的要自己写,上面的这个是整数的温度,下面是小数点的,根据题目要求,我的建议是看小数的就行,值得一提的是那个驱动,这个驱动本来是比赛的时候提供的,但是。。。它可能是错的,要改成下面这个驱动不然时序是不对的,一定记住,不然比赛的时候能被坑死。。。。
ds1302
ds1302是电子时钟模块,ds1302_init是初始化时钟,ds1302_read是读时钟的数据
E2PROM PCF8591
这个是加到比赛给的iic之后的,PCF8591_adc是测量相应通道的电压值,1是光敏电子,2是滑动变阻器;PCF8591_dac输出电压注释写的很清楚怎么赋值;e2prom_read读相应地址的数值;e2prom_write向相应地址写数值。
key
这个我建议根据原理自己写,因为比较简单
smg
数码管模块,怎么显示看自己,建议放到定时器里面smg_set是设置八个数码管的值;smg_display是显示。
led
这个记得开Y4就行,一开始是关的
超声波
Read_wave读超声波的值,定时器是sciisp生成的
UART
串口这个初始化是sciisp生成的,sendstring发送字符串
pl
频率测量,一般关于定时器不会超过两个