基于51单片机的数字电压表仿真设计
山西电子技术2011年第2期
文章编号:1674-4578(2011)02-0046-02
应用实践
基于51单片机的数字电压表仿真设计
刘敏娜,潘宏侠,王 乔
(中北大学机械工程与自动化学院,山西太原030051)
摘 要:设计采用AT89C51单片机、A/D转换器ADC0808和共阳极数码管为主要硬件,分析了数字电压表
Proteus软件仿真电路设计及编程方法。将单片机应用于测量技术中,采用ADC0808将模拟信号转化为数字信号,用AT89C51实现数据的处理,通过数码管以扫描的方式完成显示。设计的数字电压表可以测量0~5V的电压值,AT89C51为8位单片机,当ADC0808的输入电压为5V时,输出数字量值为+4.99V。本设计电路简单、成本低、性能稳定。
关键词:数字电压表;
51单片机;ADC0808;数码管LED
中图分类号:TP368 文献标识码:A
AT89C51单片机、ADC0808、74LS74、LED数码管等[2]。
0 引言
随着电子科学技术的发展,电子测量成为广大电子工作
者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。数字电压表是采用数字化测量技术设计的电压表。数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。本文采用ADC0808对输入模拟信号进行转换,控制核心AT89C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
Proteus软件是一种电路分析和实物模拟仿真软件。它运行于Windows操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。
2 数字电压表的Proteus软件仿真电路设计
待测电压输入信号在ADC0808芯片承受的最大工作电压范围内,经过模/数转换电路实现A/D转换,通过单片机
控制电路进行程序数据处理,然后通过七段译码/驱动显示电路实现数码管显示输入电压。
硬件电路原理图如图2所示。
2.1 AT89C51单片机和数码管显示电路的接口设计利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号0~5V之间的直流电压值转换成数字量信号0~FF,以两位数码管显示[3]。Proteus软件启动仿真,当前输入电压为2.5V,转换成数字值为7FH,用鼠标指针调节电位器RV1,可改变输入模/数转换器ADC0808的电压,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。
在Proteus软件中设置AT89C51单片机的晶振频率为12MHz[4]。本电路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号通道输入模拟量电压信号[5]。22脚ALE为地址锁存允许控制信号,当输入为高电平时,对地址信号进行锁存。6脚START为启动控制信号,当输入为高电平时,A/D转换开始。本电路将ALE脚与START脚接到一起,共同由单片机的P2.0脚和WR脚通过或非门控制。7脚EOC为A/D转换结束信号,当A/D转换结束时,7脚输出一个正脉冲,此信号可作为A/D转换是否结束的检测信号或向CPU申请中断的信号,本电
1 系统概述
1.1 设计任务
利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号0~5V之间的电压值转换成数字量信号,以两位数码管显示,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。1.2 总体方案
数字电压表电路组成框图如图1所示[1]。
图1 系统组成框图
本设计中需要用到的电路有电源电路、模/数转换电路、单片机控制电路、显示电路等。设计中需要用到的芯片有
路通过一个非门连接到单片机的P3.2脚。9脚OE为A/D
转换数据输出允许控制信号,当OE脚为高电平时,允许读取A/D转换的数字量。该OE脚由单片机的P2.0脚和RD
收稿日期:2011-01-10 修回日期:2011-03-08
作者简介:刘敏娜(1986-),女,山东菏泽人,硕士研究生,研究方向:DSP、单片机、故障诊断与检测。
你可能喜欢
- ADC0809中文资料
- 简易数字电压表设计
- 太阳能移动电源
- PIC单片机C语言编程实例


