**决战2021年单片机蓝桥杯笔记(1)**IIC PCF8591 AT24C02
I2C作为一种多用于板内同步串行通信方式,有一根SCL时钟线负责收发双方的时钟节拍,和一根SDA数据线负责传输数据,I2C时序的程序编写网上的资料是很丰富的了,作为蓝桥杯比赛为重点我就不展开说,在蓝桥杯官方单片机数据资源包里面有I2C底层驱动代码的参考历程,可以直接调用分为以下六个函数
void IIC_Start(void);
void IIC_Stop(void);
bit IIC_WaitAck(void);
void IIC_SendAck(bit ackbit);
void IIC_SendByte(unsigned char byt);
unsigned char IIC_RecByte(void);
在国信长天单片机板载的资源中我们主要用到PCF8591数模转换器和AT24C02需要用到I2C的通信协议来实现相应功能。
PCF8591的ADC是逐次逼近型的(微妙级别)转换速率属于中速,比积分型的ADC转换时间要快(毫秒级别),但是慢于并行/串行的ADC(纳秒级),但是I2C的速度有限,所以PCF8591的转换速度瓶颈就在于I2C的速度,PCF8591涉及的原理知识:

以下是两个对PCF8591函数的编写
//pcf8591的初始化
void init_pcf8591()
{
IIC_Start();
IIC_SendByte(0x90); //mcu写入 器件地址
IIC_WaitAck();
IIC_SendByte(0x03); //写入控制字节 电位器Rb2接到AIN1,通道1;控制寄存器应写入:0x01。
//光敏传感器接到AIN3,通道3;控制寄存器应写入:0x03。
IIC_WaitAck;
IIC_Stop();
}

//从PCF8591上读取数据
unsigned char read_pcf8591()
{
unsigned char datas;
IIC_Start();
IIC_SendByte(0x91); //读取电压值 1是读取
IIC_WaitAck();
datas=IIC_RecByte();
IIC_WaitAck();
IIC_Stop();
return datas;
}
AT24C02一共256个字节的存储空间,储存地址从0x00到0xFF,因此在使用IIC通信协议的时候就会涉及到器件的地址与数据储存地址两次MCU发送写入的地址消息后才开始传输数据,AT24C02涉及的原理知识:

以下是两个对AT24C02函数的编写:
//24c02的初始化
void wirte_at24c02(unsigned char addr,unsigned char dat)
{
IIC_Start();
IIC_SendByte(0xa0);
IIC_WaitAck();
IIC_SendByte(addr);
IIC_WaitAck();
IIC_SendByte(dat);
IIC_WaitAck();
IIC_Stop();
}

unsigned char Read_24C02(unsigned char addr)
{
unsigned char tmp;
//进行一个伪写操作
IIC_Start(); //IIC总线起始信号
IIC_SendByte(0xa0); //24C02写设备地址
IIC_WaitAck(); //等待从机应答
IIC_SendByte(addr); //内存自己地址
IIC_WaitAck(); //等待从机应答
//进行字节读操作
IIC_Start(); //IIC总线起始信号
IIC_SendByte(0xa1); //24C02读设备地址
IIC_WaitAck(); //等待从机应答
tmp = IIC_RecByte(); //读取目标数据
IIC_WaitAck(); //等待从机应答
IIC_Stop(); //IIC总线停止信号
return tmp;
}
参考网址资料链接:https://www.pianshen.com/article/8509208326/
https://www.pianshen.com/article/8509208326/

好了今天的笔记就更新到这里啦,大家下期见88

**决战2021年单片机蓝桥杯笔记(1)**IIC PCF8591 AT24C02相关推荐

  1. 蓝桥杯单片机·蓝桥杯全国软件和信息技术专业人才大赛电子类单片机 常用代码笔记

    蓝桥杯笔记 1. 基础模块调用模板 #include <stc15f2k60s2.h> //#include<intrins.h>#define uchar unsigned ...

  2. [蓝桥杯单片机] - 蓝桥杯单片机CT107D竞赛板各模块代码分析

    蓝桥杯笔记 "免责声明" ( •̀ ω •́ )✧ 代码未全部验证,也许存在BUG,如发现错误欢迎指正,不愿意指正那就当作没看见也行 所有说明文字仅代表笔者个人想法 修正日志 从2 ...

  3. 蓝桥杯 模板Template Part10:AT24C02存储器

    九层妖塔 起于垒土 蓝桥杯 模板Template Part10:AT24C02存储器 一.原理图 二.AT24C02存储器内部存储结构的形象解释 1.存储结构 2.存储结构的地址编码 3.第一页的形象 ...

  4. 单片机蓝桥杯——NE555频率测量

    原理: 对蓝桥杯单片机板子上NE555电路进行频率测量时,不需要任何的配置,整个单片机测量频率的过程中,跟NE555芯片没什么关系,归根结底考察的还是定时/计数器.但需要注意: (1)当用到NE555 ...

  5. 蓝桥杯笔记:DFS(深度优先搜索)解决问题

    DFS: 深度优先搜索: 访问当前的元素后,递归访问元素的邻接元素(找出所有下一步的可能元素,判断是否能访问),撤回当前元素访问 dfs(当前状态) {//递归终止条件if(当前状态==结束状态) { ...

  6. 【小蜜蜂蓝桥杯笔记】DS18B20温度传感器的使用

    DS18B20 更新(需要注意的部分) 进行带小数点的高精度转换时,需要750ms的延时,建议将开始转换和读取数据的函数分开写,利用定时器保证750ms之后再去读取,不然会出现很奇怪的数字 数据处理的 ...

  7. 蓝桥杯 笔记整理【JavaB组省赛真题、约数、全排列模板、排列组合、等差等比求和公式、eclipse快捷键、集合、快速求a^n、进制转换(Integer、BigInteger)、动态数组Vector】

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  8. 单片机蓝桥杯——PWM呼吸灯

    原理:调节高低电平的占空比 #include "STC15F2K60S2.h" #include "intrins.h" #define uchar unsig ...

  9. 【蓝桥杯笔记01】小蜜蜂老师-LED指示灯的基本控制

    单元训练01:LED指示灯的基本控制 在CT107D单片机综合训练平台上实现 ED的基本控制,首先让8路LED指示灯闪烁3遍然后熄灭,接着依次点亮亮LED指示灯,最后依次熄灭指示灯,程序循环实现上述功 ...

最新文章

  1. 数据院携手汽车工程系,女生节尽展清华大数据风采~
  2. Linux 下安装redis
  3. 20155226 2016-2017-2 《Java程序设计》第一周学习总结
  4. 面向对象课程 - T-shirt
  5. idea tomcat部署web项目_项目开发之部署帆软到Tomcat服务一
  6. 如何解决类模板的分离编译问题?
  7. windows文件保护_Windows系统下媲美时间机器的系统备份工具,统统免费
  8. i9可以装服务器系统吗,i9服务器
  9. App后台开发运维和架构实践学习总结(4)——APP的注册和登录功能设计
  10. 信息存储服务公司Everlaw获810万美金注资
  11. Linux下实现Rsync目录同步备份
  12. 中国联通沃支付echop支付插件
  13. 使用软件测试路由器性能报告,路由器软件测试报告
  14. 使用Qt学习C语言编程1
  15. hisi spi nand flash驱动理解
  16. python目前版本强势英雄_最强竟然不是灭霸|用Python给漫威和DC英雄综合实力排位...
  17. Skype for business之Skype会议直播
  18. MySQL项目练习2——员工信息表项目
  19. 瀚高数据库并行导入导出
  20. debezium系列之:理解database.server.name和database.history.kafka.topic

热门文章

  1. 上传文件提示 413 Request Entity Too Large 错误
  2. 离谱!结论相反的两篇论文共用同一张图,教授:可能是研究生的错
  3. c语言 本地存储文件路径,本地持久化存储
  4. 确认取消弹窗的监听事件
  5. AD如何给覆铜板扣铜。
  6. 【硬核科普】PCB工艺系列—第01期—基板覆铜板
  7. Bugku MISC come_game 详解
  8. J . Guarding the Chessboard
  9. 字体大宝库:20款好看的免费英文字体下载
  10. 物联网--Zigbee协议(二):Zigbee协议架构以及数据帧结构