基于Proteus的数字电压表仿真设计

发布者:tanjunhui最新更新时间:2014-01-20 来源: 电子设计工程 关键字:数字电压表  Proteus  仿真设计  单片机 手机看文章 扫描二维码
随时随地手机看文章
    随着现代电子设计手段的迅速发展,EDA仿真技术也越来越多地应用于实际电路设计中。EDA技术通过先建立电路模型,然后将计算机仿真结果应用于实际电路设计中,这样既降低了成本,又缩短了研制周期。
    Proteus是由英国Labcenter公司开发的一个嵌入式系统仿真与开发平台,是目前世界上最流行的EDA仿真软件之一。它具有模拟电路和数字电路仿真功能,支持主流单片机及其外围电路所组成系统的仿真;可以提供软件调试功能,支持与Keil、MPLAB等单片机开发环境的连接调试,并具有强大的原理图绘图等功能。
    为了提高电压表的性价比和测量精度,本文以AT89C51单片机为控制核心,利用Proteus仿真技术实现了一种数字电压表的设计。通过该数字电压表的设计过程,也充分体现出Proteus软件在单片机控制系统的设计、调试过程中的实用性。

1 系统结构及工作原理
   
基于AT89C51单片机的数字电压表系统结构框图如图1所示。该数字电压表主要由AT89C51单片机、信号调理电路、A/D转换器、LED显示电路、电源电路、复位电路以及时钟电路等几部分组成。

a.jpg


    数字电压表工作原理如下:首先,系统将被测模拟电压交给信号调理电路进行一定的处理(包括放大、滤波等操作),使其电压符合A/D转换器的输入要求;接着,经A/D转换将该模拟电压转换成相应的数字量,并送入AT89C51单片机的P1口;然后,由系统软件对该转换结果进行数字滤波及运算和处理;最后,通过单片机的P0、P2口控制LED显示电路进行输出电压显示。

2 系统硬件设计
   
基于Proteus的数字电压表硬件电路设计主要包括LED显示电路、A/D转换电路、时钟和复位电路等几部分,其硬件电路如图2所示。电路设计时,使AT89C51单片机的端接高电平,系统无需扩展片外ROM。

c.jpg


2.1 LED显示电路
   
LED显示电路的主要功能是对系统处理后的电压值,及时进行显示。本设计选用4位一体的数码型LED显示器,并采用动态显示方式进行控制。该显示器的第2位(自左向右)用来显示电压的整数位,后两位用来显示电压的小数位。电路中,用AT89C51单片机的P0口来控制LED显示器的段码;用P2.0-P2.3引脚来控制LED显示器的位码。
2.2 A/D转换电路
   
A/D转换电路主要用来完成被测模拟量向数字量的转换。本系统选用ADC0808作为A/D转换器,它是一个CMOS单片型、逐次逼近式8位A/D转换芯片,可与微机直接接口,适用于过程控制和智能仪器等领域。该芯片可根据地址输入线ADDA、ADDB、ADDC的电平值,决定选通8路模拟输入信号IN0-IN7中哪一路进行转换;本电路将ADDA、ADDB、ADDC全部接地,选择IN0通道输入被测模拟电压。ADC0808的OUT1-OUT8端直接和单片机的P1口相连,作为A/D转换数据输出端。同时,ADC0808的控制端CLOCK、START和ALE、EOC及OE分别与AT89C51的P2.4-P2.7脚相连。
    该硬件电路工作过程:+5 V电压经变阻器RV1分压后所获得的被测模拟电压由IN0通道输入ADC0808;AT89C51单片机通过定时器中断从P2.4引脚输出方波,给ADC0808的CLOCK端提供时钟信号。当给单片机的P2.5脚输出一个正脉冲,利用其下降沿可启动A/D转换,并由单片机P2.6脚检测A/D转换是否完成。当从P2.6脚检测到ADC0808的EOC端为高电平时,表明A/D转换结束,系统控制P2.7脚使ADC0808的输出允许控制端OE为高电平,允许单片机读取A/D转换数据;否则,继续等待。最后,系统把转换后的数据进行运算和处理,将段码从P0口送给四位LED,并控制P2.0-P2.3的取值,实现数码管的位选控制。

