基于单片机的湿度控制器设计内容摘要:
度测量值,且与电源电压值 Vsupply圾关。 若 Vsupply固定为 5V,则其值仅由相对湿度值决定,但由于单总线上的供电电压值为变量,故要求在进行湿度测量的同时还应测量电源电压 Vsupply 的值。 c) HIH3610 输出的湿度值还与环境温度有关,故应进行温度补偿,补偿公式为 RH=(sensor%RH)/( ) (32) 因此,为得到准确的湿度测量值,还应在测量湿度的同时测量环境湿度和单总线供电电压值。 DS2438 芯片介绍 DS2438 是 Dallas 公司推出的智能电池监视器。 该器件是为了解决便携式电子产品电池工作状态的实时监测而推出的。 A. DS2438 芯片的特点 : DS2438 芯片具有以下几个特点 单总线器件,仅需 1根口线实现电源及双向数据传输; 片内 13位精度温度传感器,最小分辨率 25℃; 片内 10位二通道电压 A/D 转换器,最小分辨率为 10mV; 片内 10位电流 A/D 转换器; 片内 40字节非易失性用户存储器; 片内逝去时间计数器,完成充放电时间计时; 单电源工作,低功耗特性; 工作温度范围为 40℃~ +80℃。 B. DS2438 引脚功能说明 : GND 接地 VSENS+ 电源电流监视输入( +) VSENS 电池电流监视输入( ) VAD 通用 A/D 输入端 VDD 供电电压( ~ 10V) NC 空引脚 DQ 数据输入 /输出、 1线操作、开漏 C. 工作原理 DS2438 由单总线接口、电压 A/D 转换器、电流 A/D 转换 器、温度传感器、时钟电路、 40 字节的 E2PROM 及与上述硬件相关的寄存器组成。 其中的电压 A/D 转换器的输入,可编程为由 VDD电源端输入或 VAD输入端输入,以满足 VDD 电源端及外部输入模拟量 VAD的测量要求。 D. 器件存储单元 DS2438 存储器类型包括易失性的 SRAM 和非易失性的 EEPROM。 DS2438 内部 的存储盐城工学院本科生毕业设计说明书 (2020) 9 器为一个总容量 64 字节的存储器。 存储器被分为 8页,每页 8 字节,页地址为 00~07H。 其中第 00 页是访问频率最高的页, 字节序号名称内容 读 /写特性,易失特性 DB7,DB6,DB5,DB4,DB3,DB2,DB1,DB0 0 状态 /配置寄存器 X,ADB,NV,TB,AD,EE,CA,IAD,读 /非易失。 温度低位寄存器 2 122232425000,读 /非易失。 湿度高位寄存器 S26252423222120,读 /非易失。 电压低位寄存器 2726252423222120,读 /非易失。 电压高位寄存器 0000002928,读 /非易失。 电流低位寄存器 0000002928,读 /非易失。 电流高位寄存器 SSSSSSS28,读 /非易失。 阈值寄存器 TH2TH1000000 读 /写易失。 第 1 页为电流累加器、逝去时间计数器和电流补偿单元;每 2 页包括非易失性时间和充电时间标记;第 3~ 7页是 40 字节的提供给用户使用的 EEPROM,可用于保存用户数据。 DS2438 所有的寄存器都映射到上述的存储器中,同时对 DS2438 的操作都是通 过 寄存器进行的。 a)状态寄存器 状态寄存器位于存储器 00 页的第 0 字节,该寄存器用于 DS2438 的功能 控制,其中各位的默认值为 1,含义如下: IAD 为电流 A/D 控制位。 IAD=1,启用电流 A/D和 ICA,且以 32Hz 速率测量电流; IAD=0,禁用 电流 A/D 和 ICA。 CA 为电流累加器配置位。 CA=1,启用 CCA/DCA 存储数据且可从第 7 页恢复数据;CA=0,禁用 CCA/DCA,第 7页可用于普通 E2PROM 存储。 EE 为隐蔽电流累加器位。 EE=1,将 CCA/DCA 计数器数据隐蔽到 E2PROM,电量每增加,当前计数器加 1; EE=0, CCA/DCA 计数器数据将不隐蔽到 E2PROM。 AD 为电压 A/D输入选择位。 AD=1,电压 A/D 选择由 VDD 端输入; AD=0,电压 A/D 选择由 VAD 端输入。 TB 为温度转换忙标志位。 TB=1,温度转换正在进行; TB=0,温度转换结束。 NVB 为非易失存储忙标志位。 NVB=1,在从可擦除区复制到 E2PROM 的存储过程中;NVB=0,非易失存储空闲状态。 一次 E2PROM 存储占用 2~ 10ms。 ADB 为 A/D 转换标志位, ADB=1,电压 A/D 转换正在进行; ADB=0,转换结束或 无测量。 一次 A/D 转换占用约 10ms, X为不定位。 b)温度寄存器 DS2438 可在 55~ +125℃范围内以 25℃ 的分辨率测量温度值,温度 值为 2的码形式通过 2 字节温度寄存器输出。 其中符号位 S 指示温度值为正或负; S=0,温度值为正; S=1,温度值为负。 c)电压寄存器 DS2438 的电压输入范围是 0~ 10V,且电压 ADC 的输入,可通过状态 /结构寄存器的 AD 位来选择由 VDD 输入或由 VAD 输入。 电压 A/D 转换的结果放在 2 字节电压寄存器中,单位为 mV。 基于单片机的湿度控制器的设计 10 d)电流寄存器 DS2438通过测量电流取样电阻 RSENS两端的电压来间接测量流过电池的电流。 采用 10 位 ADC,其分辨率为 ,电流测量值的结果放在 2 字节的电流寄存器中其中电流测量符号位 S,用于指示充电或放电。 e)单总线协议 DS2438是 Dallas公司基于单总线的器件。 该器件的操作 完全遵循单总线协议,其 ROM 命令有 3个。 读 ROM[33H]; 匹配 ROM[55H]; 跳过 ROM[F0H]。 主机在操作 DS2348 之前,必须先发送上述 4个 ROM 命令中的一个。 在 DS2438成功执行上述命令之后,主机可使用下面的内存命令操作 DS2438。 由于 DS2438 的内存分为 7页,故其内存操作命令和其它的单总线器件略有不同。 DS2438 的内存操作命令如下: 写高速暂存存储器 [4EHXXH]; 读高速暂存存储器 [BEHXXH]。 读制高速暂存存储器 [48HXX]; 恢复存储器 [B8HXXH]。 温度转 换命令 [44H]; 电压转换命令 [B4H]。 上述内存命令中的 XXH 为高速暂存存储器的页地址,有效的页码地址为 00~07H。 DS2438 对高速暂存存储器的操作中,除了基本的命令外,还必须将等操作的高暂存存储器的页地址送出去。 DS2438 允许 1次读 /写 1页内的全部 8个字节,且读写字节操作可使用复位命令在任何瞬间终止。 值得注意的是, DS2438 的温度转换命令及电压转换命令发出后,主机需等待10~ 20ms,以使 DS2438 完成温度及电压转换;同时,若采用寄生电源供电,应将总线拉高,以保证充足的能量供应。 电路工作 原理 温湿度检测电路如图 34 所示。 图中 ,单总线上的电压经二极管 VD1 整流、电容 C1 滤波后给湿度传感器 HIH3610 和单总线器件 DS2438 供电。 湿度传感器湿度输出电压经电阻 R2 送入 DS2438 的 VAD 端。 DS2438 的 VDD 端电源电压及 VAD 端湿度电压经 DS2438A/D 转换后 ,从 DS2438 单总线端 DQ输出。 盐城工学院本科生毕业设计说明书 (2020) 11 C20 . 0 1 u fR21 0 0 KO U T VDDGNDH IH 3 6 1 0C10 . 0 1 u fV D 2V D 1R14 . 7 K5VDQVDDGNDV A DD S 2 4 3 8P 1 . 0 图 34温湿度检测电路 HIH 3610 输出电压与湿度的关系为 : Vout=(V+)/ (33) 式中 :Vout 为 HIH3610 的输出电压。 V 为 HIH3610 的电源电压。 h 为相对湿度 (%)。 由式 (23)可知 ,输出电压不仅正比于湿度测量值 ,且与电源电压值有关。 若电源电压固定为 5V,则其值仅由相对湿度值决定。 另外 ,HIH3610 测量的湿度值还与环境温度有关 ,式 (24)是在 25℃时传感器输出温度与湿度的关系 ,当环境温度改变时应进行温度补偿 ,补偿公式为 : h′ =h/() (34) 式中 :T为环境摄氏温度值。 h′为湿度的修正值。 因 此 ,为了得到准确的湿度测量值 ,还应在测量湿度的同时测量环境温度和湿度传感器电源电压值 ,这一任务可由智能电池监视器件 DS2438 完成。 利用 D52438的温度传感器测量环境温度 ,此温度一方面用于温度值输出 ,另一方面用于湿度测量时温度值的补偿。 利用 DS2438 内部的双通道 A/D 转换器 ,通过编程存储空间中状态 /标志寄存器的模拟和数字取值的不同 ,实现 HIH3610 输出湿度电压及 HIH3610电源电压测量的切换 ,分别得到温度测量和湿度测量时的电源电压值 ,并通过DS2438 的 DQ 端将所测环境温度值、湿度值、电源电压值 传输到单总线上。 因此 ,使用 DS2438即可完成温湿度测量 ,并可由相应的软件算法实现湿度传感器电源电压校正及环境温度补偿。 键盘与显示电路 键盘的设计 为了完成预定湿度值的设置,系统中设置了 4 个按键, S1 为启动 /停止键,用来控制系统的启停, S2, S3 为加 1减 1键,设置湿度的上下值, S4 设置定时时间。 按键对单片机的接口电路图如图 35所示。 基于单片机的湿度控制器的设计 12 S1S2S3R510 K * 4R6R7 R8S4启动 /停止加 1减 1定时P 2 . 1P 2 . 05VP 2 . 2P 2 . 3 图 35按键对单片机的接口电路图 LED 显示电路设计 显示电路由 MAX7219 芯片完成, MAX7219 是一种高集成化的串行输入 /输出 的共阴 极 LED 显示驱动器。 每片可驱动 8 位 7 段加小数点的共阴极数码管。 SEGA~SEGG(图中为 A到 G)为 LED 七段显示器段驱动端 , SEGDP 为小数点驱动端;( SEGA~SEGG,DP 驱动显示器 7段及小数点的输出电流,一般为 40 mA 左右,可软件调整,关闭状态时,接入 GND。 ) DIG7~DIG0: 8 位数值驱动线。 输出位选信号,从每个 LED 公共阴极吸入电流,吸收显示器共阴极电流的位驱动线。 其最大值可达 500 mA,关闭状态时,输出+ VCC。 MAX7219 是一种高集成化的串行输入 /输出的共阴极 LED 显示驱动器。 每片可驱动 8 位 7 段加小数点的共阴极数码管,可以数片级联,而与微处理器的连接只需 3根线。 MAX7219 内部设有扫描电路,除了更新显示数据时从单片机接收数据外,平时独立工作,极大地节省了 MCU 有限的运行时间和程序资源。 MAX7219 芯片上包括BCD译码器、多位扫描电路、段驱动器、位驱动器和用于存放每个数据位的 8 8 静态 RAM 以及数个工作寄存器。 通过指令设置这些工作寄存器,可以使 MAX7219 进入不同的工作状态。 如 图 36为 MAX7219 的时序图( DIN CLK LOAD 原理) 图 36 MAX7219工作 时序图 盐城工学院本科生毕业设计说明书 (2020) 13 这个时序图简单 反映了 DIN, CLK 和 LOAD 的工作时序 ,就是告诉大家三个端口是怎么合作传送数据的。 其中, DIN 是串行数据输入端, CLK 和 LOAD 实际上是充当了组织者。 针对单片 MAX7219 介绍一下数据传送的过程: 首先,在 CLK的下降沿,无效,在 CLK 的上升沿,第一位二进制数据被移入内部移位寄存器,然后 CLK 再出现下降沿,无效,然后 CLK 再出现上升沿,第二位二进制数据被移入内部移位寄存器,就这样工作十六个周期,完成十六个二进制(前八个是地址,后八个是数据)的传送,这当中 LOAD 一直是低电平, 当完成十六个二进制的传送后。 把 LOAD 置成高电平,产生上升沿,把这 16 位串行数据锁存到数据或控制寄存器中。 完成装载。 然后再把 LOAD 还原为低。 重复开始的动作。 MAX7219与 LED 数码管连接如图 37所示。 abfcgdeD P Y1234567abcdefg8dpdpL3abfcgdeD P Y1234567abcdefg8dpdpL5。基于单片机的湿度控制器设计
相关推荐
,但是诸如燃气泄漏、烟气泄漏、水温偏高导致烫伤等安全事故还是偶有发生,所以保证系统运行安全可靠是控制器设计的基本要求。 安全性设计首先要解决的问题就是避免燃气泄漏和烟气泄漏,要保证做到燃气热水器工作于燃烧状态时烟道畅通;要严格控制燃气阀的开闭;要做到控制器意外死机后燃气阀能及时关闭等。 其次要解决的安全性设计问题是避免生活水和采暖水水温偏高,要保证水温过高时控制器中断加热或停机报警。 (
脚) :在访问片外程序存储器时,此端输出负脉冲作为存储器读选通信号。 CPU 在向片外存储器取指令期间, PSEN 信号在 12 个时钟周期中两次生效。 不过,在访问片外数据存储器时, 这两次有效 PSEN 信号不出现。 PSEN 端同样可驱动 8 个 LSTTL负载。 我们根据 PSEN、 ALE 和 XTAL2 输出端是否有信号输出,可以判别 80C51 是否在工作。 EA/VPP( 31
式、空闲模式和掉电模式,通过配置寄存器来选择工作模式,在使用时NRF24L01 的引脚可以和单片机的任何端口 连接使用,但在编程控制时要注意。 NRF24L01 的引脚功能如表 21所示。 NRF24L01 与 NRF905 相 比较,在传输距离上 NRF905 优于 NRF24L01,但在价格上 NRF905 比 NRF24L01贵很多,并且在此次设计中不需要 较 远距离 的数据 传输,如果用
梅雨季节时候,降雨较多,空气容易潮湿,衣物得不到充足的光照就很容易生霉发臭。 如果设计那么一款智能干衣柜,能够不断监测衣柜内空气的湿度,当空气湿度超过一定 值时,干衣柜就能自行启动定时干燥杀菌操作,定时时间到了以后控制器就能切断供电电源,停止干燥杀菌操作。 控制器有一个温度传感器,对加热器工作时的空气温度进行监控,当柜内温度过高时,控制器及时切断加热器电源,避免因加热温度过高对衣物造成损坏。
中断处理过程: ( 1)保护被中断进程现场。 为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机程序状态字 PSW 和程序计数器 PC 等的值。 ( 2)分析中断原因,转去执行相应的中断处理程序。 在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。 ( 3)恢复被中断进程的现场, CPU 继续执行原来被中断的进程。 、 C51 定时器 0 说明 M/机器周期
FLASH 编程和校验时, P1口作为第八位地址接收。 P2口 : P2口为一个内部上拉电阻的 8位双向 I/O 口, P2口缓冲器可接收,输出 4个 TTL 门电流,当 P2口被写“ 1”时,其管脚被内部 10 上拉电阻拉高,且作为输入。 并因此作为输入时, P2口的管脚被外部拉低,将输出电流。 这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16位地址外部数据存储器进行存取时,