传感器与键盘编程全解析
1. DHT11传感器与PIC通信原理
DHT11是一款常用的温湿度传感器,它能将环境的湿度和温度信息以数字信号的形式输出。PIC微控制器要与DHT11进行通信,获取这些温湿度数据,需要遵循特定的流程。
程序的主要原理是PIC初始化与DHT11的通信,之后DHT11会返回40位数据,这些数据可用于传递传感器的湿度和温度读数。我们创建了一个名为“mess”的数组来存储返回的数据,40位数据组成五个字节,前四个字节包含两个读数,最后一个字节是DHT11在传输到PIC之前将前四个字节相加的结果,这个结果被称为“校验和”。PIC必须通过将接收到的前四个字节相加来创建自己的校验和,并将其与接收到的第五个字节进行比较,以确认接收到的数据是否有效。如果两个校验和不同,则会发生“校验和错误”,数据将不被使用。
2. 通信流程详细步骤
以下是PIC与DHT11通信的详细步骤:
1. 初始化通信 :
- 设置PORTD的第0位为输出,并将其逻辑置为低电平(逻辑‘0’)。
- 延时18ms。
- 将PORTD的第0位逻辑置为高电平(逻辑‘1’)。
- 延时30μs。
- 将PORTD的第0位数据方向改为输入。
- 延时40μs。
- 检查DHT11是否将数据线拉低,如果是,则表示DHT11已收到PIC的初始化请求,PIC进入后续循环;否则,DHT11响应不正确,将变量response置为0。
2. 接收响应信号 :
- 如果数据线拉低,等待约75μs。
- 检查DHT11
超级会员免费看
订阅专栏 解锁全文
817

被折叠的 条评论
为什么被折叠?