3 系统软件设计
   
整个系统软件设计主要包括主程序、数据采样子程序、数字滤波子程序、T0中断服务程序及显示子程序等几部分。
3.1 主程序
   
系统主程序流程图如图3所示。

b.jpg


    主程序的功能如下:首先,完成系统初始化,包括设置堆栈及定时器T0的工作方式和定时初值,清理显示缓冲区;其次,启动定时器T0,允许系统总中断和T0中断;接着,调用数据采样子程序,对输入模拟电压进行多次采样和A/D转换,并调用数字滤波子程序,将滤波处理后的数据放入2AH单元中;然后,调用数据处理子程序,将2AH单元的内容进行一定处理,使得22H-20H单元中分别存放待显示数据的个位、十分位和百分位;最后,调用LED显示子程序,实现被测电压的实时显示。[page]
3.2 数据采样子程序
   
为了提高采样精度,降低采样误差,系统设计了数据采样子程序。该程序的功能是对从IN0通道输入的模拟电压进行三次采样和A/D转换处理,并把采样数据分别存入2CH、2DH、2EH单元中;随后,调用数字滤波子程序,采用中值滤波法求取3次采样数据的中间值作为本次有效采样值,并放在2AH单元中,以便后续程序进行运算和处理。结合硬件电路设计,本系统数据采样子程序流程图如图4所示。

d.jpg


3.3 T0中断服务程序
   
由于系统采用ADC0808作为A/D转换器,该芯片正常工作时必须给CLOCK端输入时钟信号;为了简化硬件电路,将CLOCK端直接与AT89C51单片机的P2.4脚相连,这样系统只需通过软件控制P2.4脚输出满足ADC0808工作要求的时钟信号即可。
    具体实现方法:在软件设计中,使用定时器T0中断,设置定时器T0工作在方式2,即自动重装初值的8位计数方式。这样每隔一定时间系统就会产生T0中断,并响应其中断服务程序;所以,只需每次在中断服务程序中给P2.4脚的输出电平取反,即可获得满足输出要求的方波信号。
    在本设计中,设置系统时钟频率为12 MHz,使P2.4引脚输出时钟频率为50 kHz的方波时,计算定时器T0的计数初值X:
    定时时间=1/(2x50 kHz)=10μs
    计数个数=定时时间/机器周期=10
    计数初值X=256-10=246
    则将246分别赋给初值寄存器TH0、TL0。

4 系统仿真
   
对本系统方案的仿真研究,必须通过Proteus仿真软件与Keil编程软件的联调才能得以实现。首先,在KeilμVision3软件中,采用汇编语言编写源程序,在新建项目中选择AT89C51单片机作为CPU,再将编好的源程序加载到新建项目中,并进行编译、链接,最终生成.HEX文件。接着,在Proteus ISIS界面中编辑电路原理图,如图2所示;双击AT89C51,打开属性编辑框,在“Program File”栏中导入.HEX文件,并设置时钟频率为12 MHz。最后,点击运行按钮,进行软硬件交互仿真。

e.jpg


    仿真时,在Proteus中用鼠标指针调节电位器RV1的大小,用虚拟电压表观察输入ADC0808的模拟电压值,及LED实时显示的相应数量值。在此,给出输入模拟电压为3.5 V时的测试图,如图5所示;以及虚拟电压表读数和对应LED显示数据,如表1所示。

f.jpg


    从表1中虚拟电压表的读数和对应LED显示数据对比情况可知,所设计的数字电压表能准确的测量和显示电压值,测量精度可达到0.01 V,系统仿真效果也达到了预期的设计要求;同时,该数字电压表还具有结构简单,性价比高等特点。

