单片机式语音播报伏特表

时间:2007-06-18
 引言 
       传统的伏特表在我们的日常生活及科学研究中起到了其独特的作用,但是在科学技术日新月异、集成芯片在日常生活中的应用越来越广泛的今天显得比较落伍:①它们的量程往往在出厂以前就限定好的,不能根据具体使用场合进行相应调整;②测量有限;③不能够将测量结果用语音播放出来。本文将介绍一种由单片机系统[1][3]、模-数转换电路[3] [5]、语音电路[2][4]、LED显示电路[1][3]组成的单片机式语音播报伏特表。
       1、硬件设计
       整个系统的组成可以分成四大部分:单片机、模-数转换电路、语音电路、LED显示电路。下面就主要的部分进行具体介绍。
       1.1、单片机
     
 
目前流行的单片机很多,其中89C51自带有片内ROM和一定数量的RAM,一般不需要扩展片外的存储器,并且能和MCS—51产品兼容。本设计选择89C51单片机,如下图所示:

89C51单片机

                                             图1  89C51单片机
       本设计选用简单基本的经典复位电路,它利用电容和电阻的充放电来产生一个达到时间要求的连续低电压,并输入到单片机的复位管脚。
       1.2、 模-数转换电路

       模-数转换选择8位的ADC即AD0809,模块分布如图 1-2,测量范围由REF(-)和REF(+)接的电压决定,使用的时候可以根据具体的需求更改测量量程。
       工作原理如下:首先,地址控制模块中,由单片机送来“通道控制信号”选择我们所需要的通道,随后ALE信号锁定该通道。此时,外界的模拟输入就可以通过“模拟输入开关”进入AD转换器。这时,只要START信号一有效马上就开始进行AD转换。
       AD转换的过程其实就是一个“和参考电压比较,逐次逼近”的过程。由“256电阻阶梯”模块提供参考电压,并在“开关阵列”的控制下,和输入进行比较,直到在“S.A.R.”模块中得到一个比较的数字化输出值,这时由“控制/定时模块”发送EOC信号通知外部AD转换完毕。所的到的数字信号存于“输出锁存模块”中,只要单片机来一个OUTPUT ENABLE信号即可输出数据。

ADC模块图

       ADC芯片如下:


图 1-3   ADC芯片图

       模-数转换工作主要是由硬件完成的,其软件部分相当简单。
       1.3、 语音播报

       从设计的要求、芯片的性能等方面考虑,设计时选择了ISD1400。它的功能齐全,控制信号只使用89C51的I/O控制线。内含64K/128K EEPROM存储器、消除噪声的话筒前置放大器和自动增益调节AGC电路、适合语音的专用滤波电路、具有极高温度稳定性能的时钟振荡电路及全部语音处理电路。这种电路还提了多种应用方式选择和接口,并可方便地应用到各种集成化电子语音系统中。语音录放组件可用于各种一段式语音留言装置、语音报警及语音提示装置中,能够在电源断开的情况下,长期保存信息。设计时具体的连接如下:

语音系统

                                                   图 1-4  语音系统
       ISD1420可分段存贮20秒语音信息,按每秒钟可读3个汉字计算,20秒可分段贮存609多个汉字语音。将ISD1420的A2~A7与单片机CPU的I/O口连接,这样可单独提取64段语音信息,并在软件的支持下可自动组合成若干段完整的长短语句。接通电源,电路自动进入节电准备状态。按住录音键(REC保

持低电平),电路进入录音状态,录音指示灯亮,直至REC变高或存储器录满,录音结束进入准备状态。录音完毕即可使用。
       1.4、  LED显示方案
      
显示方案常用的有两种:串口和并口。由于设计中,对于89C51的I/O口利用紧张的关系,我们选用串口来显示。为了能够同时显示3个LED数码管,本系统需要增加三个74LS164做串——并转换。同时,由于电压的关系,还需要加上限流电阻。在译码方面有硬件和软件两种方式,为了减小硬件的复杂程度,设计采用软件查表译码的方法。
       2    软件设计
      
