欢迎光临散文网 会员登陆 & 注册

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

2019-03-19 19:56 作者:why_小裕  | 我要投稿

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

                                                 -----------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


ds1302芯片初始化程序


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


数据转换


2.  读取时间数据

从ds1302中读取时间数据也是二进制值,写读取时间值函数时要注意数据转化

注意读数据地址为:0x81

读取时间函数

3.  函数使用

调用函数读取时间值

三 .IIC通讯

iic.c

iic.h

1.IIC延时方面(比原来延时大八倍)


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)

写数据

延时-------->

连续读数据延时

 🎆         🎆      🎆      🎆      🎆      🎆      🎆      🎆      🎆      🎆      🎆      🎆      🎆

 🍗🍗🍗🍗预祝第十届蓝桥杯顺利🍗🍗🍗🍗

            💪💪💪💪💪💪加油!加油!💪💪💪💪💪💪




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

分享到微博请遵守国家法律