历史上的今天
返回首页

历史上的今天

今天是:2025年03月04日(星期二)

正在发生

2020年03月04日 | 基于AT8951的语音数字电压表的设计

2020-03-04 来源:eefocus

一、概述

在众多测量仪表中,数字电压表应该是比较先进的一类表,工作人员在测量电路电压时,其测量值能通过液晶显示器直观地读出而不需工作人员再认真仔细地察看测量档次,换算及估计测量值,但在观察使用过程中,仍可发现工作人员在测量过程中因要注意测量点而无法顾及显示器的现象。而本文介绍的语音电压表则能较好地解决上述问题,它在工作人员测量电压时,能用标准的汉语读出测量值,这样就大大方便了工作人员操作过程。


二、设计方案

语音电压表的组成框图见图1.

基于AT8951的语音数字电压表的设计

三、硬件设计

(一)单片机

单片机采用AT8951型,它是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,它与工业标准的MCS-51指令和输出管脚相兼容,由于将多功能CPU和闪烁存储器组合在单个芯片中,因而AT89C51是一种高效微控制器,为很多嵌入控制系统所采用。


(二)A/D转换电路

A/D转换电路由两部分组成。

1.量程转换电路是用7126组装构成的四量程数字电压表实用电路。四个量程分别是:200mV、2V、20V、200V.电压量程的选择是通过双刀五掷转换开关S1来控制的,当S1打到哪一量程端时,如200V端,则该数字电压表的测量范围就确定了为0-200V.

2.A/D电路用ICL7126芯片作为A/D电路的核心元件。被测电压输入后,经ICL7126内部电路进行数模转换、译码驱动后,送至液晶显示器显示被测电压的电压值。


(三)语音电路

语音电路采用ISD1420芯片,其最大特点是:采用了直接模拟量存贮技术DAST,完成语音的录入,存贮以及分段调出,而无需像其他语音电路那样,要经过A/D、D/A转换,数字压缩和语音合成等复杂的数字量信息处理及变换环节,因而可以较好地保留模拟量中的有效成分减少失真,提高录放音质量。它使用方便,无需专用语音开发系统,由麦克风录入存贮;可随意改写删除;有多种信息取址方式供用户选择;分段灵活,抗干扰能力强。当89S51判断出某个数字时,只要把该数字对应的地址码送到单片机的P1口,产生一个中断,于是该数字的语音便放了出来。


它是以AT89C51单片机为核心,由ICL712631/2位数字电压表、语音电路、功放电路、电源等组成。


设计中,先将语音电压表需用的“0、1、2、十、百、点、伏、负、超量程”等十几个音节的特征语音信号通过语音电路录音,生成十几段数据语音块,以此作为读出电压值的音源。输入的模拟信号经过数字表中A/D转换进入单片机,由单片机进行分析判断,找出语音块中对应的音源,送到功放电路进行放大输出,读出电压值,从而实现智能测量。

推荐阅读

史海拾趣

问答坊 | AI 解惑

求vector CANoe使用手册或教程

论坛里各位兄弟,小弟最近学习Vector的CANoe工具,手头唯一的学习资料就是那些帮助文件,感觉很费力。该工具功能多,都不知道从何学起。 想求Vector CANoe或相关工具学习资料、入门简易教程。不知道有没有那位兄弟愿意提供资料给小弟学习学习,谢 ...…

查看全部问答>

看看程序哪边有错

高手看看显示程序哪里出错啊;--------------------------------------- ;  四位共阳LED动态扫描显示程序 ;  P0为段码口,P2为位选口(低电平有效) ;  参数为要显示的字符串指针 ;----------------------------- ...…

查看全部问答>

问一下大家要是想判断MAX232的好坏

EEWORLD合作qq群:49900581 群主:wangkj 我从T1in接5V然后测T1out的电压可以不?…

查看全部问答>

周工的新开发板TinyM0—CAN开发套件资料

周工最近新开一款开发板:     设计和以前那块一样的,芯片换成新的,带CAN功能的TinyM0-CAN——LPC11C14 。    …

查看全部问答>

很苦恼的GPS座标比对

现有固定座标100个(路径是一个大椭圆形,公交車的行駛路線) 和 现在座标1个(移动的) 如何得知目前的座标是往哪个固定座标移动中? 这问题看似简单,可是很复杂阿! 找出现在座标离最近的一站是可以找的出来,没啥, 就是比对100个固定座标和现在 ...…

查看全部问答>

请帮忙推荐本驱动开发入门的书籍!

就是那种从0开始的. 比如,去哪里下载DDK ,DDK是啥? 怎么搭建一个开发环境等等. 谢谢! …

查看全部问答>

uc/OSII中关于消息队列的疑惑,望大虾们指教

INT8U OSQPost (OS_EVENT *pevent, void *msg) 1、这个函数是发送消息的函数,如果每次都发送一个消息过来,这个消息是指针,那么我认为这个消息一定是一个占一定内存空间的结构。 2、而清空消息队列的函数只是将消息队列的信息给置成空了,但是 ...…

查看全部问答>

寒假想给自己补充些知识

看了DIY板块,发现自己对一些小制作十分有兴趣,高手可以推荐自己动手做一些东西方便入门嘛~~在学校学习了数模电,但是由于课程安排,实验在下个学期上,我想自己在寒假的时候也能进行些小实验。。  手头上有个avr的学习版,  不知道能不 ...…

查看全部问答>

2011年3月1日 有点惊喜

   今天早上九点多查看六级成绩,过了!呵呵·····    今天晚上在外边吃饭,刚吃完手机响了,原来是在论坛申请的“eZ430-RF2500开发套件”到了!    今天我们学校的一卡通正式开通了;    今天重庆 ...…

查看全部问答>

关于CAN发送的问题

我在用CAN发送报文的时候,模式设置和初始化部分 我能确定都没有问题   但是报文发送时始终出现错误  我读取寄存器时,发现发送错误位检测为1. 问各位一个问题报文发送期间会发生总线错误有哪些原因呢    我用的是MSP430操作MC ...…

查看全部问答>