基于单片机数字温湿度控制器的设计内容摘要:

平保持为高或者为低超过了定时的时间,就会产生复位信号。 CS 引脚上的一个下降沿将会复位看门狗定时器。 由于这是一个开漏型的输出引脚,所以使用时必须接上拉电阻。 8 VCC 正电源。 X5045 的状态寄存器描述 了 器件的当前状 态, 各位意义如 下 所 示。 表 24 X5045 状态寄存器各位定义 7 6 5 4 3 2 1 0 0 0 WD1 WD0 BL1 BL0 WEL WIP 其中, WD WD0是看门狗定时时间设置位; BL BL0是存储单元写保护区设置位;WEL 是只读标志, 1表明写使能开关打开; WIP 也是只读标志, 1 代表芯片内部正处于写周期。 电复位时,各位都被清零。 临沂师范学院 2020届本科毕业论文 12 X5045 芯片功能包括以下 4 种: ( 1) 上电复位控制。 在对 X5045 通电时, RESET 引脚输出有效的复位信号,并保持至少 200ms,使 CPU 有效复位。 ( 2) 电源电压监控。 当检测到电源电压低于内部门槛电压 VTRIP时, RESET 输出复位信号,直至电源电压高于 VTRIP并保持至少 200ms,复位信号才被撤消。 VTRIP的出厂值根据芯片型号不同共有 5个级别的电压范围。 对于需要电源电压精确监控的应用,用户可以搭建编程电路,对芯片内 VTRIP电压进行微调。 ( 3) 看门狗定时器。 芯片内部状态寄存器的 WD WD0 是看门狗定时设置位,通过状态寄存器写 指令 WRSR 修改这 两 个标志位,就能在 三 种定时间隔中进行选择或关闭定时器。 对看门狗的复位由 CS 输入电平的下降沿完成。 下表 是 WD WD0 组合的含义。 表 25 WD WD0组合定义 WD1 WD0 看门狗定时值 0 0 0 1 600ms 1 0 200ms 1 1 禁止看门狗工作 ( 4) 串行 E2PROM。 芯片内含 512 字节存储单元, 10 万次可 擦 写,数据保持时间 100年 ,并 设计了 3 种保护方式防止误写。 包括: ① WP 写保护引脚,当引脚被拉低时,内部存储单元状态寄存器都禁止写入; ② 存储区域写保护模式,通过对状态寄存器的 BLBL0 位的设置,可以选择对不同的存储区域进行写保护; ③ 在进行任何写操作前都必须打开写使能开关,而且在上电初始化写操作完成时,写使能开关自动关闭。 显然, 在几方 面的保护之下,产生误写的可能性极小 ,下表 是 BL BL0 组合的含义。 表 26 BL BL0组合定义 BL1 BL0 写保护的单元地址 0 0 没有保护 0 1 180H~ 1FFH 1 0 100H~ 1FFH 1 1 000H~ 1FFH ( 1) WREN 和 WRDI 是写使能开关的开 /关指令。 它们都是单字节指令。 ( 2) RDSR 和 WRSR 是状态寄存器的读 /写指令。 在从 SI 输入指令后, RDSR 的执行结果,即状态寄存器内容须从 SO 读出;而 WRSR 需要紧接着输入修改数据。 ( 3) READ 和 WRITE 是存储单元的读 /写指令。 输入指令后(指令 的位三用于选择存储器的上半区和下半区 ),接着输入低八位地址,最后就可以连续读出或写入数据。 其中,读指针和写指针的工作 方式完全不同,读指针的全部 8 位用来计数, 0FFH 溢出后变成 00H;写指针只用最低两位计数, XXXXXX11B 溢出后变成 XXXXXX00B,所以连续写的实际结果是在 4个单元中反复写入。 另外,由于 E2PROM 的写入时间长,所以在连续两条写临沂师范学院 2020届本科毕业论文 13 指令之间应读取 WIP状态,只有内部写周期结束时才可输入下一条写指令。 芯片内部共有 6条指令,如 下 表所列。 表 27 X5045 内部指令 命令名称 命令格式 内 容 WREN 0000 0110 打开写使能开关 WRDI 0000 0100 关闭写使能开关 RDSR 0000 0101 读状态寄存器 WRSR 0000 0001 写状态寄存器 READ 0000 A8011 读存储单元 WRITE 0000 A8010 写存储单元 对 X5045 的操作是通过 4根口线 CS 、 SCK、 SI 和 SO进行同步串行通信来完成的。 X5045与 AT89S52 单片机的连接电路图见图 214。 SCK 是外部输入的同步时钟信号 , 在对芯片进行写入 指令或数据时,时钟前沿将 SI 引脚信号输入;在读 取 数据时,时钟后沿将数据位输出到 SO引脚上。 数据的输入 、 输出都是 高位在先。 V C CR E S E TV C CR E S E T WP V S S CSSIS C KSOX 50 45R1P 1. 0P 1. 1P 1. 2P 1. 3 图 26 X5045与 AT89S52单片机连接电路图 综上所述,并基于图 26电路产生复位信号的条件,只要满足以下任意一个条件,就将使系统产生复位,迫使程序从起点执行。 ( 1) 该芯片在其上电后自产生复位信号,这样就实现单片机的上电自动复位; ( 2) 当电源 VCC低于规定值时,(如 VCC=5V,则规定值为 ~ ),将产生复位信号。 这样就实现系统电源的掉电复位; ( 3) 当程序在编程选择的时间里没有访问 X5045 时,即没有一个喂狗语句,则看门狗( WDT)将起作用, RST 将产生复位信号, 迫使单片机复位。 临沂师范学院 2020届本科毕业论文 14 温度信号采集模块 DS18B20芯片简介 DS18B20 是美国达拉斯 (DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。 该器件将半导体温敏器件、 A/D 转换器、存储器等做在一个很小的集成电路芯片上。 本设计中温度传感器之所以选择单线数字器件 DS18B20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因: ( 1)系统的特性:测温范围为 55℃~ +125℃ ,测温精度为士 ℃;温度转换精度 9~ 12 位可变,能够直接将温度转换值以 16 位二进制数码的 方式串行输出; 12 位精度转换的最大时间为 750ms;可以通过数据线供电,具有超低功耗工作方式。 ( 2)系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格也越来越低。 一支 DS18B20 的体积与普通三极管相差无几,价格只有十元人民币左右。 ( 3)系统复杂度:由于 DS18B20 是单总线器件,微处理器与其接口时仅需占用 1 个I/O 端口且一条总线上可以挂接几十个 DS18B20,测温时无需任何外部元件,因此,与模拟传感器相比,可以大大减少接线的数量,降低系统的复杂度,减少工 程的施工量。 使测温系统的线路结构设计和硬件开销大为简化。 ( 4)系统的调试和维护:由于引线的减少,使得系统接口大为简化,给系统的调试带来方便。 同时因为 DS18B20 是全数字元器件,故障率很低,抗干扰性强,因此,减少了系统的日常维护工作。 DS18B20 采用 3脚封装如图 27 所示 图 27 DS18B20引脚图 ( 引脚说明: GND接地 ; DQ数字输入 /输出 ; VDD可选的电源 ) DS18B20的温度测量 DS18B20 的核心功能是其数字温度传感器,其温度与数字量的关系如表 28所 示。 温度传感器的测量结果被用户定义为 9, 10, 11或 12 位,其各自的准确度为 、 、 0. 0625。 DS18B20 测得温度数据在温度寄存器中被存为带标志位的 16 位数,标志位 S表示温度是正是负,为正则 S=0,为负则 S=1, 如果 DS18B20 设定为 12 位结果,温度寄存器中所有位将包含有数据;对于 11 位结果, 0位未定义; 10 位结果, 0位和 1位未定义; 9 位结果位 位 1 和位 0未定义。 表 29 是 DS18B20 内部存储器,表 210DS18B20 GND DQ VDD 临沂师范学院 2020届本科毕业论文 15 是 DS18B20 温度存储格式与配置寄存器控制字的格式。 由表 28 可知,检测温度由两个字节组成,字节 1 的高 5位 S代表符号位,字节 0 的低 4位是小数部分,中间 7位是整数部分。 字节 4 是配置寄存器控制字的格式,当主机发出温度转换命令( 44H)时,启动温度转换过程,转换时间最长 750 ms。 主机通过读寄存器命令( BEH),将温度值读出。 通过写寄存器功能命令,改变分辨率的设置。 表 28 温度和数字量的关系 温 度 数字输出(二进制) 数字输出(十六进制) +1250C 0000 0111 1101 0000B 07D0H +850C 0000 0101 0101 0000B 0550H + 0000 0001 1001 0001B 0191H + 0000 0000 1010 0010B 00A2H + 0000 0000 0000 1000B 0008H 00C 0000 0000 0000 0000B 0000H 1111 1111 1111 1000B FFF8H 1111 1111 0101 1110B FF5EH 1111 1110 0110 1111B FE6FH 550C 1111 1100 1001 0000B FC90H 表 29 DS18B20内部存储器 字 节 ROM RAM 0 产品代号( 28H) 温度低 8位 1 48位器件序列号 温度高 8位 2 48位器件序列号 TH 3 48位器件序列号 TL 4 48位器件序列号 配置寄存器 5 48位器件序列号 保留 6 48位器件序列号 保留 7 CRC 保留 8 CRC 表 210 温度存储格式与配置寄存器控制字格式 Bite7 Bite6 Bite5 Bite4 Bite3 Bite2 Bite1 Bite0 字节 0 23 22 21 20 21 22 23 24 字节 1 S S S S S 26 25 24 字节 4 0 R1 R0 1 1 1 1 1 温度报警信号 DS18B20 完成温度转换后,就把测得的温度值与 TH, TL 作比较。 若 TTH 或 TTL,则将该器件内的报警标志置位,并对主机发出的告警搜索命令作出响应。 因此,多只DS18B20 同时测量温度并进登记注册端口, DS18B20 在接入系统前,先接到登记注册端E2PROM TH TL 配置寄存器 临沂师范学院 2020届本科毕业论文 16 口,确认后, CPU 将 DS18B20 的物理位址 (8个 BYTE)读出 , 然后存入到 E2PROM 中刚才设定的逻辑地址上, DS18B20 在 E2PROM 中逻辑地址定义见表 211。 行报警搜索,一旦某测温点越限,主机利用报警搜索命令,即可识别正在报警的器件,并读出其序列号。 温度传感器的登记 每一个 DS18B20 在接入系统工作前,必须先进行登记注册。 在每台分机上都有一个登记注册端口, DS18B20 在接入系统前,先接到登记注册端口,确认后, CPU 将 DS18B20的物理位址 (8 个 BYTE)读出 , 然后存入到 E2PROM 中刚才设定的逻辑地址上, DS18B20 在E2PROM 中逻辑地址定义见表 211。 表 211 存储器中逻辑地址定义 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 X X X X 表中各位表示的意义如下: A15A14 存储操作标志 (为固定值 00); A13A12A11 口地址 ; A10A9A8 线地址 ; A7A6A5A4点地址 ; A3A2A1A0 存储区域 DS18B20的通信协议 数字式温度传感器和模拟传感器最大的区别,是将温度信号直接转化成数字信号,然后 通过串行通信的方式输出。 因此掌握 DS18B20 的通信协议是使用该器件的关键。 所有的 DS18B20 器件要求采用严格的通信协议,以保证数据的完整性。 该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写“ 0”写“ 1”时隙;读“ 0”读“ 1” 时隙。 与 DS18B20 的通信,是通过操作时隙完成单总线上的数据传输。 发送所有的命令和数据时,都是字节的低位在前,高位在后。 ( 1)复位和应答脉冲时隙 每个通信周期起始于微控制器发出的复位脉冲,其后跟 DS18B20 发出的应答脉冲。 在写时隙期间,主机向 DS18B20 器件写入数据,而 在读时隙期间,主机读入来自 18B20的数据。 在每一个时隙,总线只能传输一位数据。 ( 2)写时隙 当主机将单总线 DQ 从逻辑高(空闲状态)拉为逻辑低时,即启动一个写时隙。 所有的写时隙必须在 60~120us 完成,且在每个循环之间至少需要 1us 的恢复时间。 写 0和写 1时隙如图 24所示。 在写 0时隙期间,微控制器在整个时隙中将总线拉低,而写1时隙期间,微控制器将总线拉低,然后。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。