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进行编写,方便调试和阅读。整个系统工作稳定,操作方便。本设计的设计原理完全可以用在公共汽车上,作为语音报站器使用,也可以用在银行和医院等一些需要自动播报语音信息的公共场所。在本设计的基础上稍加扩充,就可以满足实际应用的需要。

审核编辑 黄昊宇

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

    关注

    460

    文章

    52625

    浏览量

    442827
  • 单片机
    +关注

    关注

    6068

    文章

    45039

    浏览量

    652467
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机用什么封装

    单片机封装是将芯片内部电路与外部引脚连接并包裹保护的结构,不仅影响单片机的安装方式、适用场景,还与电路设计的紧凑性、散热性能密切相关。不同封装类型各有特点,适配从简单电路到复杂系统的多样化需求
    的头像 发表于 08-01 13:47 ?110次阅读

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要意义。测量
    的头像 发表于 07-25 11:39 ?104次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 ?71次阅读

    AT89C51 单片机中文资料

    电子发烧友网站提供《AT89C51 单片机中文资料.pdf》资料免费下载
    发表于 06-24 15:29 ?1次下载

    芯资讯|广州唯创电子 WTV600/WT2003H 系列:灵活应对 ISD2360 语音芯片替换挑战

    在寻求ISD2360这款集成3声道数字音频处理与直推0.95WD类功放的语音芯片替代方案时,工程师常面临兼容性挑战。广州唯创电子凭借其丰富的语音芯片
    的头像 发表于 06-03 10:04 ?324次阅读
    芯资讯|广州唯创电子 WTV600/WT2003H 系列:灵活应对 <b class='flag-5'>ISD</b>2360 <b class='flag-5'>语音</b><b class='flag-5'>芯片</b>替换挑战

    STC15W4K32S4单片机原理图

    STC15W4K32S4 单片机原理图
    发表于 04-10 17:51 ?6次下载

    直流电机双闭环数字调速系统设计与实现

    介绍了一种基于成本较低的AT89S52 单片机实现的数字式双闭环PWM 直流电机调速系统硬件 实现电路和软件实现方法。给出由光电编码器检测直流电机转速的具体方法,并构成速度环;由霍尔电流传感器检测
    发表于 03-20 12:55

    KT148A语音芯片一线串口和5V单片机MCU相连需要串电阻吗?

    KT148A语音芯片一线串口IO口,和5V的单片机或者MCU系统相连,需要串电阻吗? 串多大的电阻合适呢?
    的头像 发表于 01-20 09:40 ?637次阅读
    KT148A<b class='flag-5'>语音</b><b class='flag-5'>芯片</b>一线串口和5V<b class='flag-5'>单片机</b>MCU相连需要串电阻吗?

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

    单片机语音芯片的领域中,SPIflash,即串行外围设备接口闪存,扮演着举足轻重的角色。它是一种时钟同步的串行通讯接口,如单片机语音
    的头像 发表于 12-03 01:01 ?729次阅读
    <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 ?792次阅读

    采用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 ?1996次阅读
    基于51<b class='flag-5'>单片机</b>的7人多数投票表决器设计

    单片机怎么写入程序

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

    单片机烧录程序的基本步骤是什么

    单片机烧录程序的基础,它包含了单片机芯片、电源、接口等基本元件。在选择单片机开发板时,需要考虑以下几个方面: (1)单片机型号:根据项目需求选择合适的
    的头像 发表于 09-02 09:47 ?2915次阅读