0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AT89S52单片机和ISD4004语音芯片设计

放人 2022-10-30 13:28 次阅读

随着数字电子技术的发展和单片机微控制器的产生,语音的存储与自动播放变得易于实现。目前语音存储与自动播放系统已经广泛应用于日常生活当中。公共汽车上的语音报站器、银行和医院的排队等候系统等,都是语音存储与自动播报系统的应用。本文介绍一种以语音存储与自动播放系统为基础的语音播报记事器设计。该设计以ISD4004:语音芯片和AT89S52单片机为中心,很好地实现了语音存储与自动播放。

1硬件设计原理

语音播报记事器的主要功能是实现语音存储与定时播放。要实现语音存储与定时播放的方法很多,可供选择的器件也很多。由于单片机等微控制器的出现和数字电路技术的发展,使得现在的语音存储与自动播放变得易于实现。本设计采用单片机作为微控制器。单片机的字长由4位、8位、16位发展到32位。目前这几种字长的单片机同时存在于市场,用户可以根据不同的需要进行选择。本系统选用字长为8位的AT89S52单片机作为控制器。

目前可以与单片机配合使用的语音芯片有很多,其中不乏性能十分优越的语音芯片,美国ISD公司生产的ISD4004语音芯片就是它们中的一员。ISD4004芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮阵列。引脚包括电源时钟、语音信号模拟输入/输出端、与MCU接口(SPI接口)几部分。芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音。

