单片机数字电压表的设计

时间:2022-10-10 05:28:30

单片机数字电压表的设计

摘 要 目前,单片机控制的数字电压表广泛应用于需要检测电压的场合。单片机控制的数字电压表是一种智能仪表,能与计算机相对接,组成自动检测系统。本设计主要是以AT89C52单片机为核心,包含数据采集模块、数据处理模块和输入/出模块,能实现0-5V直流电压测量、数字显示、小数点显示等。可以对电压值较小的线路进行电压的测量。量具有较高的测量精度。

关键词 AT89C52单片机;数字电压;ADC0809A/D转换器

中图分类号TP368.1 文献标识码A 文章编号 1674-6708(2013)102-0203-02

现在,由各种型号单片和A/D转换器等构成的数字电压表,因其性能优越,被广泛使用。数字电压表是通过A/D转换器把连续的直流输入电压转换成离散的数字量通过LED数码管显示出来的仪表,从而实现了数字化测量。模拟部分和数字部分是数字电压表的两个组成部分,前者的作用是获取电压,并把取得的电压转化成数字量,传给数字部分。后者的作用是实现逻辑控制运算、译码过程、数字显示等一些列功能。

1设计任务

单片机数字电压表的设计:

基本要求:所设计的数字电压表可以较准确地测量0V~5V之间的直流电压值,其测量最小分辨率为0.02V。

2系统总体方案设计

用A/D转换器测量各路电压值,测得相对应的数字量,然后按模拟量与数字量成正比的关系,计算出对应的模拟电压值,把模拟值通过显示器显示出来就完成测量。设计时设定待测的输入电压为8路,电压值的测量范围为0V~5V,测量的最小分辨率5/255,测量误差-0.02~+0.02。

控制系统采用AT89C52单片机,A/D转换器采用ADC0809。ADC0809是8位的A/D转换器。当输入电压为5V时,输出的电压为255(0FFH),因此最大分辨率为0.0196V(5/255)。ADC0809包括8路模拟量输入端口,由3位地址输入端对8路中的任选其中一路进行转换。每隔一段时间依次改变3位地址输入端的地址,就能实现8路输入电压的测量。LED数码管采用软件译码动态显示。

3系统硬件电路设计

3.1 单片机最小系统

单片机最小系统是能正常工作,所需硬件最少的系统,其组成有:单片机本身,电源,ROM,时钟电路,复位电路。采用的晶振为12MHz,复位方式为按键复位。

3.2数模转换电路

ADC0809实现对输入通道的模拟量进行转换。开始转化时,转换结束信号EOC为低电平,一段时间转化结束后,EOC引脚输出高电平,转化结果存放在ADC0809内部的输出数据锁存器中。当转化数据输出允许控制端OE为高电平时,存放在输出数据锁存器中的数据,通过ADC0809的数据端D0~D7输出给单片机。

3.4数码管显示设计

本设计采用四位8段共阳数码管作为电压测试显示,共阳数码管结构为,数码管的阳极接在一起,给一个高电平。阴极接ADC0809的数据输出端,当ADC0809的输出为低电平的,此段的数码管点亮。显通过反相器来驱动四位数码管。

3.5 完整的仿真电路图设计

数字电压表应用系统仿真图利用正玄脉冲作为ADC0809CLOCK引脚的驱动信号,利用模拟电压表和滑动变阻器作为测试输入端,将三个地址选择端共地,则输入锁存端为IN0;

LED数码管采用动态扫面方式链接,通过AT89C52的P1口和P3.0~P3.3控制端。P1口为LED数码管的字段码输出端,P3.0~P3.3口为LED数码管的位选码输出端,通过三级管驱动并反相。

4系统软件的设计思路

数字电压表系统软件的程序设计从三方面来切入考虑。它的主程序部分,它A/D转换子程序以及显示子程序,一部分一部分的写,最后融合在一起。

4.1 主程序设计

主程序设计包括三部分:初始化程序部分、调用A/D转换子程序以及调用显示程序。其中,初始化程序部分又包含存放通道数据的缓冲区初始化和显示缓冲区初始化。

4.2 A/D转换子程序设计

4.3显示子程序设计

LED数码管采用软件译码动态扫描方式。每路数据显示需经过转换变成十进制BCD码,放入数码管的数据缓冲区中。

5结论

以下是我们的一些切身体会:

1)硬件的选择不能以元器件是否是高性能作为选择元器件的标准,往往高性能器件的价格也是较高的。应根据项目设计的需要选择元器件,能够满足设计需要作为标准选择元器件。

2)因为单片机系统设计是硬件和软件相结合的设计,所以系统和硬件和软件必须紧密配合,协调一致。

参考文献

[1]谢维成,杨加国.单片机原理与应用及c51程序设计.2版.北京:清华大学出版社,2009.

[2]谷树忠,刘文洲,姜航.Altium Designer教程.北京:电子工业出版社,2010.

上一篇:低成本的智能家居综合控制系统 下一篇:高架仓库安全风险探究