基于单片机的温度语音播报系统设计与实现

2022-09-07 06:14:08康晓丽
机电信息 2022年17期
关键词:稳压电路设计端口

康晓丽 王 艳

(山西省信息产业技术研究院有限公司,山西 太原 030012)

0 引言

随着物联网的快速发展与应用普及,人工智能更加为人们所熟知,同时也深刻影响着人们的日常生活及生产方式,其不但能够提供便捷化支持,还可以提供良好的安全保障条件。温控技术早在20世纪就已出现,发展到今天已经基本成熟与完善,从实验成果转化为实践器具。

本文选用AT89S52单片机为控制器,由温度传感器DS18B20、液晶显示屏1602、稳压芯片AMS1117、功放芯片LM86、喇叭、驻极体等主要元器件构成了一个完整的温度语音播报系统[1]。单片机可实时响应温度传感器输出的信号,通过LCD同步显示,其温度阈值可依据应用场景动态调节,并设置有语音录音和播报功能。通过多次测试一天中屋内不同时间的温度,验证了其精确度、灵敏度和语音播报功能达到预期目标[2]。

1 系统设计方案

AT89S52单片机是一款8位微控制器,它因低功耗和高性能的特点而颇受人们喜爱,此外片内存储空间大,可以进行更为复杂的编程设计,运行速度不会受到很大影响。制造方面采用的是Atmel公司的技术,所以与80C51系列的产品有很好的兼容性。AT89S52单片机拥有带电可擦可编程只读存储器和8位CPU,使其能够适用于绝大多数场合[3]。

因此,本文选用AT89S52单片机为控制器,温度传感器DS18B20、实时语音芯片ISD4004和按键模块等均为外部设备串行通信元件。系统结构如图1所示。

图1 系统结构框图

2 系统硬件设计

2.1 单片机最小系统

本项目中,单片机构成的系统有很多I/O接口可以进行多个微型处理器的嵌套,可以方便地搭建各种所需的系统;可编程性较强,可以通过仿真软件实现仿真模拟,以确保方案的可行性。系统设计过程中会用到单片机定时器以实现延时功能,此外还有中断系统等。其构成电路如图2所示。

图2 单片机最小系统电路

2.1.1 复位电路设计

重启作为微型控制系统执行的第一个步骤,是针对芯片整个电路实施控制,芯片中电路初始化,返回到预定的初始状态。外部的复位电路控制着AT89S52的恢复,复位电路一般有两种——上电复位和手动复位,前者使用较多。

上电复位是一种比较简单的复位重启电路,一般在RST端口和高电位中间加一个电容,之后接一个电阻再接地。上电复位一般是指在闭合电源开关前,将一个很短的高电平信号输送到RST输入端,之后在电源给电容充电时这个复位信号会降低,因此RST引脚高电平维持时间具体以电容充电时间为准,一般情况下,RST输入端口的高电平信号应保证充足的时间。

在手动复位时需要于复位端口加载高电平。一般在使用方式上,是于VCC端和RST中另外增设按键,在按键按下之后VCC与RST电位相同,动作时间一般为几十毫秒,可以使系统在安全的环境内重启。

该系统复位电路图如图3所示。

图3 复位电路

2.1.2 时钟电路设计

由于单片机各个部分的执行都是以时钟频率作为参考,计数和延时等最常用的功能都依靠时钟电路来实现,因此时钟电路的精确性决定着整个系统的稳定性与可靠性。时钟频率的大小直接影响着单片机运行速度,一般时钟电路的设计有两种——外部时钟和内部时钟,电路如图4所示。

图4 时钟电路

2.2 系统外设电路设计

AT89S52内 包 含 有32个I/O口、4k的flash、128位RAM、40个引脚、5个中断、2个16 bytes的可编程定时计数器、2个全双工串行通信口、WDT电路、片内时钟振荡器。AT89S52的I/O端口分配情况如表1所示。

表1 AT89S52的I/O端口分配列表

在设计中,AT89S52的P0.0~P0.7与LCD的D0~D7相连,以实时显示温度;P1.4~P1.7与语音芯片ISD4004的MISO、MOSI、以及SCLK对应连接;P1.0与DS18B20的第二个管脚相连,实现单片机与传感器的双向通信;扩音器模块的+INPUT与ISD4004的ANDOUT相连。

2.3 电源电路设计

干电池电池容量有限,持续时间短,成本高,随着外设的增多和时间的推移,电池电压在不断减小,不能保证系统的正常运行,因此本系统采用独立的DC5 V供电。外部电源接到系统5 V的DC端口之后经过自锁开关给整个系统提供电源,此外,以稳压芯片AMS1117构成稳压电路,能够将5 V电压变为3.3 V给语音芯片ISD4004使用,保证了整个系统的稳定工作。电源稳压电路如图5所示,其中C4为极性电容,能够进行稳压;C6为非极性电容,能够进行滤波,属于低通滤波器,保留直流成分。

