语音温度播报控制器(毕业设计(编辑修改稿)内容摘要:

TL 值传给单片机等。 图 23 温度采集框图 . 数字显示功能 在本系统中,显示功能是依靠 LED 数码管来实现的。 如图 24 : AT89S52 DS18B20 州大学 2020 届本科生毕业论文 第 6 页 图 24 数字显示框图 在本系统中,数码管将显示数字字符 0~9 和小数点以及字母字符“ L”“ H”“ — ”“ F”。 单片机的 P0 口为数码管提供显示字符的数据信息,而 P2口为数码管提供片选信号,获得低电平的数码管将发光,其余不发光。 在系统上电后,单片机将检测是否有 DS18B20,如没有检测到,数码管将显示字符“ F”,在我们看来,五个数码管都将显示为“ F”。 在温度显示时,数码管的第一位显示当前的温度是过高“ H”,偏低“ L”和适合“ 0”,而其余数码管显示温度值,第四位数码管的小数点将一直发光。 在 TH、 TL 值设置时,第一位数码管显示当前设置温度是 TH 值“ H” ,还是 TL 值“ L” ,最后一、二或者三位是设置温度值,其余 位显示字符“ — ”。 . 语音播放功能 本系统的语音功能是通过语音芯片 ISD2590 和喇叭实现的,如图 25 : AT89S52 LED 数码管 州大学 2020 届本科生毕业论文 第 7 页 图 25 语音播放框图 系统中需要播放的语音有:“请检查传感器。 ”、 0~“十”、“百”、“负”、“点”、“度”、“现在温度是”、“温度过高。 ”、“温度偏低。 ”这些语音都已经先录制到语音芯片中的不同地址。 语音播放时,单片机将语音地址数据传给 ISD2590,同时也传送了控制播放信号,而喇叭就播放出语音芯片中的语音。 在语音播放时,单片机将采取 延时来等待下个语音的到来。 . 温度控制系统 系统通过电磁继电器控制电热器加热与否,进而实现温度的自动控制,如图 26 : 图 26 温度控制框图 AT89S52 继电器 电热器 AT89S52 ISD2590 喇叭 州大学 2020 届本科生毕业论文 第 8 页 单片机通过控制 这位的高低电平,控制继电器的工作,进而控制电热器,最终实现水温的自动控制。 州大学 2020 届本科生毕业论文 第 9 页 第 3章 . 硬件电路设计 图 31 系统电源电路 如图 31,在电源电路中,首先 220V 的交流电经过变压器 T0 将电压降低,然后经过四个二极管组成的 桥式整流电路 D0整流,此时电流已经成为直流。 直流电流通过 C0组成的滤波电路,电压将趋于稳定电压 12V,这部分是用直流电源实现。 12V的直流电通过由三端稳压器 7805 组成的直流稳压电路将电压稳定在 VCC—— 5V。 发光二极管 DS1 在系统上电( S0 闭合)时发光,表示电路已接通。 . 微处理器( MCU) AT89S52 AT89S52是一种低功耗、高性能 CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。 使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。 片上 Flash允许程序存储器在系统可编程,亦适于常规编程器。 在单芯片上,拥有灵巧的 8位 CPU和在系统可编程 Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 州大学 2020 届本科生毕业论文 第 10 页 外部引脚介绍: VCC : 电源 GND: 地 P0 口: P0口是一个 8位漏极开路的双向 I/O口。 作为输出口,每位能驱动 8个 TTL逻辑电平。 对 P0端口写“ 1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, P0口也被作为低8位地址 /数据复用。 在这种模式下, P0具有内部上拉电阻。 P1 口: P1 口是 一个具有内部上拉电阻的 8 位双向I/O 口, p1 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对P1 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P2 口: P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P2 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 在访问外部程序存储 器或用 16位地址读取外部数据存储器(例如执行 MOVX @DPTR)时, P2 口送出高八位地址。 在这种应用中, P2 口使用很强的内部上拉发送 1。 在使用 8位地址(如 MOVX @RI)访问外部数据存储器时, P2口输出 P2锁存器的内容。 P3 口: P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口, p2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3口亦作为 AT89S52特殊功能(第二功能)使用。 州大学 2020 届本科生毕业论文 第 11 页 . 单 片机硬件电路 图 33 系统单片机电路 如图 33,在整个硬件电路中,有 单片机最小系统: 1)电源和地的连接; 2)单片机的 XTAL1 和 XTAL2 引脚外接石英晶体以及 C3 和 C2 就构成了自激振荡器并在单片机内部产生时钟脉冲信号; 3) RST 引脚外接 C R R2 和 K0 构成了上电与按键均有效的复位电路。 4) 引脚连接 VCC 表明使用内部 8K 的 FALSH 作为程序存储器。 与 DS18B20 连接口 —— : 1)采集的温度数据从 输入单片机,然后单片机进行 BCD 处理; 2)设置、修改的 TH 和 TL值通过 拷贝到 DS18B20中。 数码管显示利用 P0、 P2 口: 1) P0 口为数码管显示提供段选信号; 2) P2中的 至 为数码管显示提供位选信号。 语音芯片连接的 P3 口: 1) ~ 为 ISD2590 放音提供地址数据;2) 控制喇叭的停放音。 州大学 2020 届本科生毕业论文 第 12 页 . 数字化温度传感器 DS18B20 功能简介 (1)Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 “一线总线”接口的温度传感器。 现在,新一代的“ DS18B20” 体积更小、更经济、更灵活。 本设计采用 DS18B20 作为可编程的温度传感器。 独特的单线接口方式: DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 ( 2)在使用中不需要任何外围元件。 ( 3)可用数据线供电,电压范围: V。 ( 4)测温范围: 55 125 ℃。 固有测温分辨率为 ℃。 ( 5)通过编程可实现 912 位的数字读数方式。 ( 6)用户可自设定非易失性的报警上下限值。 ( 7)支持多点组网功能,多个 DS18B20 可以并联在惟一的三线上,实现 多点测温。 ( 8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 . 管脚及特点 DS18B20 可编程温度传感器有 3 个管脚。 GND 为接地线 ,DQ 为数据输入输出接口 ,通过一个较弱的上拉电阻与单片机相连。 VDD为电源接口 ,既可由数据线提供电源 ,又可由外部提供电源 ,范围 ~ V。 本系统使用外部电源供电。 主要特点有 : (1) 用户可自设定非易失性的报警上下限温度值。 (2) 不需要外部组件 ,能测量 55~ + 125 ℃范围内的温度。 (3) 10℃~ + 85 ℃范围内的 测温准确度为177。 ℃。 州大学 2020 届本科生毕业论文 第 13 页 (4) 通过编程可实现 9~ 12 位的数字读数方式 ,可在至多 750ms 内将温度转换成12bit 的数字 ,测温分辨率可达 ℃。 (5) 独特的单总线接口方式 ,与微处理器连接时仅需要一条口线即可实现与微处理器双向通讯。 . 内部结构 DS18B20 内部功能模块如图 34 所示 ,主要由 4 部分组成 :64 位光刻 ROM、温度传感器、非易失性的温度报警触发器 TH 和 TL 、配置寄存器。 ROM 中的 64 位序列号是出厂前被光刻好的 ,他可以看作是该 DS18B20 的地址序列码 ,每个 DS18B20 的 64 位序列号均不相同。 高低温报警触发器 TH 和 TL , 配置寄存器均由一个字节的 E2PROM 组成 ,使用一个存储器功能命令可对 TH , TL 或配置寄存器写入或读出。 图 34 DS18B20 内部功能模块 . 内存结构 如图 35,DS18B20 温度传感器的内部高速缓存存储器,包含了 9个连续字节 ,前两个字节是测得的温度信息 ,第 1个字节的内容是温度的低 8位 ,第 2个字节是温度的高 8位。 第 3 个和第 4 个字节是 TH ,TL 的拷贝,在每一次上电复位时被刷新。 接着就是配置寄存器。 第 9个字节 是冗余检验字节 ,校验前面所有 8个字节的 CRC码 ,可用来保证通信正确。 其余字节为保留字节。 配置寄存器中 R1 ,R0 决定温度转换的精度位数 : R1R0 =“ 00” , 9 位精度 , 最州大学 2020 届本科生毕业论文 第 14 页 大转换时间为 ms。 R1R0 =“ 01” , 10 位精度 , 最大转换时间为 ms。 R1R0 =“ 10” , 11 位精度 , 最大转换时间为 375 ms。 R1R0 =“ 11” ,12 位精度 ,最大转换时间为 750 ms。 (1) 64 b 闪速 ROM 的结构如下: 开始 8位是产品类型的编号,接着是每个器件 的惟一的序号,共有 48位,最后8位是前 56位的 CRC校验码,这也是多个 DS18B20 可以采用一线进行通信的原因。 (2) 非易市失性温度报警触发器 TH和 TL,可通过软件写入用户报警上下限。 (3) 高速暂存存储器 DS18B20温度传感器的内部存储器包括一个高速暂存 RAM和一个非易失性的可电擦除的 E 2RAM。 后者用于存储 TH, TL值。 数据先写入 RAM,经校验后再传给 E2RAM。 而配置寄存器为高速暂存器中的第 5个字节,他的内容用于确定温度值的数字转换分辨率, DS18B20 工作时按此寄存器中的分辨率将 温度转换为相应精度的数值。 该字节各位的定义如下: 低 5 位一直都是 1, TM 是测试模式位,用于设置 DS18B20 在工作模式还是在测试模式。 在 DS18B20 出厂时该位被设置为 0,用户不要去改动, R1和 R0决定温度转换的精度位数,即是来设置分辨率,如表 1 所示( DS18B20 出厂时被设置为 12 位)。 设定的分辨率越高,所需要的温度数据转换时间就越长。 因此,在实际应用中要在分辨率和转换时间权衡考虑。 高速暂存存储器除了配置寄存器外,还有其他 8个字节组成,其分配如下所示。 其中温度信息(第 1, 2字节)、 TH和 TL 值 第 3, 4 字节、第 6~ 8字节未用,表现为全逻辑 1;第 9 字节读出的是前面所有 8个字节的 CRC 码,可用来保证通信正确。 州大学 2020 届本科生毕业论文 第 15 页 当 DS18B20 接收到温度转换命令后,开始启动转换。 转换完成后的温度值就以16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1, 2字节。 单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以 0 062 5 ℃/LSB 形式表示。 温度值格式如下: 对应的温度计算:当符号位 S=0 时,直接将二进制位转换为十进制;当 S=1 时,先将补码变换为原码,再计算十进制值。 表 2是对应的一部 分温度值。 DS18B20 完成温度转换后,就把测得的温度值与 TH, TL作比较,若 TTH 或 T < TL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。 因此,可用多只 DS18B20 同时测量温度并进行告警搜索。 (4) CRC 的产生在 64 b ROM 的最高有效字节中存储有循环冗余校验码( CRC)。 主机根据 ROM 的前 56。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。