• 周四. 3月 28th, 2024

一种单片机的数字电压表的研究与探讨

1月 22, 2019

摘要:本文控制系统采用AT89c51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。该系统的数字电压表电路简单,所用的元件较少,成本低,调节工作可实现自动化。还可以方便的进行8路A/D转换量的测量,远程测量结果传送等功能。数字电压表可以测量0~5的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。

关键词:单片机;数字电压表;A/D转换;模拟信号

1概述

数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针与刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字万用表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字万用表的准确度,本文A/D转换器采用ADC0809对输入模拟信号进行转换,控制核心AT89c51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。

2数字电压表硬件电路设计

硬件电路设计主要包括:89C51单片机系统,A/D转换电路,显示电路。测量最大电压为5V,显示最大值为5.00V。图1是数字电压表硬件电路原理图。

2.189C5l单片机系统和显示电路

由于单片机体积小、重量轻、价格便宜,所以本系统采用89C51单片机,其原理图如图1所示。89C51内部有4KB的EEPR0M,128字节的RAM,所以一般都要根据系统所需存储容量的大小来扩展ROM和RAM。本电路/EA接高电平,没有扩展片外ROM和RAM。

89C51的P1、P3.0~P3.3端口作为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作0809的A/D转换数据读入用,P2端口用作0809的A/D转换控制。

2.2A/D转换电路

A/D转换由集成电路0809完成。0809具有8路模拟信号输入端口,地址线(23~25脚)可决定对哪一路模拟信号进行A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个2μs宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端,利用单片机30引脚的六分频晶振频率再通过14024二分频得到1MHz时钟。

一种单片机的数字电压表的研究与探讨

3数字电压表系统的软件设计

主程序和A/D转换测量程序流程图如图2所示。

一种单片机的数字电压表的研究与探讨

3.1初始化程序

系统上电,初始化程序将70H~77H内存单元清0,P2口置0。系统默认为循环显示8个通道的电压值,当进行一次测量后,将显示每一通道的A/D转换值,每个通道显示时间为1s。70~77H内存单元存放采样值,78H~7BH内存单元存放显示数据,依次为个位、十位、百位、通道标志位。

3.2A/D转换子程序

A/D转换子程序用来控制对0809八路模拟输入电压的A/D转换,并将对应的数值存入70~77H内存单元。

3.3显示子程序

显示子程序采用动态扫描实现四位数码管的数值显示。测量数据在显示时需转换成BCD码放在78H~7BH内存单元中,其中7BH存放通道标志数。R3作为8路循环控制,R0用作显示数据指针。

4结论

数字电压表可以测量0~5的8路电压值。89C51为8位处理器,当0809输入电压为5.00V时,输出数据为255(FFH)。因此最大分辩率为0.0196V(5/255)。如要获得更高的精度要求,应采用12位、13位的A/D转换器。数字电压显示可能有偏差,可以通过校正0809的基准电压来解决,或者用软件编程来校正测量值。

本系统用单片机89C51构成数字电压表控制系统,具有精度高、速度快、性能稳定和电路简单且工作可靠等特点,具有很好的使用价值。

版权声明:网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时联络我们,采取适当措施,避免给双方造成不必要的经济损失。