电 气 学 院 创 新 设 计 说 明 书
单片机。湿度和温度信号检测通过DHT11智能温湿传感器芯片来测量。由LED实现的显示器使人们直观的观看到测量到的温度和湿度的值。在本设计系统中,正常情况下,显示电路可以实时的显示室内的温度和湿度。当温度和湿度超限时,报警电路可以立即发出警报,以便实现坏境温度和湿度的调整。
DHT11温湿度传感器 温湿度切换显示按键 Stm8 单 片 机 MAX7219显示模块 测试用独立LED灯 报警用蜂鸣器 图2-1 系统原理图
3.2 温湿度传感器DHT11工作原理 (1) 电源引脚
DHT11的供电电压为 3-5.5V。传感器上电后,要等待 1s 以越过不稳定状态在此期间无需发送任何指令。
(2) 串行接口 (单线双向)
DATA 用于微处理器与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:8bit湿度整数数据+8bit湿度小数数据
+8bi温度整数数据+8bit温度小数数据
+8bit校验和
数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号
6 / 22
电 气 学 院 创 新 设 计 说 明 书
采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。 通讯过程如图1所示
图1
如图2所示,总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。
图2
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
7 / 22
电 气 学 院 创 新 设 计 说 明 书
数字0信号表示方法如图3所示
图3 数字1信号表示方法.如图4所示
图5
(3) 测量分辨率
测量分辨率分别为 8bit(温度)、8bit(湿度)。 (4) 电气特性
VDD=5V,T = 25℃,除非特殊标注 参数 条件 min typ max 单位 供电 DC 3 5 5.5 V 供电电流 测量 0.5 2.5 mA 平均 0.2 1 mA 待机 100 150 uA 采样周期 秒 1 次 注:采样周期间隔不得低于1秒钟。
8 / 22
电 气 学 院 创 新 设 计 说 明 书
3.3 LED数据显示MAX7217工作原理 (1) 电路特点及引脚功能
MAX7219是串行输入,共阴极动态扫描显示驱动器,可直接与单片机接口,每片可驱动8位LED数码管,可多片串联使用控制更多的LED数码管显示器。其典型应用电路如图1所示。
DIN: 串行数据输入端;
DIG0~DIG7: 8根位驱动线; GND: 电源地; LOAD: 装入数据控制端。LOAD=0时,允许MAX7219接收数据。在DIN端移入16位数据后,必须将LOAD拉高,以锁存移入的16位数据;
CLK: 串行时钟输入端,最高为10MHz,CLK的上升沿把DIN端的数据移入内部16位移位寄存器;
SEGA~SEGG,SEGDP:LED数码管的
八段驱动端; Iset: 驱动电流控制端,通过一个电阻接电源; 图1 V+: 电源端,5V;
DOUT:串行数据输出端,供多片MAX7219串联使用。
(2) 工作原理
MAX7219采用串行接口方式,只需LOAD、DIN、CLK三个管脚便能实现数据传送。DIN管脚上的16位串行数据包不受LOAD状态的影响,在每个CLK的上升沿被移入到内部16位移位寄存器中。然后,在LOAD的上升沿数据被锁存到数字或控制寄存器中。LOAD必须在第16个时钟上升沿或之后,但在下一个时钟上升沿之前变高,否则数据将会丢失。MAX7219的操作时序图如图2所示,其数据格式如表1所示。
9 / 22
电 气 学 院 创 新 设 计 说 明 书
图2
(3) MAX7219有下列几组寄存器:(如图3)
MAX7219内部的寄存器如图3,主要有:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。编程时只有正确操作这些寄存器,MAX7219才可工作。
1) MAX7219有两种译码方式: B译码方式和不译码方式。当选择不译码时,8个数据为分别一一对应7个段和小数点位;B译码方式是BCD译码,直接送数据就可以显示。实际应用中可以按位设置选择B译码或是不译码方式。 2)扫描界限寄存器(XBH): 此寄存器用于设置显示的LED的个数(1~8)
3) 亮度控制寄存器(XAH): 共有16级可选择,用于设置LED的显示亮度,从0xX0~0xXF 4) 关断模式寄存器(XCH): 共有两种模式选择,一是关断状态(最低位 D0=0),一是正常工作状态(D0=1)。 图 3 MAX7219内部的相关寄存器 5) 显示测试寄存器(XFH)用于设置LED是测试状态还是正常工作状态, 当测试状态时(最低位 D0=1)各位显示全亮,正常工作状态(D0=0)。
10 / 22