APP下载

基于ADC0831数字电压表的设计

2017-06-01叶钢

电脑知识与技术 2017年8期

叶钢

摘要:直流电压表作为一种能对电子电路进行现场检测的常用仪表被广泛使用。文中介绍了一种基于ADC0831模数转换器的数字电压表设计方法。该数字电压表采用AT89C2051单片机作为控制器件,采用ADC0831模数转换器采集外界直流电压,通过四位一体数码管进行显示,实现简易数字式直流电压表的硬件电路与软件设计,具有一定的实用价值。

关键词:ADC0831;AT89C2051;数字电压表

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)08-0242-02

1背景

电压表作为一种常用仪器,在日常生活和工业生产中已经被广泛使用。我们经常需要测量某一个电路的直流电压值,而采用单片机和模数转换器构成的直流数字电压表就显得非常重要和方便。

模数转换器按照精度可以分为8位、10位、12位、16位等,而8位模数转换器由于价格便宜被广泛使用。模数转换器按照数据传送的方式可以分为并行和串行两种,并行的模数转换器通过8位并口与单片机相连,但是这样就会大量占用单片机的I/O口资源,导致单片机的I/O口资源紧张。为此,采用串行數据传送的ADC0831设计的数字电压表,能够非常好地解决以上问题。

ADC0831是美国国家半导体公司推出的一种逐次逼近型串行模数转换器,具有以下特点:

1)DC0831是一款8位的模数转换器;

2)ADC0831可通过三线串行总线与单片机连接;

3)ADC0831是单通道的A/D转换器;

4)ADC0831可以单端输入,也可采用差分输入;

5)ADC0831最大功耗0.8W;

6)ADC0831电源电压(最大值)为6.3 V,电源电压(最小值)为4.5V;

7)ADC0831最大工作温度+70℃;

8)ADC0831输入电压5V,参考电压5V。

2ADC0831的引脚排列与使用方法

ADC0831的引脚排列如图1所示,其中1脚为片选端(CS),2脚为正输入信号端(IN+),3脚为负输入信号端(IN-),4脚为地(GND),5脚为参考电压输入端(REF),6脚为串行数据输出端(DO),7脚为时钟信号输入端(CLK),8脚为电源端(VCC)。

ADC0831的工作时序如图2所示。

从图2中可以看出,当片选端CS变为低电平后,ADC0831芯片被选中,此时时钟输入端(CLK)输入2个时钟信号后,ADC0831就将前次转换的结果的最高有效位(MSB)通过串行数据输出端(DO)输出,接着要求时钟输入端(CLK)继续输入8个时钟信号,单片机就可以通过ADC0831的串行数据输出端(DO)读取到模数转换数据了。

3硬件设计

图3为数字电压表的硬件结构图,控制器采用AT89C2051单片机。AT89C2051单片机共有20个管脚,是一款低功耗、高性能的8位单片机。

图4为ADC0831模数转换器与A T89C2051单片机的管脚连接图,其中单片机的P3.4口与ADC0831的片选端(CS)相连,P3.5口与时钟输入端(CLK)相连,P3.7口与串行数据输出端(DO)相连,数字电压表系统采用ADC0831的单端输入方式,通过ADC0831的VIN+端对外进行电压测量,VIN一端接地,参考电压输入端(REF)接5V。

数字电压表的显示采用四位一体共阳数码管作为显示器件,单片机的P1口作为数码管的段选端,P3.0-P3.3口通过PNP三极管驱动数码管的控制端,进行点亮控制。

4软件设计及仿真

ADC0831的模数转换函数流程图如图5所示,因此我们在编写程序时,必须严格按照如图2所示的ADC0831的时序图进行编程,否则ADC0831可能不会正常工作。

本系统在设计时采用PROTEUS仿真软件进行仿真,检查程序是否正确。图6给出了仿真软件的仿真效果图,在仿真时,采用电位器来模拟被测电压输入的变化。如图6所示,被测电压为4.2V,而数码管显示值为4.194V,表示此数字电压表所测得的电压值为4.194V,与被测真值相差0.006V。当输入电压改变时,电压表的显示数据也随之变换,从而实现直流电压的测量功能。

5结束语

采用ADC0831和AT89C2051构成的直流数字电压表结构简单、所需外接元件少、价格低、实用性强、可靠性高。因此在实际应用中,能够非常方便测量数字电压,测量精度较高、测量电压值准确,稳定性高,能够达到预期效果。