5 结束语
   
文中以AT89C51单片机为核心,采用Proteus仿真技术实现了数字电压表的设计。通过Proteus仿真软件与Keil编程软件的联调,完成了系统方案的仿真研究;结果表明,所设计的数字电压表具有结构简单、成本低、测量精度高等特点。在该数字电压表设计中,前期使用Prot eus软件进行了仿真研究,提高了系统的开发效率,降低了设计成本;基于Proteus仿真的系统设计方法具有一定通用性,也可用于其他单片机系统的开发中。

关键字:数字电压表  Proteus  仿真设计  单片机 引用地址:基于Proteus的数字电压表仿真设计

上一篇:计算机与单片机的通信实验
下一篇:8051单片机引脚功能介绍

推荐阅读最新更新时间:2024-03-16 13:34

多路端口可编程霓虹灯及彩灯控制器
   现有的霓虹灯以及彩灯控制器多是使用专用集成电路,其中固化多种闪烁方式,一般只提供4~16路输出。由于在大型霓虹灯中使用的控制器路数相当多,一般只能定做,代价高而且灵活性较差。本设计由于采用了力源公司的新一代BASIC单片机PS1016及高性价比的8位LED控制驱动器PS7219,从而可实现多路端口,并且能够对任一端口进行控制,可广泛用于大型霓虹灯、塑料霓虹灯以及彩灯的可编程控制,既可在产品上直接编程,又可在计算机上调试好直接传输。具有设计简单、使用方便等特点。 1主要器件介绍 1.1 PS1016单片机   PS1016单片机引脚排列如图1所示,其特点如下:   1.固化在芯片内部的PICBAS
