基于I2C/SPI总线的温湿度采集与OLED显示

目录

一、I2C接口实现温湿度(AHT20)的采集

(一)了解I2C总线协议

1、I2C协议简介

 2、I2C 协议的物理层和协议层   

3、硬件I2C和软件I2C 

(二)实现AHT20采集程序

二、基于SPI通信方式的OLED显示

(一)SPI简介

(二)使用0.96寸OLED显示屏显示数据

三、总结

四、参考


一、I2C接口实现温湿度(AHT20)的采集

(一)了解I2C总线协议



1、I2C协议简介

             I2C 通讯协议(Inter Integrated Circuit) 是由 Phiilps 公司开发的,由于它引脚少,硬件实
现简单,可扩展性强,不需要 USART CAN 等通讯协议的外部收发设备,现在被广泛地
使用在系统内多个集成电路(IC)间的通讯。
        在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和
片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也
以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有
机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,
统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,
协议层则规定我们用中文还是英文来交流。
       下面我们分别对 I2C 协议的物理层及协议层进行讲解。

 2、I2C 协议的物理层和协议层   

        ①物理层
它的物理层有如下特点:
       (1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线
中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。
       (2) 一个 I2C 总线只使用两条总线线路,一条双向串行数据线 (SDA) ,一条串行时钟线
(SCL) 。数据线即用来表示数据,时钟线用于数据收发同步。
       (3) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之
间的访问。
       (4) 总线通过上拉电阻接到电源。当 I2C 设备空闲时,会输出高阻态,而当所有设备都空
闲,都输出高阻态时,由上拉电阻把总线拉成高电平。
       (5) 多个主机同时使用总线时,为了防止数据冲突,会利用仲裁方式决定由哪个设备占用
总线。
       (6) 具有三种传输模式:标准模式传输速率为 100kbit/s ,快速模式为 400kbit/s ,高速模式
下可达 3.4Mbit/s ,但目前大多 I 2 C 设备尚不支持高速模式。
       (7) 连接到相同总线的 IC 数量受到总线的最大电容 400pF 限制
    ②协议层
    
         I2C 的协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地
址广播等环节
通讯的起始和停止信号 :当 SCL 线是高电平时 SDA 线从高电平向低电平切换,这个情况表示通讯的起始。当 SCL 是高电平时 SDA线由低电平向高电平切换,表示通讯的停止。起始和停止信号一般由主机产生。
数据有效性:
        I2C 使用 SDA 信号线来传输数据,使用
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值