51单片机设计方案TOP10(六)

最新更新时间:2013-05-22来源: 互联网关键字:51单片机  设计方案 手机看文章 扫描二维码
随时随地手机看文章
传统的伏特表在我们的日常生活及科学研究中起到了其独特的作用,但是在科学技术日新月异、集成芯片在日常生活中的应用越来越广泛的今天显得比较落伍:①它们的量程往往在出厂以前就限定好的,不能根据具体使用场合进行相应调整;②测量精度有限;③不能够将测量结果用语音播放出来。本文将介绍一种由单片机最小系统、模-数转换电路 、语音电路、LED显示电路组成的单片机式语音播报伏特表。

  1、硬件设计

  整个系统的组成可以分成四大部分:单片机、模-数转换电路、语音电路、LED显示电路。下面就主要的部分进行具体介绍。

  1.1、单片机

  目前流行的单片机很多,其中89C51自带有片内ROM和一定数量的RAM,一般不需要扩展片外的存储器,并且能和MCS—51产品兼容。本设计选择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芯片如下:

  

  图 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的负担。

  6、结论

  研究的基于MCS—51单片机的语音播报伏特表,采用串口扩展(LED部分)、实时转换(ADC部分)、按键复位等技术,可以对直流电压进行比较高精度的测量并用语音播报该值。系统的运行可靠、稳定。对系统测量结果分析可以看出:用标准的5伏电压供电时,所测的电压误差在0.01伏范围内。

  伏特表的量程调整也是很方便的,在实际的运用过程中,不同的用户可以根据自己的实际需要,更改REF(-)和REF(+)值便可调整量程。

关键字:51单片机  设计方案 编辑:神话 引用地址:51单片机设计方案TOP10(六)

上一篇:51单片机设计方案TOP10(五)
下一篇:51单片机设计方案TOP10(七)

推荐阅读最新更新时间:2023-10-12 20:45

AT89C51单片机在无线数据传输中的应用
一般的数字采集系统,是 通过 传感 器将捕捉的现场 信号 转换为电信号,经模/数转换器ADC采样、量化、编码后,为成数字信号,存入数据 存储器 ,或送给微处理器,或通过无线方式将数据发送给接收端进行处理。无线数据传输系统就是 样一套利用无线手段,将采集的数据由测量站发送到主控站的设备。 1 系统组成 系统组成如图1、图2所示。   系统由测量站和主控站两部分组成。测量站主要完成对现场信号的采集、存储,接收遥控 指令并 发送数据。主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和数据管理、随机显示打印等。 2 AT89C51与数字电台的串行通信 Atmel公司的AT89C51单片机,是一种低功耗、
[应用]
MCS-51单片机指令系统(1)
指令系统概述 指令是计算机用于控制各种功能部件完成的某一特定动作的指示和命令。一台计算机能识别和执行的指令集合即为其指令系统。指令系统是一套控制计算机执行操作的编码,通常称为机器语言。机器语言是计算机唯一能识别和执行的指令。指令系统由硬件决定,且不具有通用性。汇编语言可以准确地计算出控制操作时间并灵活地实施控制,及高效开发必须掌握指令系统和汇编语言。 在实际开发应用中,由于指令系统与汇编语言开发的繁琐和开发效率低则应用C语言开发或者直接应用固件集成库开发提高开发效率和时间。但是对于单片机及其他硬件开发过程,开发过程的调试和资源应用都应对于汇编和指令系统的熟悉才能真正的高效开发完成调试达到目的。 常用单位和术语 位(
[单片机]
c51单片机之外部中断实验
c51单片机之外部中断实验(利用外部中断实现按键控制显示数字实现设置、加一、减一功能) 仿真图: 代码段: #include reg52.h #define uint unsigned int #define uchar unsigned char sbit P10=P1^0; uchar a=0;//T0中断次数 char c=0; //闪烁次数 uint b=0; //外部中断(S14问 uint z; //判断减一执行后是否开启加一按键 void delay(uint z); void display(); uchar code table ={0xc0,0xf9,0xa4,0xb0,0x99,
[单片机]
c<font color='red'>51单片机</font>之外部中断实验
51单片机学习笔记(六)_串口中断通信+定时器2串口中断
51单片机默认使用定时器1作为串口通信的波特率发生器、定时器1中断通信,串口与定时器1冲突,在遇到定时器不够用的时候可以用定时器2 #include reg52.h void DelayMs(unsigned int i); void SerialInit(); void SendByte(unsigned char sbyte); void SendString(unsigned char *pstr); void main(void) { SerialInit(); while(1); //注:必需要无限循环 } /* //单片机时钟周期:11.0592MHz 以时钟1作为波特
[单片机]
基于STM32F105微控制器的双CAN冗余设计方案
控制器局域网( Contro llerA reaN etwo rk, CAN)是一种多主方式的串行通讯总线。CAN 总线具有较高的位速率, 很强的抗电磁干扰性, 完善的错误检测机制, 在汽车、制造业以及航空工业领域中得到广泛应用 。由于船舶机舱环境极为恶劣, 且船舶航行过程中维修条件不如陆上, 对CAN 通信的可靠性要求很高, 采取双CAN 冗余总线提高通信可靠性。本文提出一种基于STM32F105微控制器的双CAN 冗余设计方案。   1 硬件平台组成   STM32F105是STM icroe lectron ics公司推出的一款基于ARM Co rtex- M3内核的32位微控制器, 其内核是专门设计于满足高性能
[工业控制]
基于STM32F105微控制器的双CAN冗余<font color='red'>设计方案</font>
地铁LED照明设计方案
  1 引言   近年来。随着国民经济的迅速发展,我国汽车数量急剧增加,道路拥堵日益严重,各大城市都相继建设地下交通(地铁)。以缓解交通拥堵现象。地铁常年在地下运行对照明灯有很高的要求。不仅要求节电、高亮度、长寿命。还必须保证不间断照明。   目前,常用的白炽灯、日光灯、高压钠灯等都由交流电网供电。最佳设计的交流电网也不可避免出现停电事故。为了确保地下不间断照明。通常必须安装由整流器、蓄电池和逆变器等部分组成的应急照明电源。当电网正常供电时,交流电经整流器后变为直流电给蓄电池充电;当电网中断供电时。蓄电池通过逆变器把直流电变为交流电,给照明灯具供电。这种不间断照明系统的成本很高,同时,经过多次变换。功耗也较大。   近年
[嵌入式]
51单片机矩形键盘控制数码管显示0-F,以及LED灯的亮灭
电路图 总图 部分图1 部分图2 部分图3 元件清单 C语言程序 #include reg51.h #define uint unsigned int #define uchar unsigned char //共阳数码管编码表&LED灯 uchar code table = {0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; //函数声明 void delay(uint time); //延时函数 void display(uchar k); //数码管显示0-F以及LED
[单片机]
51单片机矩形按键控制16个LED灯亮灭和数码管显示
电路原理图 程序 #include reg51.h #define uint unsigned int #define uchar unsigned char //函数声明 void delay(uint time); //延时函数 void display(uchar k); //数码管显示0-F以及LED灯的亮灭 uchar getKey(); //读取键盘的数值 //主程序 void main(){ uchar keyValue; while(1){ keyValue = getKey(); //读取键盘值 display(keyValue); //数码管显示&LED亮灭 } }
[单片机]
小广播
最新模拟电子文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved