基于YL—236单片机实训装置的数字电压表的制作

点赞:4934 浏览:11861 近期更新时间:2024-03-16 作者:网友分享原创网站原创

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

【关 键 词】AT89C51单片机;数字电压表;A/D转换

一、引言

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

二、总体方案

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

图1系统设计方案

三、硬件部分

1.转换芯片ADC0809

ADC0809具有8路模拟输入端口,8路模拟开关分时选通8个模拟通道,转换后的8位数字量锁存到三态输出锁存器中,在输出允许的情况下,可以从8条数据线D7~D0上读出,并可直接与单片机接口相连[3].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的采样通道.

图2ADC0809接口电路

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端,对数码管进行动态扫描显示.

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

四、软件部分

1.AD转换

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

图4A/D转换程序流程图

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

(1)定时传送方式;

(2)查询法;

(3)中断控制法.

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

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

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

/***********端口定义**************/

基于YL—236单片机实训装置的数字电压表的制作参考属性评定
有关论文范文主题研究: 关于单片机实训的论文范文素材 大学生适用: 研究生毕业论文、自考毕业论文
相关参考文献下载数量: 60 写作解决问题: 毕业论文怎么写
毕业论文开题报告: 论文提纲、论文前言 职称论文适用: 杂志投稿、初级职称
所属大学生专业类别: 毕业论文怎么写 论文题目推荐度: 免费选题

sbitADCS等于P2^5

sbitADWR等于P3^6

sbitADRD等于P3^7

/********AD转换子函数*************/

voidad(void)//读出AD输出的值

{

ADCS等于0;//选择通道

delay(10);//延时10ms等待转换完成

P0等于255;//将P0置为高电平,准备读取数据

vol等于ADCS;//将转换结果存放到变量vol中

}

2.主函数流程图

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

图5数字电压表程序流程图

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

五、总结

本文详细讨论了数字电压表系统的设计,重点介绍了以YL-236亚龙单片机实训装置为平台的硬件连接和软件设计的方案,系统具有转换速度快、精度高、性能稳定等优点,且电路简单,工作可靠,具有很好的实用价值.