第十届蓝桥杯杯赛学习笔记(电子类单片机组)

第十届蓝桥杯杯赛学习笔记(电子类单片机组)
-----------make by why(2019.03.19)、
程序介绍:文件中几个通讯协议程序,都是蓝桥杯单片机比赛中官网提供的驱动程序;
由于官网提供的程序使用于89C52单片机,而近几年,由于单片机芯片更新速度快,蓝桥杯单片机竞赛使用的单片机也有所升级,使用IAP15F2K61S2单片机。15单片机为1T单片机,而52单片机为12T单片机,相比之下15单片机执行速度是52单片机的8—10倍;也就是说,在使用官网提供的驱动程序时,有一些相应的延时,要增加8倍-10倍左右。
I.官方驱动文件调用
一. ds18b20温度传感器
ds18b20.c
ds18b20.h
1.延时方面

2.调用这个驱动程序时,需要自己添加获取温度值的程序:

使用方法如下:

二. ds1302时钟芯片
ds1302.c
ds1302.h
调用这个驱动程序时我们需要自己添加ds1302的出始化程序和读取时间的程序.
1. 初始化程序(即是驱动这个芯片同时设定出时间)
定义的数组值(十进制)分别代表:秒,分,时,日,月,星期,年
注意写数据地址为:0x80

注意:由于输入的时十进制的数据,但是芯片写入时只接受二进制值所以要转化,下面就是在写数据函数里面进行数据转化(下图框选部分即是数据转化)

2. 读取时间数据
从ds1302中读取时间数据也是二进制值,写读取时间值函数时要注意数据转化
注意读数据地址为:0x81

3. 函数使用

三 .IIC通讯
iic.c
iic.h
1.IIC延时方面(比原来延时大八倍)

2.PCF8591(AD/DA转换芯片)
写地址:0x90 读地址:0x91
2.1读数据程序(ADC输出数字量)

2.2写数据程序(DAC输出模拟量)
add:为芯片DAC转换指令,必须是0x40
dat:为0-255范围内的数据,转化成模拟量为(5V/255)*dat

2. AT24C02芯片(EEPROM)
写地址:0xa0 读地址:0xa1
3.1读数据(从0x00-0xff范围内的储存地址中读取储存的数据值)

3.2写数据(往0x00-0xff范围内的储存地址中写入需要储存的数据值)
add:是要储存数据空间的地址
dat:是需要储存的数据(范围为:0-255)
注意:连续储存数据时,需要进行个短时间延时(延时5ms)

延时-------->

🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆 🎆
🍗🍗🍗🍗预祝第十届蓝桥杯顺利🍗🍗🍗🍗
💪💪💪💪💪💪加油!加油!💪💪💪💪💪💪