简易数字电压表设计的设计,求仿真图和程序!!!

单片机课程设计-数字电压表_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
单片机课程设计-数字电压表
数​字​电​压​表
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢简易数字电压表设计 - 副本_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
简易数字电压表设计 - 副本
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢您现在的位置是:&>&&>&
一种简易数字电压表的设计与制作
在电量的测量中,电压、电流和频率是最基本的三个被测量,而电压的测量最为常见,现在学生使用的数字万用表能够测量多种电量,并且具有一定的精度,使用方便。为了让学生更好地了解数字电压表的工作原理,从而激发他们对单片机课程的学习兴趣。本文从软硬件设计、proteus仿真、制作实物、误差分析几个方面着手,阐述数字电压表的工作原理、数据的程序处理方法、数字信号软件滤波原理。
2.硬件设计
硬件电路设计由4个部分组成:a/d转换电路,at89c51单片机系统,led显示系统、测量电压输入电路。硬件电路设计框图如图1所示。其总设计框图如下:
此电路的工作原理是:+5v模拟电压信号通过变阻器vr1分压后由adc08008的in0通道进入(由于使用的in0通道,所以adda,addb,addc均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道d0-d7传送给at89c51芯片的p0口,at89c51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位led,同时它还通过其四位i/o口p2.0、p2.1、p2.2、p2.3产生位选信号控制数码管的亮灭。
简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用pROTEUS软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。
3.软件设计
根据模块的划分原则,将该程序划分初始化模块,a/d转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图2所示。
整个程序设计的核心在于对a/d转换的数据进行处理,包括数字滤波处理,数据小数位数的处理等。a/d转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。
显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得led显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70hz左右时,能够产生比较好的显示效果,一般可以采用间隔10MS对led进行动态扫描一次,每一位led的显示时间为1MS.
4.结果及误差分析
由于单片机at89c51为8位处理器,当输入电压为5.00v时,adc0808输出数据值为255(ffh),因此单片机最高的数值分辨率为0.)。这就决定了电压表的最高分辨率只能到0.0196v,从表1可看到,测试电压一般以0.01v的幅度变化。
当in0口输入电压值为13.5v时,显示结果如图3所示。测量误差为0.1v.
从表1可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01v,这可以通过校正adc0808的基准电压来解决或者通过软件校准的方式来降低误差。因为该电压表设计时直接用5v的供电电源作为电压,所以电压可能有偏差。当要测量大于5v的电压时,可在输入口使用分压电阻,而程序中只要将计算程序的除数进行调整就可以了。
从测试的数据看,其绝对误差均控制在1v以下,而相对误差均在1%以下,能够满足大部分场合应用的需要,如采用实验数据归纳的方法,将得出的数据绘制成曲线,再使用更为合理的算法,将得到更加准确的结果。
&noscript&&a href="/main/adfclick?user=Afp21ic|minisite|ti_power_280_235&db=afp21ic"&&img src="/main/adfshow?user=Afp21ic|minisite|ti_power_280_235&db=afp21ic" width="280" height="235" border="0"&&/a&&/noscript&
  图中用1欧的电阻F1起到保险丝的作用,用一个二极管D1完成整流作用。接通电源后,……
bq2/9 完全集成开关模式单节锂离子电池充电器是一个紧凑,灵活,高效率的,……
  图是无绳电话手机的充电电路。电路中NE555构成比较器,其2.6V基准电压由稳压管VD……digitalam 数字电压表的程序,它包括了了proteus的仿真电路图 SCM 单片机开发 182万源代码下载-
&文件名称: digitalam
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 75 KB
&&上传时间:
&&下载次数: 7
&&提 供 者:
&详细说明:数字电压表的程序,它包括了了proteus的仿真电路图-keil proteus
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&电压表修改\ADC.PWI&&..........\Last Loaded 数字电压表.DBK&&..........\STARTUP.A51&&..........\STARTUP.LST&&..........\数字电压表.PWI&&..........\数字电压表.txt&&..........\电压表.c&&..........\电压表.hex&&..........\电压表.lnp&&..........\电压表.M51&&..........\电压表.plg&&..........\电压表_Uv2.Bak&&..........\电压表.Uv2&&..........\电压表_Opt.Bak&&..........\STARTUP.OBJ&&..........\电压表.LST&&..........\电压表.OBJ&&..........\电压表&&..........\Last Loaded ADC.DBK&&..........\ADC.DSN&&..........\电压表.Opt&&电压表修改
&相关搜索:
&输入关键字,在本站182万海量源码库中尽情搜索:
&[] - 简易数字电压表 可以检测直流电压 但不可以检测交流
&[] - 利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示
&[] - 一些数字电压表的一些资料,用PPT就看打开看,里面有图片
&[] - 基于PROTERUS仿真的AVR例子,内容丰富,包含全面,从最简单的I/O操做到通讯例子都有,并有详细的注!释
&[] - 以AT89C52为开发平台设计的数字电压表,精确度达到小数点后四位。
&[] - 利用proteus软件设计的数字电压表,包含有原理图和程序代码。
&[] - 基于avr的5位半电压表基于avr的5位半电压表基于avr的5位半电压表基于51单片机的数字电压表仿真设计[图]
17:15 共计次阅读 来源:话题2009&<em id="num_num_
摘要:设计采用AT89C51单片机、A/D转换器ADC0808和共阳极数码管为主要硬件,分析了数字电压表Proteus软件仿真电路设计及编程方法。将单片机应用于测量技术中,采用ADC0808将模拟信号转化为数字信号,用AT89C51实现数据的处理,通过数码管以扫描的方式完成显示。设计的数字电压表可以测量0~5 V的电压值,AT89C51为8位单片机,当ADC0808的输入电压为5 V时,输出数字量值为+4.99 V。本设计电路简单、成本低、性能稳定。
随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。数字电压表是采用数字化测量技术设计的电压表。数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。本文采用ADC0808对输入模拟信号进行转换,控制核心AT89C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
Proteus软件是一种电路分析和实物模拟仿真软件。它运行于Windows操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。
1 系统概述
1.1 设计任务
利用单片机AT89C51与ADC0808设计一个数字电压表,将模拟信号0~5 V之间的电压值转换成数字量信号,以两位数码管显示,并通过虚拟电压表观察ADC0808模拟量输入信号的电压值,LED数码管实时显示相应的数值量。
1.2 总体方案
数字电压表电路组成框图如图1所示。
本设计中需要用到的电路有电源电路、模/数转换电路、单片机控制电路、显示电路等。设计中需要用到的芯片有AT89C51单片机、ADC-、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显示、初始化和定时器中断部分。部分程序代码如下所示。
本文的数字电压表可以测量0~5 V的电压值,AT89C51为8位单片机,当ADC0808的输入电压为5 V时,输出数字量值为+4.99 V。如果要获得更高的精度,需采用I2位、I3位等高于8位的A/D转换器。数字电压表的显示部分可以增加BCD码调整程序来通过三位数码管显示其数据。本设计的显示偏差,可以通过校正0808的基准参考电压来解决,或用软件编程来校正其测量值。本系统在设计过程中通过Proteus仿真软件的调试,具有电路简单、成本低、精度高、速度快和性能稳定等特点。
日,由37游戏发起并主办的游戏行业开年首次国际性高端峰会——2015年第二届中国国际游戏大会将在“百岛之市”珠海隆重召开。...

我要回帖

更多关于 简易数字电压表设计 的文章

 

随机推荐