[单片机]
基于AT89C2051单片机的数字电容表设计
设计任务 设计并制作一个数字电容表,系统实现的功能及要求如下: (1)设计的电容表可测量容量小于2μF的电容。 (2)设计的电容表采用3位半数字显示,最大显示值为1 999。 (3)设计的电容表读数单位统一采用nF,量程分4档,实际电容值为读数乘以相应的倍率。 2 方案论证 2.1 电路方案 (1)方案一:基本电路搭建 用基本电路来实现数字显示的电容表,电路结构复杂,故障系数大,不易调试,误差也较大。 (2)方案二:单片机编程 用单片机设计电路,由于使用软硬件结合的方式,所以电路结构简单、调试也相对方便。与第一种方案比较优点是非常明显的。 2.2 显示方案 (1)
[单片机]
用公共电话网构建社区紧急求助系统
引言 随着人们生活水平的不断提高,家庭安全服务正在逐渐引起人们的重视。由于子妇女的上班,很多老人尤其是病患者不能得到很好的照顾,出现险情时不能得到及时处理,存在很大的安全隐患。因此,在住宅小区中设置联网紧急求助系统,使小区物业管理中心能对住户的险情进行及时处理,这正是人们所期盼的。随着电话设备的大规模普及,使得利用公共电话网络实现紧急求助变得简单易行。在此,本文将介绍一种基于公共电话网络的社会紧急求助系统,这时改善人居环境和实现楼宇自动化都将有大帮助。 1 系统工作原理 该系统以单片机为核心,由DTMF拨号电路、遥控发射及接收电路、电话号码存储电路和免提通话电路四部分组成。当有险情发生时,按下呼叫器或遥控器上的紧急
[单片机]
用公共电话网构建社区紧急求助系统
51单片机的延时计算
前言 我使用51,STC这一类的单片机做控制好几年,一直是使用现成的程序,在其上修修改改,以达到需求动作目的即可。从来都是不求甚解。想法既是如此,会用即可,了解那么多做什么。 此次又在做一项目,里面用到I2C通讯。本来是直接复制粘贴了事,却没想对里面的一个小小的延时函数起了兴趣,由于本人是基础功底只有5战斗力的渣渣,写写画画了一天才搞了个大体明白。 以前总是在看其他博主的文章,默默潜水。然而此次,突然就忍不住想写篇文章发表一下费尽心思的微不足道的心得体会。 正文 void Delay10us() //@12.000MHz { unsigned char i; _nop_(); _nop_(); i = 27
[单片机]
51<font color='red'>单片机</font>的延时计算
51单片机+PWM控制渐变七彩灯C51程序
一、硬件介绍: (采用5050LED 2W) RGB三色LED控制引脚分别为单片机P1.2 、 P1.1 、 P1.0。LED正极接主电源(24V)正极,负极接驱动3颗三极管的集电极,单片机控制脚分别接3颗NPN三极管,三极管发射极接地,而单片机的供电是来自三端稳压器7805,祥细原理如下: 二、实物图片: 三、软件部分: 1、/*原理: 先亮红灯(保持一会儿)----红绿过度(绿加1、红减1循环240次)------ 绿灯亮起(保持一会儿)----绿兰过度(兰加1、绿减1循环240次) -----兰灯亮起(保持)-----兰白过度(绿加1、红加1循环240次、兰不变) ---白红过度,技术支持网站: http
[单片机]
51<font color='red'>单片机</font>+PWM控制渐变七彩灯C51程序
单片机定时器/计数器的方式控制字
从上一节我们已经得知,单片机中的定时/计数器都能有多种用途,那么我怎样才能让它们工作于我所需要的用途呢?这就要通过定时/计数器的方式控制字来设置。 在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。顺便说一下,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。 TMOD结构 从图1中我们能看出,TMOD被分成两部份,每部份4位。分别用于控制T1和T0,至于这里面是什么意思,我们下面介绍。 TCON结构 从图2中我们能看出,TCON也被分成两部份,高4位用于定时/计数器,
[单片机]
<font color='red'>单片机</font>定时器/计数器的方式控制字
基于8051单片机的频率测量技术
0 引言 随着无线电技术的发展与普及,"频率"已经成为广大群众所熟悉的物理量。而单片机的出现,更是对包括测频在内的各种测量技术带来了许多重大的飞跃,然而,小体积、价廉、功能强等优势也在电子领域占有非常重要的地位。为此.本文给出了一种以单片机为核心的频率测量系统的设计方法。 1 测频系统的硬件结构 测量频率的方法一般分为无源测频法、有源测频法及电子计数法三种。无源测频法(又可分为谐振法和电桥法),常用于频率粗测,精度在1%左右。有源比较法可分为拍频法和差频法,前者是利用两个信号线性叠加以产生拍频现象,再通过检测零拍现象进行测频,常用于低频测量,误差在零点几Hz;后者则利用两个非线性信号叠加来产生差频现象,然后通过检测零差现象进
[应用]
为提高单片机开发系统稳定性和可扩展性的C8051F 单片机实验系统设计
为进一步简化电路结构, 提出一种C8051F 单片机实验系统设计方案,该方案采用FPGA 实现单片机各种外设接口。FPGA 作为一种可编程逻辑器件凭借其优越的可扩展性能受到设计者的青睐,逐渐成为分立元件的替代者。通过对FPGA 编程,实现任何数字元件的逻辑功能,设计者可以通过原理图输入或硬件描述语言, 方便地设计一个数字系统,这使得单片机外围电路的设计简单、灵活、可靠。 本系统是为单片机实践教学而开发的,因此要求单片机的功能齐全,满足教学中各种实验的要求。一般的实验板的功能有:模拟数字信号转换实验、通信接口实验、存储器实验、各种显示实验,人机交互实验等等。除此之外,还要考虑由于是非商业性质的开发, 对一些功能的精度要求不是很高
[单片机]
为提高<font color='red'>单片机</font>开发系统稳定性和可扩展性的C8051F <font color='red'>单片机</font>实验系统<font color='red'>设计</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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