基于单片机的数字语音温度计内容摘要:

具有上电复位和按键复位的双重复位功能。 复位电路如图 所示。 图 复位电路 温度传感器模块设计 本设计采用的是 美国 Dallas 半导体公司推出的支持“一线总线”(在一条总线上仅有一个主系 统和若干个从系统组成的计算机应用系统)接口的温度传感器 DS18B20。 DS18B20 的特性 DS18B20 有以下几个特性: ⑴单线接口:仅需一根口线与单片机连接; ⑵由总线提供电源,也可用数据线供电,电压范围: ~ ; ⑶测温范围为: 55~ +125176。 C,在 10~ +85 176。 C 时,精度为 176。 C; ⑷可编程的分辨率为 9~ 12 位,对应的分辨率为 ~ 176。 C; ⑸用户可编程的温度报警设置; ⑹ 12 位分辨率时最多在 750ms 内把温度值转换为数字量。 引脚功能 烟台大学毕业论文(设计) 9 DS18B20 温度传感器如图 所示。 图 DS18B20 温度传感器 其引脚功能: ⑴ GND 为电源地 ⑵ DQ 为数字信号输入 /输出端 ⑶ VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 测温原理 DS18B20内部的低温度系数振荡器 的 振荡频率随温度变化很小,为计数器 1提供一 个 频率稳定的计数脉冲。 高温度系数振荡器 的 振荡频率 随 温度 变化很大 ,为计数器 2提供一个频率随温度变化而变化 的计数脉冲。 初始时,温度寄存器被预置成 55℃,每当计数器 1从预置数开 始减计数到 0时,温度寄存器中寄存的温度值就增加 1℃,这个过程重复进行,直到计数器 2计数到 0时便停止。 初始时,计数器 1预置的是与 55℃相对应的一个预置值。 以后计数器 1每一个循环的预置数都由斜率累加器提供。 为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。 计数器 1的预置数也就是在给定温度处使温度寄存器寄存值增加1℃计数器所需要的计数个数 [8]。 DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低有效位。 在计数器 2停止计数后,比较器将计数器 1中的计数剩余值转换为温度值后 与 ℃进行比较,若 烟台大学毕业论文(设计) 10 烟台大学毕业论文(设计) 11 烟台大学毕业论文(设计) 12 后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0和第 1个字节。 单片机可通过单线接口读到该数据,读取时低位在前,高位在后 [9]。 表 DS18B20温度数据表 表 DS18B20温度 传感器经过 采集 并 转化后得到的数据 ( 12位 ) ,存储在 DS18B20的两个 8bit 随机存取器 中, 其中 的前面 5位 ( 00000或 11111) 是符号位,如果测得的温度大于或等于 0,这 5位为 0,只要将测到的数值乘于 ;如果温度小于 0,这 5位为 1,测到的数值需要取反加 1再乘于。 温度转换计算方法举例: 例如当 DS18B20采集到 +℃ 的实际温度后,输出为 0191H,则: 实际温度 =0191H*=401*=℃。 例如当 DS18B20采集到 55℃的实际温度后,输出为 FC90H,则应先将 11位数据位取反加 1得 370H(符号位不变,也不作为计算),则: 实际温度 =370H*=880*=55℃。 与单片机的接口设计 DS18B20 温度传 感器 与单片机 的连接 有两种方法,一种是 VCC 接外部电源, GND 接地,I/O 与单片机的 I/O 线相连;另一种是用寄生电源供电,此时 UDD、 GND 接地, I/O 接单片机 I/O。 无论是内部寄生电源还是外部供电, I/O 口线要接 的上拉电阻。 本设计用方烟台大学毕业论文(设计) 13 法一 VCC 接外部电源, GND 接地, I/O 与单片机的 I/O 线相连。 I/O 端口分配 : DS18b20 通道 与单片机的接口电路如图 所示。 图 DS18B20 与单片机的接口电路 过费时费工鼓风管复位 反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告 人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反 复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 过费时费工鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更 让人给 鼓风管复位反复反复反复反复反复反复广告广告广告广告广告狗头人扰扰攘攘让人 4 柔柔弱弱日日日日发广告人工而更让人给 显示模块设计 本设计采用 RT1602 液晶显示器件。 引脚功能 RT1602 各引脚功能如下: 第 3 脚: VL 为对比度调整端,接地电源时对比度最 强 ,接正电源时对比度最弱 ,在 使用时可以通一个电位器 ( 10K) 调整对比度 ,以免 对比度过高时产生“鬼影”; 第 4 脚: RS 为寄存器选择 端 , 当 RS 为 低电平时选择指令寄存器 ,当 RS 为 高电平时选择数据寄 存器; 第 5 脚: R/W 为读写信号 端 ,低电平时 为 写操作,高电平时 为 读操作。 另外, 当寄存器选择 端 为高电平 且 读写信号 端 为低电平时可以 执行 写入数据 操作 ,当寄存器选择 端 和读写信号 端 均 为低电平时可以显示地址或者写入指令,当寄存器选择 端 为低电平 且 读写信号 端为高电平时可以读忙信号; 第 6 脚: E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令;第 7~ 14烟台大学毕业论文(设计) 14 脚: D0~ D7 为 8位双向数据线; 第 15~ 16脚: 背光电源脚。 (引脚图见 图 ) 与单片机的接口设计 I/O 端口分配 如表 所示。 表 I/O 端口分配 LCD 读 /写选择端 LCD 数据 /命令端 LCD 使能端 LCD 显示地址端口 与单片机的接口电路如图 所示。 图 RT1602 与单片机的接口电路 键盘控制模块设计 本设计 需要 4 个独立式按键,分别为:功能键、 ↑按 键、 ↓按 键、语音播报键。 (在第四部分 ) 烟台大学毕业论文(设计) 15 去抖 组成键盘的按键有两种 ,分别是 触点式和非触点式, 在 单片机应用 中, 一般是 用 机械触点 式。 当开关 S 闭合后,输入为低电平 , S 未被按下时,输入为高电平。 由于是机械触点 式按键 ,当机械触点 在 断开闭合 的瞬间 会 产生 抖动。 这种抖动 是人感觉不到的 ,但 由于计算机处理 数据 的速度在微秒级,是完全可以感应到 机械抖动 的。 因为机械抖动的时间至少 也 是毫秒级。 你只按了一次按键,可是计算机却已执行了多次中断的过程,如果执行的次数正好是奇数次,那么结果正 好是对的 ,如果执行的次数是偶数次,那就不对了。 为使CPU 能正确地读出 端 口的状态,对每一次按键只作一次响应,就必须考虑如何去除抖动,常用的去抖动的方法有两种:硬件 去抖 法和软件 去抖 法。 此设计中 用软件法。 软件法其实很简单,就是 当 单片机 在端 口 获得 低的信息后,不是 马上 认定 按键 S已被按下,而是 先 延时 10 毫秒或更 久 后再次检测 端 口,如果仍为低,说明 S1 的确按下了, 从而消除 了按键按下时抖动时间 的影响。 为了消除后沿的抖动,当 检测到按键释放后 ,需 再延时 10 毫秒,然后再对键值 进行其他 处理 [10]。 通常 情况下,我们不对按键释放的后沿进行 去抖 处理。 (去抖软件代码见附录) 开关按下松开时的端口波形如图 所示。 图 按键抖动 与单片机的接口设计 4个独立式按键 ,分别接到单片机的 口。 I/O 端口分配 : 连接键盘控制端口 与单片机的接口电路如图 所示。 烟台大学毕业论文(设计) 16 图 键控电路 语音播报模块设计 本设计 采用 ISD1420 语音录放。 引脚功能 ISD1420 引脚图如图 所示。 图 ISD1420 引脚图 烟台大学毕业论文(设计) 17 ISD1420 引脚功能 如表 所示。 表 ISD1420 引脚功 能 PIN 脚位 说明 PIN 脚位 说明 1 A0 运作模式选择 28 VCCD 数字正电压 2 A1 运作模式选择 27 REC 准位触发录音 3 A2 运作模式选择 26 XCLK 外接频率输入 4 A3 运作模式选择 25 RECLED 录音 LED 5 A4 运作模式选择 24 PLAYE 边缘触发放音 6 A5 运作模式选择 23 PLAYL 准位触发放音 7 NC 未使用 22 NC 未使用 8 NC 未使用 21 ANA OUT 模拟输出 9 A6 运作模式选择 20 ANA IN 模拟输入 10 A7 运作 模式选择 19 AGC 自动增益控制 11 NC 未使用 18 MIC REF 麦克风参考点 12 VSSD 数位接地 17 MIC 麦克风输入 13 VSSA 模拟接地 16 VCCA 模拟正电压 14 SP+ 喇叭输出正端 15 SP 喇叭输出负端 语音录放 ISD1420 分段录音可以通过硬件(开关)来实现也可以通过软件编程来实现。 本设计采用硬件录放,下面介绍语音录放的硬件实现。 分段录音时, ISD1420 的 A0A7用作地址输入线, A A7不 能 同时为高电平,所以地址范 围为 00H9FH,即为十进制码 0159, 共 160 个数值。 这表明 ISD1420 的 EEPROM 模拟存储器最多可被划分为 160 个存储单元,也就是说 ISD1420 最多可存储 160 个语音段,语音段的最小时间长度为。 不同分段的选择是通过对 A0A7 端接不同的高低电平来实现。 本设计不会用到全部 160 个语音段,只需用 16 个语音段即可,分别为: 0、 十、百、正、负、摄氏度、现在温度。 例如当前温度是 99176。 C,则播报:当前温度九十九摄氏度。 由于 ISD1420 可以录音 20S,我们 可以这样安排:单字每个1S,一共 14 个单字,摄氏度 2S,现在温度 4S,总共 20S。 (注: A0 和 A1都需要接地,因为我们要确保分段间隔不小于 *4=,所以至少要四段,否则录音信息可能会重叠,导致 当 放音时达不到 相关 的要求。 )语音信息与 分段地址 的对照表 如 表 所示。 烟台大学毕业论文(设计) 18 表 语音地址对照表 语 音 信 息 分段 地址 A7 A6 A5 A4 A3 A2 A1 A0 0 00H 0 0。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。