ISD4004系列单片录放时间为8~16 min,采样频率可为4.0/5.3/*/8.0 kHz,频率越低,录放时间越长,而音质则有所下降。芯片设计基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Mi-crowire)送入。由于ISD4004的众多优点,本设计就采用它作为录放音器件。

系统外接时钟芯片PCF8563、矩阵键盘LED显示和E2PROM AT24C01。录音时为了改善语音质量,要提高输入端的信噪比,因此在系统的输入端采用三极管(9014)放大电路单端输入,系统的输出端经音频功率放大器LM386放大输出后驱动扬声器。整个系统的系统框图如图1所示。

b3a44c1a-5813-11ed-b468-dac502259ad0.png

2硬件设计

2.1语音输入与输出电路设计

语音信号经过驻极体话筒转化为的电信号很微弱,在送入语音芯片之前需要经过放大。这样做的目的是为了提高信号的信噪比,以达到更好的抑制噪声的目的。由于声电转换器件使用的是驻极体话筒,所以后级放大电路使用三极管作为放大器件即可满足要求。本设计中从语音芯片输出的语音信号很微弱,不能直接驱动扬声器,所以要在语音芯片和扬声器之间加上一个功率放大电路。功率放大电路使用美国国家半导体公司生产的音频功率放大器LM386并配合少许电容电阻构成。该功放电路的放大效果良好,噪音小,可以满足本设计的要求。

2.2显示电路设计

本设计的显示部分使用LED数码管。为了提高LED显示的亮度,在本设计中,将a,b,c,d,e,f,g引脚分别串联300Ω的电阻后接5 V电压即可。本设计采用软件查表方式输出。当系统没有录放音时,需要显示年、月、日、时、分、秒、星期等信息;当系统有录放音时,需要显示与录放音有关的信息。这样,整个系统一共需要15个数码管。为了节省单片机的I/O口,显示部分使用了74LS154,单片机与LED的接口采用动态接口。74LS154是4线16线译码器,用于将单片机的输出译码后作为LED的片选信号使用。

2.3 PCF8563接口电路设计

PCF8563是飞利浦公司生产的低功耗的CMOS实时时钟/日历芯片,是I2C总线接口器件。设计中,PCF8563用来提供时间和日历信息。当没有进行录音和放音操作时,本设计相当于一个万年历;当进行录音或放音时,PCF8563用来对每段录音或放音进行计时,所有的时间信息均通过LED数码管显示出来。由于PCF8563是漏极开路,所以必须要加5.1 kΩ的上拉电阻。PCF8563与AT89S52的接口电路设计如图2所示。

b3c24472-5813-11ed-b468-dac502259ad0.png

2.4 ISD4004接口电路设计

本设计使用ISD4004-16M型号的语音芯片。这款语音芯片可以录音16 min,它有一个端口为RAC端,RAC为行地址时钟端,每个RAC周期表示ISD存储器的操作进行了1行(ISD4004系列中的存贮器共2 400行),所以RAC端的行地址数目与语音芯片中存储器的行数对应,即语音芯片存放的每段录音的初始与结束地址与惟一的RAC行地址数对应。所以只需将RAC端与单片机的计数端相连,仅记录RAC行地址数目即可实现整个录放操作,且单片机的计数器无需中断。根据以上的思想,设计ISD4004与单片机的接口电路如图3所示。

b40c4428-5813-11ed-b468-dac502259ad0.png

3软件设计

本设计中的程序设计包括以下几个部分,即键盘处理程序、ISD4004放音驱动程序、ISD4004录音驱动程序、时间校正程序、录音子程序、放音子程序、播放时间设置子程序、播放选择程序、子程序设计。图4为主程序流程图。

b4351920-5813-11ed-b468-dac502259ad0.png

4系统测试

系统上电后15个数码管全亮大概3 s,以此检测数码管的好坏。之后数码管会出现年、月、日、星期、时、分、秒等信息。当按下录音键后,系统开始录音。录音时,数码管会显示“SAVE”字样,并会显示该段录音的时间信息;当确定键按下后,该语音段的录音结束,数码管重新显示时间信息。当按下放音键时,系统开始放音,这时数码管会显示“PLAY”字样,并会显示该段录音的时间信息。放音结束后数码管会回到时间显示界面。当按下时间校正键后,便可以对时间进行校正;当按下确定键后,时间校正结束。本系统可以录音15 min,可以录4段录音。当按下播放设置键后,就可以对每段录音的播放时间进行设置;当按下播放选择键后,就可以播放4段录音中的任意一段。

本系统在播放录音时会有少量的噪音,可能由以下原因造成:

(1)整个系统完全是手工焊制,线路之间存在干扰;

(2)ISD4004的数字地与模拟地没有分别走线,全部接到了一起,存在干扰;

(3)语音输入放大电路的放大倍数不够,噪声没有得到足够的抑制。

整个系统的设计合理,外围电路结构简单,方便调试;单片机余留有I/O口,方便系统的升级和扩展;单片机的所有程序均使用C-51进行编写,方便调试和阅读。整个系统工作稳定,操作方便。本设计的设计原理完全可以用在公共汽车上,作为语音报站器使用,也可以用在银行和医院等一些需要自动播报语音信息的公共场所。在本设计的基础上稍加扩充,就可以满足实际应用的需要。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    456

    文章

    50936

    浏览量

    424685
  • 单片机
    +关注

    关注

    6039

    文章

    44575

    浏览量

    636396
收藏 人收藏

    评论

    相关推荐

    单片机语音芯片中的SPI Flash探秘及其分类详解

    单片机语音芯片的领域中,SPIflash,即串行外围设备接口闪存,扮演着举足轻重的角色。它是一种时钟同步的串行通讯接口,如单片机语音
    的头像 发表于 12-03 01:01 230次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>语音</b><b class='flag-5'>芯片</b>中的SPI Flash探秘及其分类详解

    单片机语音芯片中的SPI Flash探秘及其分类详解

    SPIflash在单片机语音芯片中重要,分NandFlash、NorFlash、AG-ANDFlash。NorFlash有SPIFlash和CFIFlash,以不同接口操作。NandFlash技术多样,SLC、MLC、Mirro
    的头像 发表于 11-28 14:21 303次阅读

    采用AT89C52单片机作为路灯控制系统的支路控制器

    本系统采用AT89C52单片机作为路灯控制系统的支路控制器,采用光敏二极管 检测光强度、红外对管检测移动物体经过的位置等方法控制路灯按预定要求自动开关。本 系统由支路控制器改变恒流源的输出电流,检测
    发表于 11-24 14:37 0次下载

    89C52单片机控制直流24V电机输出,数码管显示乱码?

    一电子板,89C52单片机控制直流24V电机输出,带93C86读取用户数据,能正常运行,但起动10-20秒内不能控制,数码管显示乱码?
    发表于 11-10 19:06

    基于51单片机的7人多数投票表决器设计

    设计编号:P13 1.主要功能:           基于51单片机AT89C51/52(与AT89S51/52、AT
    的头像 发表于 11-09 09:48 905次阅读
    基于51<b class='flag-5'>单片机</b>的7人多数投票表决器设计

    单片机怎么写入程序

    单片机(Microcontroller Unit,MCU)是一种集成电路芯片,它将计算机的CPU、存储器、输入/输出接口等功能集成在一个芯片上。单片机广泛应用于嵌入式系统和物联网设备中
    的头像 发表于 10-21 11:21 539次阅读

    单片机和电脑PC的区别有哪些?#单片机 #芯片

    芯片单片机
    贞光科技
    发布于 :2024年06月28日 11:34:41

    基于STM32单片机语音播报体温计设计

    语音播报体温计系统包括温度采集模块,语音播放模块,显示模块,其中核心 CPU采用单片机 STM32,STM32在电子行业运用广泛。温度采集模块使用 MLX90614红外传感器采集体温数据,语音
    的头像 发表于 06-24 14:31 1482次阅读
    基于STM32<b class='flag-5'>单片机</b>的<b class='flag-5'>语音</b>播报体温计设计

    第二讲:单片机STC89C52+RA8889驱动控制彩屏 代码移植介绍

    介绍51单片机如何移植RA8889的代码进行彩屏驱动与控制
    的头像 发表于 06-04 10:36 1023次阅读
    第二讲:<b class='flag-5'>单片机</b>STC<b class='flag-5'>89C52</b>+RA8889驱动控制彩屏 代码移植介绍

    基于at89s52的16位摇摇棒设计程序

    电子发烧友网站提供《基于at89s52的16位摇摇棒设计程序.zip》资料免费下载
    发表于 05-20 11:23 0次下载

    基于单片机多功能洗衣控制

    需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,
    发表于 03-18 10:13 762次阅读
    基于<b class='flag-5'>单片机</b>多功能洗衣<b class='flag-5'>机</b>控制

    单片机的最小系统由什么组成 单片机的最小系统包括哪些

    单片机(Microcontroller Unit,MCU)的最小系统包括以下几个主要组成部分: 单片机芯片单片机是整个最小系统的核心部分,它集成了中央处理器(Central Processing
    的头像 发表于 02-02 11:27 1.1w次阅读

    单片机最小系统包含哪几部分 单片机最小系统的作用

    单片机最小系统包含以下几部分:单片机芯片、时钟电路、复位电路、电源电路、外围电路和连接接口等。 单片机芯片单片机是整个系统的核心部分,负责数据处理和控制任务。常见的
    的头像 发表于 01-24 10:40 1.5w次阅读

    单片机最小系统的作用 单片机最小系统包含哪几部分

    部分: 单片机芯片单片机最小系统的核心部分是单片机芯片,它是整个系统的主控制核心。单片机芯片上集成了CPU、存储器、定时器、IO口等各种功能模块,能够完成各种控制任务。 时钟电路:
    的头像 发表于 01-18 13:54 4140次阅读

    基于单片机语音小车设计

    电子发烧友网站提供《基于单片机语音小车设计.rar》资料免费下载
    发表于 01-12 09:46 3次下载