图5 电源稳压电路

2.4 温度采集模块设计

DS18B20是Dallas Semiconductor第一款支持“单线总线”接口的温度传感器,测量精度为±0.5℃,测量精度高,能够适应复杂恶劣的环境,对于微处理器处理,能够直接将温度转换为串行数字量[4]。DS18B20采用单线总线,可用数据线直接供电,因此可以不使用任何外围设备,减少了外围设备的使用量[5]。因此,系统选择DS18B20为温度采集器,测温电路图如图6所示。

图6 测温电路图

DQ脚作为温度传感器中的关键要素,其主要功能情况如表2所示。

表2 DB18B20引脚功能详细描述

2.5 LCD显示模块设计

本文选用LCD1602作为显示单元。LCD1602的工作原理是基于液晶自身的特点,通过改变显示区域的电压大小来控制显示器工作。LCD1602有16个引脚,其与单片机的应用连接电路图如图7所示,LCD基本操作时序如表3所示。

图7 液晶显示模块接口电路

表3 LCD基本操作时序

2.6 语音播报电路设计

ISD400系列适用于手机和其他便携式电子设备,工作电压3 V,能够录音8~16 min,音质较好,具备CMOS技术,内部还包含振荡器、平滑滤波器、音频放大器等。在进行芯片设计时需要考虑到所有的控制要求,并且能够用串行通信接口输入。在模拟的体积存储技术中,每个样本都直接存储在闪存中,因此可以非常自然地再现,很大程度上减少了一般的固体录音电路产生的“金属声”和量化噪声[6]。音频输入电路如图8所示,语音电路如图9所示。

图8 音频输入电路

图9 语音电路

3 系统的软件设计

C语言单片机的编程设计,大多数人选择使用Keil,在Keil中不论是选择C语言编程还是汇编都非常方便。本文选用Keil uVision5进行软件设计,Keil uVision5可以很好地兼容之前的版本,并加大对Cortex系列的开发力度,不论是界面还是开发环境都进行了升级优化。

3.1 系统主程序设计

程序在开始执行时首先要对主程序进行初始化,如温度检测程序、I/O口的初始化等。初始化结束后,执行温度测量的相关程序,实时测量当前的温度值。将测得值与设定值进行比较,判断此温度是否超过了阈值[7],如果超过温度上限或下限,则调用报警子程序并进行语音提示。主程序流程图如图10所示。

图10 主程序流程图

3.2 测温子程序设计

该系统能够正常工作的充分条件是能够精准地测量温度。若温度采集缺乏准确性,则即使后面单片机对信号处理得再好或者显示电路、语音播报报警都能够正常准确工作,实际结果也还是达不到要求,整个系统不能准确进行温度测量及语音播报[8]。因此,DS18B20能否正常工作关系到整个系统能否正常运行。

DS18B20在通信时发送和接收信号是分开进行的,具备明确定义,其基本规则为:初始化DS18B20(发复位脉冲)→发出命令→对数据进行初步处理。其程序流程如图11所示。

图11 测温子程序流程图

4 系统仿真及其结果分析

系统各项功能仿真方法及结果如表4所示。

表4 各项功能仿真方法及结果

利用Proteus进行的系统仿真如图12所示,显示屏可以实时显示当前温度,通过按键可以实现语音播报功能的切换和温度上下限的调节,系统温度上限调节仿真图如图13所示,系统录音选择仿真图如图14所示。

图12 系统仿真图

图13 系统温度上限调节仿真图

图14 系统录音选择仿真图

5 结语

本项目基于Proteus和单片机AT89S52完成了温度语音播报系统的设计及研发工作,不仅实现了温度实时监测,而且可自由录制提示语音、灵活部署,适用于公共场所、仓储库房、客厅、智能化建筑等领域的多点温度检测。整个系统采用模块化设计,结构简单,调试结果表明系统符合预期目标,可有效保障人们的日常生活安全。

猜你喜欢
稳压电路设计端口
一种端口故障的解决方案
科学家(2021年24期)2021-04-25 13:25:34
Altium Designer在电路设计中的应用
电子制作(2019年16期)2019-09-27 09:34:58
负反馈放大电路设计
电子制作(2019年23期)2019-02-23 13:21:36
端口阻塞与优先级
基于T型连接变压器的异步发电机稳压稳频控制
广西电力(2016年6期)2016-07-10 12:03:37
基于UC3843的60W升压电路设计
电源技术(2016年2期)2016-02-27 09:05:13
基于迟滞比较器的双阈值稳压供电控制电路
初识电脑端口
电脑迷(2015年6期)2015-05-30 08:52:42
生成树协议实例探讨
职业·中旬(2015年4期)2015-05-30 05:54:49
基于神经网络控制稳压系统在ICPT中的应用