基于51单片机的数字电压表仿真设计

分享到:

  引言

随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。数字电压表是采用数字化测量技术设计的电压表。数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。本文采用ADC0808对输入模拟信号进行转换,控制核心AT89C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
Proteus软件是一种电路分析和实物模拟仿真软件。它运行于Windows操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。

1 系统概述

1.1 设计任务

利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号0~5 V之间的电压值转换成数字量信号,以两位数码管显示,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。

1.2 总体方案

数字电压表电路组成框图如图1所示。


本设计中需要用到的电路有电源电路、模/数转换电路、单片机控制电路、显示电路等。设计中需要用到的芯片有AT89C51单片机、ADC-0808、74LS74、LED数码管等。

2 数字电压表的Proteus软件仿真电路设计

待测电压输入信号在ADC0808芯片承受的最大工作电压范围内,经过模/数转换电路实现A/D转换,通过单片机控制电路进行程序数据处理,然后通过七段译码/驱动显示电路实现数码管显示输入电压。

硬件电路原理图如图2所示。


2.1 AT89C51单片机和数码管显示电路的接口设计

利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号0~5 V之间的直流电压值转换成数字量信号0~FF,以两位数码管显示。Proteus软件启动仿真,当前输入电压为2.5 V,转换成数字值为7FH,用鼠标指针调节电位器RV1,可改变输入模/数转换器ADC0808的电压,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。

在Proteus软件中设置AT89C51单片机的晶振频率为12 MHz。本电路EA接高电平,没有扩展片外ROM。

2.2 A/D转换电路的接口设计

A/D转换器采用集成电路ADC0808。ADC0808具有8路模拟量输入信号IN0~IN7(1~5脚、26~28脚),地址线C、B、A(23~25脚)决定哪一路模拟输入信号进行A/D转换,本电路将地址线C、B、A均接地,即选择0号通道输入模拟量电压信号。22脚ALE为地址锁存允许控制信号,当输入为高电平时,对地址信号进行锁存。6脚START为启动控制信号,当输入为高电平时,A/D转换开始。本电路将ALE脚与START脚接到一起,共同由单片机的P2.0脚和WR脚通过或非门控制。7脚EOC为A/D转换结束信号,当A/D转换结束时,7脚输出一个正脉冲,此信号可作为A/D转换是否结束的检测信号或向CPU申请中断的信号,本电路通过一个非门连接到单片机的P3.2脚。9脚OE为A/D转换数据输出允许控制信号,当OE脚为高电平时,允许读取A/D转换的数字量。该OE脚由单片机的P2.0脚和RD脚通过或非门控制。10脚CLOCK为ADC0808的实时时钟输入端,利用单片机30引脚ALE的六分频晶振频率得到时钟信号。数字量输出端8个接到单片机的P0口。

3 数字电压表的软件程序设计

系统上电状态,初始化ADC0808的启动地址,数码管显示关闭,开始启动A/D转换。等待启动结束后,将ADC0808的0号通道模拟量输入信号转换输出的数字量结果通过数码管动态显示的方式显示到三位数码管上。

根据设计要求结合硬件电路,在输入模拟信号时采用电阻分压,最终的采样输入电压只有实际输入电压的十分之一,所以在编写程序中要编写一段数据调整程序,其中还应注意硬件显示电路采用了动态扫描显示,在动态扫描显示方式中,动态扫描的频率有一定的要求,频率太低,数码管LED将会出现闪烁现象,通常数码管点亮时间间隔一般均取5ms左右为宜,这就要求在编写程序时,使其点亮并保持一定的时间。总结以上分析,程序流程图如图3,图4所示。

本电路的程序设计主要包括A/D转换部分、LED显示、初始化和定时器中断部分。部分程序代码如下所示。


5 结束语

本文的数字电压表可以测量0~5 V的电压值,AT89C51为8位单片机,当ADC0808的输入电压为5 V时,输出数字量值为+4.99 V。如果要获得更高的精度,需采用I2位、I3位等高于8位的A/D转换器。数字电压表的显示部分可以增加BCD码调整程序来通过三位数码管显示其数据。本设计的显示偏差,可以通过校正0808的基准参考电压来解决,或用软件编程来校正其测量值。本系统在设计过程中通过Proteus仿真软件的调试,具有电路简单、成本低、精度高、速度快和性能稳定等特点。

继续阅读
基于AVR单片机的反汇编及仿真设计与实现

1 引 言 计算机软件仿真技术凭其有效性、可重复性、经济性受到各行各业的青睐。大到航空航天系统,小到单片机程序的开发,仿真技术都成为不可或缺的研究手段。在单片机应用开发过程中,一般是由源文件(*.i

基于Proteus的单片机演奏音乐的实现

摘要:介绍了基于Proteus 的单片机演奏系统的基本原理、硬件电路及软件设计。 在编辑乐曲的过程中,每一音符对应着确定的频率,将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数

专用IC解密技术AVR应用技巧

AVR与传统类型的单片机相比,在IC芯片解密技术中除了必须能实现原来的一些基本的功能,其在结构体系、功能部件、性能和可靠性等多方面有很大的提高和改善。

基于51单片机的数字电压表仿真设计

设计采用AT89C51单片机、A/D转换器ADC0808和共阳极数码管为主要硬件,分析了数字电压表Proteus软件仿真电路设计及编程方法。

基于Proteus的液晶温度显示器仿真设计

单片机采用美国ATMEL公司生产的低电压、高性能CMOS的MCS-51系列单片机AT89C52,它片内含8 K字节可重复擦写Flash闪速存储器和256字节的RAM

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss