基于单片机89C52的语音电路报读电路在火控系统中的应用

发布者:TranquilMind最新更新时间:2011-09-07 关键字:89C52  语音电路报读  火控系统 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  在现代大多控制系统中,通常使用发光二极管LED、数码管、液晶显示器、蜂鸣器等进行状态/结果显示和故障报警,如果在显示报警仪表上采用数字语言技术,使适合用听觉传送的信息用语言传送,就可以发挥听觉的优势,弥补完全用视觉信号传递信息的不足。近年来随着语音电路的迅速发展,语音芯片已经以其直观、生动、与单片机接口方便等优势,越来越广泛的应用于单片机控制系统中了,成为现代控制系统中人机联系的一个友好界面。

  1 语音电路分析

  语言处理合成芯片很多,大多采用:语言信号-驻极话筒-电压-滤波放大-AD转换数字信号存储。放音时采用:数字信号-DA转换、输出,这在实际使用时存在着以下不足:

  (1)要使语音不失真地被采样,要求采样频率fs≥8 000 Hz。在小系统中,以这样的速度采样语音只能是很短的时间,若要稍长一段时间,势必占用很大的存贮空间。

  (2)系统构成成本高,由于需要ADC,DAC,专用语音芯片及相关电路。

  (3)存在不同程度的失真(信号采样和恢复)。

  (4)使用不灵活,只能录什么,放什么,难以实现字、词、句的组合。

  ISD1420语音芯片是美国ISD公司出品的新型优质单片录放音电路,采用了直接模拟量存储技术DAST。主要由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存人永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利——多电平直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器及分段输出,因而失真小,能够非常真实、自然地再现语音效果,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。使用方便,不需专用语音开发工具,成本低廉。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。因而在现代技术上得到广泛使用。主要特点如下:

  (1)使用方便的单片录放系统,外部元件最少

  (2)重现优质原声,没有常见的背景噪音

  (3)信息可保存100年,可反复录放10万次

  (4)较强的分段选址能力可处理多达160段信息

  (5)边沿/电平触发放音

  (6)无耗电信息存储,省掉备用电池

  (7)具有自动节电模式

  (8)录或放后立即进入维持状态,仅需0.5μA电流

  (9)工作电压:5 V

  (10)工作电流:典型值15 mA,最大值30 mA(16欧姆)

  2 系统构成

  本语音电路作为火控计算机的一部分,主要是对目标距离进行实时报读,供指挥人员提供观察和决策,以选择最佳时机发出击发命令。语音电路组成框图如图1所示。由火控计算机主机发出RS232电平信号,经电平转换后,为单片机AT89C52所接收。单片机AT89C52一方面控制高亮度数码管显示状态信息,同时控制语音芯片ISD1420实时报读目标距离。为指挥人员提供提示。

  


  3 语音信号控制

  3.1 语音电路特性

  选用语音存储/再生芯片ISD1420。该电路采用EEP-ROM存储方法将模拟语音数据直接写入半导体存储单元中,具有音质自然、可反复录放、抗干扰、低功耗等许多优点。ISD1420放音时间为20秒;最多可分为160段,每段段长最少125 ms;输入采样6.4 kHz;100 000次录音周期;5 V单电源供电,放音电流15 mA,维持电流0.5μA。完全满足设计需要。

  ISD1420芯片地址引脚(A0~A7)输入有双重功能,根据地址中的A6,A7的电平状态决定A0~A7的功能。如果A6,A7有一个是低电平,A0~A7输入全解释为地址位,作为起始地址用。地址位仅作为输入端,在操作过程中不能输出内部地址信息。根据PLAYL、PLAYE或REC的下降沿信号,地址输入被锁定。如果A6,A7同为高电平时,它们即为模式位(见表1)。

  

  使用操作模式有两点要注意:

  (1)所有初始操作都是从0地址开始,0地址是1420存储空间的起始端,以后的操作可根据模式的不同。而从不同的地址开始工作。当电路中录放音转换或进入省电状态时,地址计数器复位为0。

  (2)当PLAYL、PLAYE或REC变为低电平,同时A6,A7为高电平时,执行对应操作模式。这种操作模式一直执行到下一个低电平控制输入信号出现为止,这一刻现行的地址/模式信号被取样并执行。操作模式可以与微控制器一起使用,也可用硬件连线得到所需系统操作。

  通过以上介绍可知,160段对应着160个地址,由A0~A7组合产生。要实现分段播放先要进行录音,录音可以采用高级的声音处理软件一次把声音灌进语音模块里头也可以采用分段录音的方法进行分段录制。在使用ISD1400系列的语音芯片时,应注意在REC和VCC之间接一个0.1 mF的电容,以防止在上电时出现录音操作而破坏原来录制的信息。

  根据火控计算机系统报读的需要,放音内容为军用数字发音:“幺、两、三、四、五、六、拐、八、勾,洞”。我们利用A0~A7引脚的地址功能,通过声音处理软件结合ISD1420开发录放板,一次把声音灌进语音模块ISD1420中。这样每一个数字发音都对应一个内部存储空间。可以通过调整语音芯片的地址(P2口控制)来选择合适的数据播放。

  由于在户外使用,要求发出的声音具有一定的响度,即要求语音电路有较大功率输出。语音芯片ISD1420内部输出级带有放大器,其直接的扬声器驱动功率为12.2 mW(16Ω负载),这距离我们的实际需要相差很大,通常1 W以下的扬声器可用LM386、D2283 D2822、MC34119、TA7368等芯片驱动,1 W~lO w的扬声器用TDA2003、LA4440芯片驱动,因此后级功放必须保证能在低电压下输出大功率信号,以推动扬声器发声,在这里我们选用了LA4440芯片驱动。

  3.2 语音电路构成

  语音部分电路设计见图2所示,在该电路中设计了以单片机89C52为核心的语音报读电路,89C52的P2口用来实现地址选择,放音时先由软件给出一个地址,就是一个语音段首址,在这一放音过程中地址是不能变化的;LA4440为音频功放电路,将ISD1420的音频输出放大推动喇叭,通过调整电阻R1的阻值可控制音量大小;语音芯片ISD1420周围的RC电路主要为了减小噪声的影响;MAX813L则作为看门狗电路为单片机AT89C52提供上电复位和运行监控。

  MAX232将火控计算机主机送过来的RS232电平信号转换成TTL电平并送到单片机AT89C52,单片机AT89C52对火控计算机主机的状态信息实时显示并进行报读,通过引脚P3.6控制ISD1420的放音,P2口用来调整放音地址。通过按地址分时播放就可以实现分段播放了,而分段播放的最大优点是可以只要一些基本的声音就可以合成一段话。这样可以节省语音模块的空间,提高产品的灵活性,降低生产成本。分段播放可以用在一些发音的基本元素不多,但组合发音变化比较多的地方。

  

 

  4 软件设计

  AT89C52的软件设计相对简单。主要包括与火控计算机主机的串行通讯程序(11.0592 MHz晶振、4800波特率、八位异步方式),放音控制程序,显示控制程序及看门狗程序。放音控制程序根据火控计算机系统的要求及实际情况,只对火控计算主机传送来信息的目标距离量进行实时报读。目标距离是实施射击和掌握开火时机的重要依据。它的报读原则是:“远距离报读间隔大一些,近距离报读间隔小一些,开火报到点上”。报读时,根据目标快速运动的特点,可以省略报读字节,提高反应速度和报读的清晰度。电平控制放音中开始地址和播放时间也是必不可少的,只要控制了这两个参数就可以确定播出内容。

  5 结束语

  按上述方法设计出的语音电路报读电路在某火控系统中得到实际应用,实践证明运行可靠、准确,具有一定的使用价值。

