| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> AHT20温湿度传感器的数据采集并通过串口输出和OLED屏显示 -> 正文阅读 |
|
[嵌入式]AHT20温湿度传感器的数据采集并通过串口输出和OLED屏显示 |
目录 一.I2C总线通信协议、SPI协议1.I2C总线简介? ? ?I2C由飞利浦公司于1980年代提出,为了让主板、嵌入式系统或手机用以连接低速周边外部设备而发展。 ? ? 主要用途:SOC和周边外设间的通信。 1.1 I2C总线的物理层? ? I2C总线物理层由两根线组成:串行时钟线SCL、串行数据线SDA。由于这两根线都是开漏输出结构,因此必须都接上拉电阻到高电平,因此当总线处于空闲状态时,两根线都处于高电平状态。下图为I2C总线的物理层示意图: 1.2?I2C总线的协议层? ? ?I2C 的协议定义了通讯的起始和停止信号、数据有效性、响应、仲裁、时钟同步和地址广播等环节。 I2C基本读写过程 ? ? ?起始信号产生后,所有从机就开始等待主机接下来广播的从机地址信号。在 I2C 总线上,每个设备的地址都是唯一的,当主机广播的地址与某个设备地址相同时,这个设备就被选中了,没被选中的设备将会忽略之后的数据信号。根据 I2C协议,这个从机地址可以是 7位或10位。 通讯的起始和停止信号 ???当 SCL 线是高电平时 SDA 线从高电平向低电平切换,这个情况表示通讯的起始。 ?数据的有效性 ? I2C使用SDA信号线来传输数据,使用SCL信号线进行数据同步。 SDA数据线在SCL的每个时钟周期传输一位数据。 若想要更详细的了解I2C的知识,可以参考此链接学习:I2C协议——物理层和协议层_吴立赛的博客-CSDN博客? 2.软件I2C和硬件I2C软件I2C
硬件I2C
3.SPI协议SPI是一种同步串行通信协议,由一个主设备和一个或多个从设备组成,主设备启动与从设备的同步通信,从而完成数据的交换。SPI是一种高速全双工同步通信总线,标准的SPI仅仅使用4个引脚,主要应用在 EEPROM, Flash, 实时时钟(RTC), 数模转换器(ADC), 数字信号处理器(DSP) 以及数字信号解码器之间。 SPI原理
SPI物理层 SS( Slave Select):从设备选择信号线,常称为片选信号线。 ?SPI协议层 ?SPI?基本通讯过程?? MOSI 与 MISO 的信号只在 NSS 为低电平的时候才有效,在 SCK 的每个时钟周期 MOSI 和 MISO 传输一位数据。 通讯的起始和停止信号 数据有效性 SPI 使用 MOSI 及 MISO 信号线来传输数据,使用 SCK 信号线进行数据同步。 MOSI 及 二.AHT20温湿度数据采集1.工程代码工程链接:百度网盘 请输入提取码 main.c
2.下载工程后并打开project?3.编译加烧录?4.运行结果???三.OLED显示??1.显示姓名和学号1.1工程代码 工程链接:百度网盘 请输入提取码 提取码:qwer main.c
1.2打开工程修改代码 打开test.c修改TEST_MainPage函数中GUI_ShowString,GUI_ShowCHinese的参数 ?1.3将上面输入的对应的字模点阵加入到oledfont.h里 ?1.4汉字取模点阵 首先设置字模输出选项,可以自定义格式?不同的取模方式对应的十六进制码不一样,这里是16X16点阵。 ?添加到oledfont.h的16x16中 1.5?编译烧录 ?1.6实验效果 2.显示AHT20的温度和湿度?2.1工程代码 链接:百度网盘 请输入提取码 main.c
2.2编译烧录 ?2.3实验效果 ?3.左右的滑动显示长字符3.1工程代码 链接:百度网盘 请输入提取码 提取码:qwer main.c
3.2打开test.c修改TEST_MainPage函数中GUI_ShowCHinese参数 3.3添加字模数据,操作设置与上面相同? 3.4编译烧录?? ? 3.5运行效果 ? ? ? ? ? 四、总结? 此次实验利用了温度传感器,实现了对温度湿度的测验,最终输出到屏幕上,对于I2C和SPI协议的学习有了一定理解。大致理解OLED屏显和汉字点阵编码原理后,对代码进行编写,然后在OLED屏幕上输出自己想要的字,也是很有趣的一件事。 参考文献:基于I2C的AHT20温度采集器以及基于SPI协议OLED显示_Laul Ken-Yi的博客-CSDN博客 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:48:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |