您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页基于51单片机的数字电压表的设计与实现

基于51单片机的数字电压表的设计与实现

来源:测品娱乐
第34卷第6期2016年11月

Journal of Foshan University (Natural Sciences Edition)

佛山科学技术学院学报(自然科学版)

Vol. 34 No. 6

Nov. 2016

文章编号:1008-0171(2016)06-0018-04

基于51单片机的数字电压表的设计与实现

严敏

(江苏联合职业技术学院扬州商务分院信息电子系,江苏扬州

225127)

摘要:以ATC51单片机为控制核心,利用ADC0809模数转换芯片设计数字电压表,用LED数码管实时显示测量电压。并进行仿真与实验,结果表明,与传统模拟电压表相比,基于ADC0809的数字电压表具有测量精度高、显 示直观等优点。

关键词:ADC0809 ;单片机;LED数码管;Proteus 中图分类号:TM933.22

文献标志码:A

在智能仪表和测量控制等领域,数字电压表得到了广泛的应用,用其来测量电压,并以数字方式显 示测量值[1-3]。本文以ATC51为主控制器,利用ADC0809设计数字电压表,且电压值用LED数码管 进行显示。

1硬件电路

本设计使用ADC0809采集模拟数据,完成对其中一路0~5 V直流电压的模数转换,ADC0809输出

的是数字信号,范围为00000000~11111111,单片机的任务是读取转换结果,并进行数值量程变换,再使 用4位

LED数码管动态扫描、实时显示测量的电压,精确到小数点后2位,单位为V,如图1所示。

1

数字电压表硬件电路

信号,CLK管脚是时钟信号。由于ADC0809自身没有晶振电

收稿日期:2016-03-10

1地址选择与被选通道之间的关系表

出的数字信号是8位二进制数据,输人的模拟通道有8路,但 ADDAADDBADDC通道

000IN0究竟选择哪一路模拟信号进行模数转换,则由ADDA、ADDB、

001IN1

ADDC这3个管脚决定,如表1所示。本设计采用通道IN0,因 010IN2

011IN3此将这3个管脚都接地。本设计中,将ALE与START这两个管

100IN4

脚相连,目的是在信号的上升沿锁存通道地址,紧跟着在下降 101IN5

10IN6沿就启动转换。EOC管脚是转换结束信号,OE管脚是输出允许 1

111IN7

图1中,ADC0809是8位8路A/D转换芯片,也就是说,输

作者简介:严敏(1982-),女,江苏扬州人,江苏联合职业技术学院扬州商务分院讲师,硕士。

第6期严敏:基于51单片机的数字电压表的设计与实现19

路,所以由单片机的ALE端或者外界提供。本设计中使用500 kHz的外部时钟信号,OUT1~OUT8管脚 直接与单片机的I/O 口相连。

2程序设计

根据A/D转换芯片的工作时序要求和显示要求编写KEIL C51控制程序,实现电压表的测量功能。

其软件程序流程分别如图2~4所示。

〔开始)

系统初始化

调用A/D转换函数

调用LED显示函数

while(1)?

返回

图2主程序流程 图3

A/D转换子程序流程

图4

LED显示子程序流程

A/D转换子程序设计

ADC0809与单片机的接口所涉及的关键问题是完成A/D转换后的数据应该送给单片机及时处 理[«]。那么,在送单片机处理之前怎样确认ADC0809模数转换的完成,通常采用以下3种方法。

2.1

2.1.1延时方法

ADC0809的转换时间是128叫,因此在A/D转换启动后调用一个延时函数(当然远大于128旰),这 样,确保A/D转换已经结束。

2.1.2查询方法

在程序中一直查询EOC管脚电平的状态,一旦检测到高电平表示转换完成。2.1.3中断方法

当转换完成EOC管脚向单片机发出中断请求,在中断服务子程序中进行数据传送。

本次设计中采用查询方法确认A/D转换的完成,此外,按照ADC0809的时序操作是保证A/D转换 正确的前提,测量电压分辨率为7,2〃 =5 V/28«0.019 6 V。其部分代码如下:

当时钟频率一定时,ADC0809的转换时间是固定的,比如,本设计采用500 kHz的时钟频率,

void Adc〇 // A/D转换子函数

{ unsigned int adcval; // 定义变量

adwr=1; //启动A/D转换 while(!adeoc); //等待转换结束

adrd=0; //输出允许

adcval=P1; //读取转换结果,存放到变量adcval val=adcval*500/256; // 量程变换

20 佛山科学技术学院学报(自然科学版) 第34卷

2.2 LED显示子程序设计

LED显示子程序部分代码如下:

void DISPLAYQ //显示测量电压函数

unsigned char m=0,i=0x7f;

BUF[2]=TABLE[val/100]; //获得整数

BUF [1]= TABLE [vaV10%)10]; // 获得小数第一位 BUF [0]= TABLE [val%10]; // 获得小数第二位DUAN= TABLE [BUF [m++]]; // 段码 WEI=i; // 位码

m= m&0x04;i=_cror_(i,1); //循环右移一位

DELAY(1); //延时} void DELAY (unsigned int t){ unsigned int i; while (t—)

{for (i=0;i<125;i++);}}

3 Proteus 仿真

Proteus软件中,调节滑动变阻器RV1改变ADC0809输人通道IN0的模

拟电压值,LED数码管显示数值随之改变。例如,当输人模拟电压为2.15 V,虚 拟电压表如图5所示,LED显示如图6所示。

由图5、6可知,两者的值基本上是一致的,误差较小,测量精度高,符合设 计要求。

图6数字电压表的仿真结果

第6期严敏:基于51单片机的数字电压表的设计与实现21

4 YL-236 实验

使用亚龙YL-236的相关模块及元件构建数字电压表,其中,ADC0809的D0~D7接单片机的P1 口,INO接电压源的OUT端,CLK接时钟源的500 kHz时钟信号,A、B、C、EOC、WR、RD作为采样的控 制联络信号线。LED数码管的D0〜〇7丄31丄32、贾尺分别接单片机的?0口^2.7^2.6^3.6,这里[瓦〇 数码管的动态显示采用数据总线方式,结果如图7所示。当手动调节0~5 V电压源的模拟电压输入值 时,LED数码管的显示值随之改变。

图7数字电压表的实验结果

5小结

通过仿真与实验得出:基于ADC0809的数字电压表可以实现0~5 V电压值的测量,分辨率约为20

mV,具有测量精度高、显示直观等优点,因而在很多领域得到广泛的应用。

参考文献:

[1 ]陈飞,顾启民,王伟.基于Proteus和Keil的项目教学法在单片机教学中的应用[J].实验科学与技术,2013( 10): 27-29.[2] 高立新.基于Proteus软件的单片机仿真实验[J].常州信息职业技术学院学报,2011(3): 59-60.[3] 朱晓玲.直流数字电压表设计与Proteus应用[J].通信电源技术,2012(2): 59-60.[4] 张玲丽.基于Proteus的LCD数字电压表的设计与仿真[].中国新通信,2014(22): 65-66.[5] 金韦利,姜礼华.基于单片机的数字电压表设计[].自动化与仪器仪表,2015(11): 246-247.

【责任编辑:任小平renxp90@163.com】

Design and implementation of digital voltmeter

based on 51 SCM

YAN Min

(The Information Electronic Department ,Yangzhou Business Branch of Jiangsu Union Technical Institute,

Yangzhou 225127, China)

converter chip design digital voltage meter, with LED digital tube to display real-time measuring voltage. Through simulation and experiments, it is concluded that the digital voltmeter based on ADC0809 has the advantages of high measurement accuracy and direct display, compared with the traditional analog voltage meter. Key words: ADC0809; single-chip microcomputer; LED digital tube; Proteus

Abstract: In this paper, we take the AT 8 9C51 microcontroller as the control core, use ADC0809 analog digital

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务