当前位置: 首页 > news >正文

学习STC51单片机28(芯片为STC89C52RCRC)

每日一言

        梦想不会自动成真,需要你一步一个脚印去追逐。

硬件:DHT11温湿传感器

时序图

DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此

期间无需发送任何指令。

1:检测DHT11模块是否好用

我们将模块好用就把灯点亮,作为评判的标准,我们利用时序图来编写代码

整体思路是这样的,因为,DHT响应信号在主机拉高20us-40us后DHT就会变成低电平且保持80us,也就是这段时间DHT11就响应信号了,就可以用此证明DHT11模块我们连接上了。因为这段时间DHT是必连上的,所以我们根据时序图,可以将这一段DHT,我们设置为主机拉高后的60us的这个时间点测试,如果DHT为低电平,我们就让led亮起来,那么不就可以证明DHT11模块测试出没有问题吗

最后main函数那边开始给个1s,给上电后的模块稳定一下度过不稳定的状态

大家一定要学会看手册和看时序图

2:让DHT11传输输出数据(读取数据)我觉得都很重要

我们上一步不是只是检测一下模块吗,其实他这个代码也仅仅是检测模块的作用,如果拿来模块的开发是很不稳定的,因为我们这个时间的延时他需要精确到ns,很不稳定。那么我们该怎么做呢??

我们根据时序图继续写代码,获取数据

整个时序图(这边我标注了各个点,后面就用的到)

我们这个主机信号是自己要让单片机发出来的,后面的DHT信号是DHT11发出来的,

所以我们根据模块的特性,我们只要将主机初始化之后的dht信号,我们去检测它,只要到点了DHT11自己会做出行为(模块的信号到时间了会自动到切换dht信号的电平高低)自动会切换高低电平,这样我们可以利用这一点,我们就可以不用去添加延时,我们直接用while(dht信号)我们去卡住他

细说:

如果此时dht信号为高电平经过一段时间比如50us后下降为低电平那么我们就可以用while循环,只要dht的信号为高电平那么我就让他一直在while里面循环,只有当模块自动将dht切换到低电平的时候才会跳出循环,这样我们就可以不用添加时间延时了(不稳定),因为这样的方法就可以不用考虑时间了,到时间了自动会跳出循环,是一个很好的方法

所以叫这个方法为卡点法

卡d点  卡e点  卡f点  卡g点

代码

因为传输数据是40bit 每次8bit,所以设置的有5轮,每轮发一个bit,什么时候这个bit是1还是0呢:根据我们的时序图来看:

很简单,循环开始的时候我们先卡一下g点,因为当g点为高电平的时候才开始传输数据,根据时序图数字信号1和数字信号0的DHT信号保持的时间不一样,所以我们依据这个特性,这个时候我们可以添加延时个60us这样我们来判断一下dht是否在低电平还是高电平

如果为高电平那么就是信号1,如果是0那么就是信号0

这个信号0和1的话我们用flag记录标志位来记录

并直接就是存在tmp这个8位2进制里面了

关键点::

这个tmp = tmp << 1 是tmp向左边移1个位置(新知识点)

tmp |= flag 是将flag存放在tmp空的那个位置(最低位)

讲解一下:原理

也就是说每一轮的每8次中的每一次都会生成一个数字信号1或者0作为位,并且向左移,下一次循环继续向左移,8次后属于DHT11的1个字节就组装好了,

那么总共会执行5轮那就是5个字节

每一轮都将组装好的(8位bit)赋值到datainfo[i]这个数组里面,i就是每一轮的i,所以最后会装5个字节到datainfo[5]这个数组

那么我们的DHT11的数据就在这个数组里面了存放着了

最后main函数里面我们做一个while循环,循环调用就好了,这样数据就会循环的刷新了。

相关文章:

  • 深入浅出玩转物联网时间同步:基于BC260Y的NTP实验与嵌入式仿真教学革命
  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: TTask创建多线程, 更简单, 更快捷.
  • 5.Declare_Query_Checking.ipynb
  • 以光量子为例,详解量子获取方式
  • 【Redis】笔记|第9节|Redis Stack扩展功能
  • 《图解技术体系》How Redis Architecture Evolves?
  • k8s业务程序联调工具-KtConnect
  • 【安全攻防与漏洞】​​量子计算对HTTPS的威胁:后量子密码学进展
  • nvidia系列教程-Usb otg模式修改为host模式
  • proteus8安装教程
  • 操作docker容器
  • 如何利用Facebook优化TikTok的跨境商品推广效果
  • 在Facebook平台有效结合TikTok跨境营销的方法
  • MVCC机制:Undo Log版本链与ReadView机制
  • 微服务网关SpringCloudGateway+SaToken鉴权
  • 10. vue pinia 和react redux、jotai对比
  • OCR助力保险业建设
  • YOLO目标检测模型交互式UI设计与实现
  • Spring Boot论文翻译防丢失 From船长cap
  • 【photoshop】专色浓度和专色密度
  • 做网站前台用什么问题/360优化大师官方官网
  • 国内有wix做的好的网站/seo免费课程视频
  • 兰州金建工程建设监理网站/外国黄冈网站推广平台
  • 广告设计要学哪些软件/东莞百度推广排名优化
  • 网页模板下载网站/如何投放网络广告
  • 政府网站建设申请报告/自媒体推广渠道