从零开始学习单片机12

编译上一次的代码并烧录到板卡中,用两根杜邦线分别连接逻辑分析仪和板卡上的SCL1和SDA1口(代码上模拟的两个IO口),连接逻辑分析仪和电脑,点击逻辑分析软件的Start后点击复位按键,找到数据并进行分析

SCL为高时,SDA从高变低,发送的数据为0x55(0b0101 0101),与原理图相符

应答信号:把SDA拉高,在SCL为高的时候,不停检测SDA是否被拉低,由于没有应答,代码中当time>100时自动应答。结束信号,SCL为高时,SDA由低变高

发送的数据为0x35(0b0011 0101)

发送的数据为0x75(0b0111 0101)

温湿度传感器

温湿度传感器的引脚分配

通过改变 ADDR 的连接方式可以改变传感器的 I2C 地址。当 ADDR 接低电平时,传感器芯片的地址为 0x44,当 ADDR 接高电 平时,传感器芯片的地址为 0x45。(在通信过程中 ADDR 的电平不能发生改变)其中0x44指的是I2C地址的高7位,第八位为读写标志位。

51单片机P0口是没有上拉能力的,而SDA和SCL分别连接的P0^1和P0^2,所以需要加上两个上拉电阻

该芯片有两种转换模式:单次转换模式和连续转换模式

单次转换模式,每初始化一次,只能读取一次温湿度值,读取完会进行休眠,下次检测需要重新初始化(一般用于低功耗产品里)

连续转换模式,初始化一次后,芯片就会一直处于检测的状态中,可以随时读取最新的数据

相关推荐
xian_wwq2 小时前
【学习笔记】边缘智能(Edge Intelligence):如何实现“就地决策”的方法
笔记·学习·边缘智能
我登哥MVP2 小时前
HTML-CSS-JS-入门学习笔记
javascript·css·笔记·学习·html
不太可爱的叶某人3 小时前
【学习笔记】kafka权威指南——第8章 跨集群数据镜像(7-10章只做了解)
笔记·学习·kafka
wdfk_prog3 小时前
[Linux]学习笔记系列 -- lib/timerqueue.c Timer Queue Management 高精度定时器的有序数据结构
linux·c语言·数据结构·笔记·单片机·学习·安全
wdfk_prog4 小时前
构建基于Hexo、Butterfly、GitHub与Cloudflare的高性能个人博客
笔记·学习·github·hexo·blog
shixian10304114 小时前
Django 学习日志
数据库·学习·sqlite
丰锋ff6 小时前
2013 年真题配套词汇单词笔记(考研真相)
笔记·学习·考研
小小程序媛(*^▽^*)6 小时前
第十二届全国社会媒体处理大会笔记
人工智能·笔记·学习·ai
毕设源码-邱学长6 小时前
【开题答辩全过程】以 爱学习教育网站为例,包含答辩的问题和答案
学习
Yupureki7 小时前
从零开始的C++学习生活 5:内存管理和模板初阶
c语言·c++·学习·visual studio