温湿度实验电路搭建与驱动程序设计基于口袋机综合实验设计
01实验目的02实验设备03实验原理04实验代码解析05实验步骤06实验现象目录07拓展思考08应用领域
一、实验目的了解软件。程序的下载和仿真了解如何正确分配和配置单片机的I/O口三、掌握温湿度传感器的使用方法。
二、实验设备口袋机ISP串口下载。JC-PM50模块JC-PM15实验扩展板
三、实验设备?实验器件简介:温湿度传感器多以温湿度一体式的探头作为测温元件,将温度和湿度信号采集出来,经过稳压滤波、运算放大、非线性校正、V/I转换、恒流及反向保护等电路处理后,转换成与温度和湿度成线性关系的电流信号或电压信号输出,也可以直接通过主控芯片进行485或232等接口输出。
三、实验原理?温湿度模块原理图:原理图说明温湿度传感器采用DHT11,还有一个LED接单片机的GPIO功能说明单片机通过单总线与DHT11模块通讯,收到温湿度的参数。
三、实验原理?DHT11:手册是全中文的,全部仔细阅读一下
三、实验原理?程序分析:深蓝色的线是单片机发出的,一个低电平和一个高电平的组合后面土黄色的线是传感器发出来的,单片机只要读取就可以了
三、实验原理?程序分析: DHT11返回的数据,0和1的不同在于高电平的时间,一般单片机对于这种时序的读取,有可能按照定时读取的方式,但是我觉太麻烦,需要初始化一个定时器,然后设定一个合适的定时器中断时间,然后用逻辑分析仪抓取读电平的时刻,看能否和DHT11电平变化的中间时刻对齐,这样调试时间会比较麻烦,所以采用了另外一种编程思路 我们先声明一个数组,用于保存时间计数信息
三、实验原理?程序分析: 然后将每一个电平的时间计数,记录到这个数组中Count就是这个时间的计数,当没有电平变化的时候,程序会一直让这个Count变量加1当有电平变化了,就将这个Count计数值保存到数组中,这样time_buf[]这个数组就记录了每个电平变化的时间间隔。然后用判断时间大小的方法,将数据整合
三、实验原理?程序分析: 后面就是根据时间计数数组中的数值,判断是长时间还是短时间,将数据整合成5个字节数据,并判断计算的校验和读取的校验是否一致
四、实验原理?模块引脚说明:
五、参考代码分析主函数
五、实验步骤??1、将实验模块插在扩展模块的位置32、打开程序3、下载程序?
六、实验现象开机后屏幕显示温湿度信息和校验和信息Humidty:24.0% 湿度24%Temperature:25.1C 温度25.1度Check:ok 校验和:正确同时串口能够收到数据:Humidity=25.0 //湿度Temperature=25.9 //温度check_read=0x3b //收到的校验和check_add=0x3b //单片机计算的校验和
感谢大家的认真学习!祝大家生活、工作愉快!