关键字:89C52  语音电路报读  火控系统 引用地址:基于单片机89C52的语音电路报读电路在火控系统中的应用

上一篇:基于C8051F020和DTMF单元的电台身份识别及语音自动
下一篇:51单片机在微机自动交换系统中稳定运行的设计

推荐阅读最新更新时间:2024-03-16 12:40

89C52和DS12887做的倒计时器
今天有个同事说让我帮忙做个倒计时器,来控制1个继电器的开和关,不过要低功耗,正好以前做过个路灯控制器,是双继电器的,用的是STC89C52+DS12887+1602,就稍微改造了下电路,在解决了一些小bug后,顺利完工,我还是比较满意的。 具体的方法是把以前控制另一个继电器的管脚用来控制液晶的背光,由于他要求是键盘按下要求管脚感知高电平(不知道为啥),所以把键盘的电路也小改了下,最后改了下程序,下班前已经基本完成。 倒计时的思路是在DS12887非易失性RAM中写入定时的时、分、秒,那么设定的倒计时时间久不会丢失,然后判断时钟的秒位有没变化,如果变化了,将定时时间的秒位减1,减到-1将定时秒位赋59,然后分减1,小
[单片机]
<font color='red'>89C52</font>和DS12887做的倒计时器
基于数字PID和89C52单片机的温度控制系统
在工业生产过程中,温度是工业生产过程中常见的工艺参数之一,对温度控制的好坏直接影响产品的质量。及时准确地得到温度信息并对其进行适当的控制,在许多工业场合中都是重要的环节。对于不同生产情况和工艺要求下的温度控制,所采用的加热方式和控制方式均不同。本文介绍了一种基于89C52单片机的温度控制系统,本系统的任务是对温度进行实时监控与控制。它以温度传感器DSl820对温度进行测量、采样与转换,并将测量结果送给单片机;单片机将输人的温度值与内部指定单元的给定温度值进行比较,根据比较结果,通过一个执行机构(可控硅)对加热源(加热炉的温度)的开关状态进行控制。在控制环节中,本系统采用的是数字PID控制算法来实现上述功能。传统的PID控制电路结
[单片机]
基于数字PID和<font color='red'>89C52</font>单片机的温度控制系统
89C52和L298控制直流电机
本例采用了两种方法来输出PWM波形,分别是软件延时法和定时器0,电机驱动芯片是L298,它的中文资料见IC学习笔记。 程序代码: #include reg52.h #define uchar unsigned char #define uint unsigned int sbit IN1=P2^0; sbit IN2=P2^1; sbit key1=P2^3;//电源 sbit key2=P2^4;//急停 sbit key3=P2^5;//正高 sbit key4=P2^6;//正低 sbit key5=P2^7;//反高 sbit key6=P3^4;//反低 sbit power=P3^6;//电源控制 uchar
[单片机]
基于89C52单片机的具有通讯口的智能温控表
引 言      温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487,具有测量精度高、可靠性好、抗干扰性能强、可实现计算机网络控制等优点,可广泛应用于冶金、纺织、化工、医疗等行业。它具有-200~+500%26;#176;C范围的温度测量和自动控制,是老式温控表的替代产品,市场前景广阔。 2 系统硬件设计   系统硬件框图如图1所示。      系统接通220V交流电源后,通过稳压电路(7805、7905)产生%26;#177;5V直流工作电源,以满足本系统中集成电路工作需要,系
[单片机]
基于89C52单片机的具有通讯口的智能温控表
引 言      温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487,具有测量精度高、可靠性好、抗干扰性能强、可实现计算机网络控制等优点,可广泛应用于冶金、纺织、化工、医疗等行业。它具有-200~+500%26;#176;C范围的温度测量和自动控制,是老式温控表的替代产品,市场前景广阔。 2 系统硬件设计   系统硬件框图如图1所示。      系统接通220V交流电源后,通过稳压电路(7805、7905)产生%26;#177;5V直流工作电源,以满足本系统中集成电路工作需要,系
[应用]
基于89C52单片机的具有通讯口的智能温控表
1 引 言      温控表已广泛应用于工业控制等诸多领域,本文介绍的具有计算机通讯功能的智能温控表是一种新颖的自动化仪表,它以单片机AT89C52为核心,采用电压/频率转换技术和RS-485通信接口芯片MAX487,具有测量精度高、可靠性好、抗干扰性能强、可实现计算机网络控制等优点,可广泛应用于冶金、纺织、化工、医疗等行业。它具有-200~+500°C范围的温度测量和自动控制,是老式温控表的替代产品,市场前景广阔。 2 系统硬件设计   系统硬件框图如图1所示。      系统接通220V交流电源后,通过稳压电路(7805、7905)产生±5V直流工作电源,以满足本系统中集成电路工作需要,系统的遥测电路开始工作:在
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved