一种简易数字电压表的设计与制作

嵌入式设计应用

133人已加入

描述

  1引言

  在电量的测量中,电压、电流和频率是最基本的三个被测量,而电压的测量最为常见,现在学生使用的数字万用表能够测量多种电量,并且具有一定的精度,使用方便。为了让学生更好地了解数字电压表的工作原理,从而激发他们对单片机课程的学习兴趣,本文从软硬件设计、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.0196v(5/255)。这就决定了电压表的最高分辨率只能到0.0196v,从表1可看到,测试电压一般以0.01v的幅度变化。

  当in0口输入电压值为13.5v时,显示结果如图3所示。测量误差为0.1v。

  

  从表1可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01v,这可以通过校正adc0808的基准电压来解决或者通过软件校准的方式来降低误差。因为该电压表设计时直接用5v的供电电源作为电压,所以电压可能有偏差。当要测量大于5v的电压时,可在输入口使用分压电阻,而程序中只 要将计算程序的除数进行调整就可以了。

  

  从测试的数据看,其绝对误差均控制在1v以下,而相对误差均在1%以下,能够满足大部分场合应用的需要,如采用实验数据归纳的方法,将得出的数据绘制成曲线,再使用更为合理的算法,将得到更加准确的结果。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
29495292842270 2014-05-05
0 回复 举报
这个不是学习51单片机的基本项目之一吗? 收起回复
kingdd142 2014-03-24
0 回复 举报
可以给我发详细资料么 看不清楚啊 Q457576456 收起回复
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分