3.5.3 串行接口
DATA 用于微处理器与DHT22之间的通讯和同步,采用单总线数据格式,一次 通讯时间5ms左右,具体格式在下面说明,当前数据传输为40bit,高位先出。 数据格式: 40bit数据=16bit湿度数据+16bit温度数据+8bit校验和 例子: 接收40bit数据如下:
0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 湿度数据 温度数据 校验和
湿度高8位+湿度低8位+温度高8位+温度低8位=的末8位=校验和 例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110 湿度=65.2%RH 温度=35.1℃
当温度低于0℃时温度数据的最高位置1。 例如:-10.1℃表示为1000 0000 0110 0101
用户主机(MCU)发送一次开始信号后,DHT22从低功耗模式转换到高速模式, 等待主机开始信号结束后,DHT22发送响应信号,送出40bit的数据,并触发一次信 号采集。(注:主机从DHT22读取的温湿度数据总是前一次的测量值,如两次测 量间隔时间很长,请连续读两次以获得实时的温湿度值)
图3.5.1
空闲时总线为高电平,通讯开始时主机(MCU)拉低总线500us后释放总线,延时20- 40us后主机开始检测从机(DHT22)的响应信号。
从机的响应信号是一个80us左右的低电平,随后从机在拉高总线80us左右代表即将进入数据传送。
图3.5.2
高电平后就是数据位,每1bit数据都是由一个低电平时隙和一个高电平组成。低电平时隙就是一个50us左右的低电平,它代表数据位的起始,其后的高电平的长度决定数据位所代表的数值,较长的高电平代表1,较短的高电平代表0。共40bit数据,当最后一Bit数据传送完毕后,从机将再次拉低总线50us左右,随后释放总线,由上拉电阻拉高。
数字1信号表示方法如图3.5.3所示
图3.5.3
数字0信号表示方法.如图3.5.4所示
图3.5.4
3.5.4 传感器原理图
图3.5.5 DHT22原理图
3.5.5 引脚与接口
(1) 引脚介绍:
Pin1:(VDD),电源引脚,供电电压为3-5.5V。 Pin2:(DATA),串行数据,单总线。 Pin3:(NC),空脚,请悬浮。 Pin4(VDD),接地端,电源负极。 (2) 接口说明 :
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用 合适的上拉电阻。
DHT11接口图如图3.10所示。
单片机P3.4口用来发收串行数据,即数据口。连接传感器的Pin2(单总线,串行数据)。
图3.5.6 DHT22接口图
传感器的第一脚是电源脚,接电路板的电源。第二脚是数据端,接单片机的I/O口P3.4,把数据传输到单片机。第三脚是空管脚,悬空。第四脚是接地端,接电路
板的地。
3.6 串口通信模块
串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。为了实现单片机与计算机之间的通信,利用单片机的 RXD、TXD接口连接到RS232串行口接收或发送数据和指令,但是单片机的TTL电平和RS232不兼容,因此使用了CH340T进行电平转换,本系统采用 RS-232C接口方式。接口芯片采用CH340T,这种芯片可以实现TTL电平和RS-232C接口电平之间的转换,也就是可以把5V电平表示“1”、0V电平表示“0”的逻辑,转换成-3-15V电平表示“1”、+3-15V电平表示“0