软件的设计实行模块化,主要由模数转换、误差判断(如果一直测同一值即误差很小就不二次播报)、码制转换、LED显示、语音播报几大模块构成。软件
流程图如下:


软件流程图


       3、软件调试
      
本系统的软件系统全部采用C51来编写,由于一般的仿真器对C51的支持有一定的缺陷,软件调试比较复杂.除了语法差错外,当确认程序没问题时,通过直接到单片机来调试.采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统调试。
       4、硬件调试
      
调试时使用标准电源,digital multimeter DT9505数字万用表可以判定系统测量的。系统供电电压:5V(标准)对所测的数据进行分析可以得出以下结论:用标准的5伏电压供电的时候,所测的电压只在个别的电压范围内有0.01伏的误差,其他范围几乎没有误差。由于软件算法的限制,误差在5伏处,为0.02伏。
       5、软硬件联调
      
通过设定仿真器的属性,从而通过仿真器实现软硬件联调。对应每个模块功能在硬件电路实现,通过仿真器的单步执行或断点执行及全速执行,来观察硬件电路的反应是否正常。在调试过程中对出现的问题进行修改和改进,为硬件的脱机运行打下基础。
       焊接硬件电路在认真检查的基础上,还要掌握好焊接的时间。为避免虚焊,要求焊锡与导线充分接触,但我们均采用胶皮导线,过高的温度会使胶皮脱落,在与其他导线交叉的情况下容易造成两导线的短接,产生不可靠性。在焊接时,亦容易将座子的塑胶材料烧坏。
       使用模拟仿真头与使用真实仿真头调试有点区别。模拟仿真头调试的时候不易出现真实仿真头调试时产生的硬调故障。真实仿真头要接收硬件电路的中断信号,并进入中断服务子程序完成相应的动作。所以,本设计软件中本应该用定时器延时的地方,不得不用软件延时,导致设计未能够充分利用资源,增大了CPU的负担。
、结论

        研究的基于MCS—51单片机的语音播报伏特表,采用串口扩展(LED部分)、实时转换(ADC部分)、按键复位等技术,可以对直流电压进行比较高的测量并用语音播报该值。系统的运行可靠、稳定。对系统测量结果分析可以看出:用标准的5伏电压供电时,所测的电压误差在0.01伏范围内。
       伏特表的量程调整也是很方便的,在实际的运用过程中,不同的用户可以根据自己的实际需要,更改REF(-)和REF(+)值便可调整量程。
参考文献:
[1]  全国大学生电子设计竞赛组委会 .第五界全国大学生电子设计竞赛获奖作品选编  北京:北京理工大学出版社  
[2]  winbond.   ISD1400 Series Single-Chip Voice Record/Playback Devices 16-and 20-Second Durations .  America : Ele ctronics Corporation America   

[3]   上海市教育委员会组 丁元杰.  单片微机原理及应用    北京:机械工业出版社    P176――185   P200――-204
[4]    https://www.21cm.com.cn/product/zy1420/ISD1420shouce.pdf
[5]    https://stocks.find-ic.com/search.asp?p=AD0809 

[6]. 89C51 datasheet https://www.dzsc.com/datasheet/89C51_105386.html.
[7]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.
[8]. AD0809 datasheet https://www.dzsc.com/datasheet/AD0809_1135625.html.
[9]. ISD1400 datasheet https://www.dzsc.com/datasheet/ISD1400_409579.html.
[10]. ISD1420 datasheet https://www.dzsc.com/datasheet/ISD1420_409804.html.
[11]. 74LS164 datasheet https://www.dzsc.com/datasheet/74LS164_1054394.html.


上一篇:基于SoPC汽车安全监控系统设计
下一篇:国外印制电路板制造技术发展动向

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料