基于YL-236单片机实训装置的数字电压表的设计方案

时间:2014-02-12

  摘要:数字电压表可将连续的直流模拟电压转换为数字量并加以显示。本文介绍了基于YL-236亚龙单片机实训装置来制作数字电压表的设计方案,该方案可实现计算、存储、控制和显示等功能。本方案中的设计以AT89C51单片机为,采用ADC0809芯片进行A/D转换,实现了数字电压表的功能。

  一、引言

  数字电压表采用数字化测量技术,可以将模拟量转换成数字量并加以显示。由于其具有测量高、抗干扰能力强等优点,被广泛应用于工业自动化仪表领域。下面本文就以亚龙YL-236单片机实训装置为平台,介绍数字电压表的实现方法。

  二、方案总体设计

  本设计选择AT89C51单片机作为控制器件,采用ADC0809实现A/D转换,用3位LED数码管数字来显示采集电压(范围0~5V)。设计框图如图1所示。

  

  三、硬件部分设计

  1.转换芯片ADC0809

  ADC0809具有8路模拟输入端口,8路模拟开关分时选通8个模拟通道,转换后的8位数字量锁存到三态输出锁存器中,在输出允许的情况下,可以从8条数据线D7~D0上读出,并可直接与单片机接口相连。ADC0809其引脚排列和具体功能可参考ADC0809说明文件,这里不再详述。

  2.ADC0809与单片机的硬件连接

  单片机与ADC0809接口电路如图2所示。

  

  74HC02可实现4路2输入或非门功能。连接时,将主机模块中单片机的P0.0~P0.7接到ADC0809的数据输出端D0~D7,用来接收ADC0809转换输出的数据;将单片机的P2.5、P3.6、P3.7接到ADC0809的CS、WR、RD端,作为A/D采样的控制联络线;将ADC0809的A、B、C接到ADC0809的D0、D1、D2口,通过P0的控制来选择ADC的采样通道。

  3.数字电压表硬件模块接线

  用YL-236实训装置实现本任务要求的硬件模块接线如图3所示。该电路由主机模块(MCU01)、显示模块(MCU04)和ADC/DAC模块(MCU07)组成。将时钟源1MHZ接到ADC电路的CLK口,由模拟电压源提供0~5V输入电压。

  

  地址锁存允许信号ALE由P3.6控制通道地址选择,以WR作写选通信号。我们将ALE信号与START信号接在一起,这样使得AD0809在锁存通道地址的同时,也启动了A/D转换。

  将主机模块中单片机的P0口作为数码管显示的段码使用,接到数码管的a~dp段端,将单片机的P3.6、P2.6、P2.7分别接到数码管的WR、CS2、CS1端,对数码管进行动态扫描显示。

  四、软件部分设计

  1.AD转换

  图4为利用ADC0809进行A/D转换的程序流程图。

  

  A/D转换后的数据应传给单片机进行处理。数据传送之前必须确认A/D转换已经完成。常用的有以下几种方法:

  (1)定时传送方式;

  (2)查询法;

  (3)中断控制法。

  不管采用哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。

  启动信号START启动后开始模数转换。对于ADC0809来说,当时钟频率一定时,其A/D转换时间是固定的(微秒级)。因此,我们可以设计一个延时函数delay(),等待一段时间(远大于A/D转换的时间),延时时间到时转换肯定已经完成了,之后就可以进行数据传送了。

  参考流程图,我们可以编写对模拟通道0输入的模拟电压进行A/D转换的C语言程序,关键语句如下:

  

  2.主函数流程图

  主函数流程图如图5所示。

  

  编程时应注意,变量vol单位为毫伏。

  因为ADC0809为8位模数转换器,输入模拟电压值为5V,即5000mV,所以分辨率为5000mV/28,因此程序中测量的电压值为采样AD值乘以5000mV/255,再将所得的数依次通过数码管显示。完成后可改变输入直流电压值,观察输入电压的变化情况。

  五、总结

  本方案详细介绍了数字电压表系统的设计,重点介绍了以YL-236亚龙单片机实训装置为平台的硬件连接和软件设计的方案,系统具有转换速度快、高、性能稳定等优点,且电路简单,工作可靠,具有很好的实用价值。(作者:沈小倩,徐自远,盛华)

上一篇:基于FPGA和USB接口的验光仪控制系统设计方案
下一篇:基于uPSD3234的反射式红外心率检测仪的设计方案

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料