基于51单片机的数字电压表adc0808多种设计方案单通道、ADC0809双通道、多通道可选

合集下载

基于c51的数字电压表

基于c51的数字电压表

设计要求和条件要求:利用开发板和ADC0809构成一数字电压表,实现对外部多路电压信号的巡回测量和显示,电压范围为0~5V。

条件:开发板、AT89C52、ADC0809设计方案论证(包括设计思路、设计方法、有关计算、图表、程序等。

)主要设计方框图如下:数码管显示单片机处理模数转换电压采集1、主控芯片四、电路设计思路模拟电压经过档位切换后形成七段码,经隔离干扰送到A/D转换器进行A/D 转换,转换成BCD码。

然后送到单片机中进行数据处理。

处理后的数据送到74ls47形成数码管的段选和74ls138形成数码管的位选。

而硬件电路又大体可分为A/D转换电路、LED显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用汇编语言编程,利用Keil和PROTEUS 软件对其编译和仿真。

一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。

我利用数码管与三极管串联作为驱动电路。

本实验采用AT89C52单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表。

该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89C52芯片的P1口。

AT89C52负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P0口传送给数码管。

同时它还通过其三位I/O口P0.4、P0.5、P0.6产生位选信号,控制数码管的亮灭。

另外,AT89C52还控制着ADC0809的工作。

其P3.3管脚为ADC0809提供了1MHz工作的时钟脉冲;P3.5控制ADC0809的地址锁存端(ALE);P3.6控制ADC0809的启动端(START);P3.4控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。

基于51单片机的简易数字电压表的设计单片机

基于51单片机的简易数字电压表的设计单片机

基于51单片机的简易数字电压表的设计单片机————————————————————————————————作者:————————————————————————————————日期:2个人收集整理勿做商业用途甘肃畜牧工程职业技术学院毕业设计题目:基于51单片机的简易数字电压表的设计系部:电子信息工程系专业:信息工程技术班级:学生姓名:学号:指导老师:日期:目录毕业设计任务书 (1)开题报告 (3)摘要 (6)关键词 (7)引言 (7)第一章A/D转换器 (9)1.1A/D转换原理 (9)1.2 ADC性能参数 (11)1.2.1 转换精度 (11)1.2.2。

转换时间......................................... 错误!未定义书签。

1.3 常用ADC芯片概述 (13)第二章8OC51单片机引脚 (14)第三章ADC0809 (16)3。

1 ADC0809引脚功能 (16)3。

2 ADC0809内部结构 (18)3.3ADC0809与80C51的接口 (19)3.4 ADC0809的应用指导 (20)3.4。

1 ADC0809应用说明 (20)3.4.2 ADC0809转换结束的判断方法 (20)3。

4.3 ADC0809编程方法 (21)第四章硬件设计分析 (22)4。

1电源设计 (22)4.2 关于74LS02,74LS04 (22)4。

3 74LS373概述 (23)4。

3。

1 引脚图 (23)4。

3。

2工作原理 (23)4.4简易数字电压表的硬件设计 (24)结论 (25)参考文献 (25)附录.......................................................................................... 错误!未定义书签。

致谢 (29)毕业设计任务书学生姓名专业班级信息工程技术08。

2指导教师论文题目基于51单片机的简易数字电压表的设计研究的目标、内容及方法目标:基于MCS—51单片机,对设计硬件电路和软件程序应用的设计,使用发光二极管来显示所要测试模拟电压的数字电压值。

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

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

基于51单片机的数字电压表设计摘要:文章设计了一种以AT89S51为核心、以ADC0809为A/D转换器的数字电压表,可以精确测量0~5V内直流电压,测量精度可达0.02V。

可以满足科研、测试等各方面的需求。

关键词:AT89S51;ADC0809;数字电压表文章介绍了一种用于测试0~5 V直流电压的数字电压表,通过LED七段管显示当前测试电压。

测试结果准确可信且读取方便,有着传统电压表无可比拟的优点。

1硬件设计本设计中数字电压表主要由:A/D转换电路、单片机控制电路、数字显示电路组成。

总电路图如图1所示。

?譹?訛A/D转换电路选用最为常用的通用A/D芯片ADC0809,它由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。

单片机P3.0接A/D转换器ST端控制A/D转换的启动;单片机P3.1接A/D转换器OE端控制三条输出锁存器向单片机输出转换得到的数据,OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。

单片机P3.2接A/D转换器EOC端接收转换结束信号,当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D转换。

单片机P3.3提供A/D转换器工作所需时钟脉冲;IN0作为电压信号接收通道,经A/D转换后电压数字信号接入单片机P0.0~P0.7。

取5V为基准电压,故待测电压经A/D转换后的数值D=V256/5.0,所以最终LED七段管显示电压V=5.0/256D。

?譺?訛数字显示电路使用一块四位LED七段管,a、b、c、d、e、f、g、dp口分别单片机P1.0~P1.7口分别接七段管a、b、c、d、e、f、g、dp口控制显示值,单片机P2.0~P2.3口分别接七段管S1~S4口控制七段管的点亮。

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

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

摘要随着电子技术的发展,电子测量技术对测量的精度和功能的要求也越来越高,而数字电压表作为实验室的基本测量设备,它可以很好的满足测量精度和功能的要求。

本设计利用AT89S51单片机技术结合A/D转换(采用ADC0809)构建了一个直流数字电压表。

经过对数字电压表基本原理的分析,本文设计了一个以51单片机为核心的数字电压表系统,给出了直流数字电压表的设计流程,设计了电压测量子系统和电流测量子系统,给出了硬件电路的框图、电气原理图和软件流程图。

系统设置了3个键的键盘,用于设定电压、电流切换的功能键、系统复位键以及清零键。

关键词:数字电压表;AT89S51单片机;A/D转换;ADC0809;AbstractAs electronic science and technology development, electronic measurement technology on the accuracy of measurement and functional requirements are increasingly high, and digital voltmeter measurement equipment as the basic laboratory, it can well meet the measuring precision and function requirements. A dc digital voltmeter is built by using AT89S51 with the A/D convertor (ADC0809)in the paper.This paper first introduces the main method and design voltmeter SCM system advantage; Then introduces the design process of dc digital voltmeter, and hardware system and the design of software system, and gives the hardware circuit design system diagram and software system design flow diagram.Keywords: Digital voltmeter; AT89S51MCS; A/D conversion; ADC0809.目录1 绪论 (1)1.1前言 (1)1.2数字电压表的介绍 (1)1.2.1数字电压表的发展概况 (1)1.2.2数字电压表在各领域中的应用 (2)1.2.3数字电压表的优点 (2)1.3单片机的介绍 (3)1.3.1单片机简介 (3)1.3.2单片机的发展概况 (3)1.3.3单片机的应用 (4)1.3.4单片机的特点 (6)1.4课题背景,国内外研究现状 (6)1.5本文主要研究内容 (8)2 数字电压表的工作原理 (9)2.1数字电压表的基本结构 (9)2.2数字电压表的工作原理 (9)2.2.1模数(A/D)转换与数字显示电路 (10)2.2.2多量程数字电压表分压原理 (10)2.2.3多量程数字电压表分流原理 (11)3 硬件系统各模块具体设计及实现 (14)3.1单片机的选择 (14)3.1.1AT89S51的引脚框图 (15)3.1.2AT89S51的内部结构图 (17)3.2A/D转换器的选择 (18)3.2.1ADC0809的引脚结构 (19)3.2.2ADC0809的内部逻辑结构 (21)3.3显示器的选择 (21)3.4键盘的选择 (23)3.5表笔探针设计 (23)4 系统总体方案研究 (25)4.1总体方案确定 (25)4.2系统框图及阐述 (25)4.3ADC0809与AT89S51的连接 (26)4.4键盘与单片机的连接 (27)4.5多量程数字电压表档位切换原理 (28)4.5.1多量程电压的测量 (28)4.5.2多量程电流的测量 (30)5 系统的软件设计 (31)5.1系统软件设计的总体思想 (31)5.2系统单片机的软件设计 (31)5.2.1键盘的处理 (31)5.2.2显示的处理 (31)5.2.3档位切换的处理 (32)6 系统软件流程图 (33)6.1主程序流程图 (33)6.2A/D转换流程图 (34)7 设计总结 (35)参考文献 (36)致谢 (37)附录 (38)1 绪论1.1前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

课程设计---基于ADC0809的数字电压表设计

课程设计---基于ADC0809的数字电压表设计

基于ADC0809的数字电压表设计摘要本电路以ADC0809和AT89S51为核心,该系统有四个模块:数据采集模块、控制模块、显示模块、A/D转换模块,设计中采用ADC0809进行摸数转换,利用MCS-51单片机进行数据的处理,显示模块采用LCD1602液晶显示器显示,采用独立式按键选择单路显示或者8路轮流显示。

能够测量0-5V之间的直流电压值。

读数据准确,测量方便。

误差范围在-0.02~+0.02之间最小分辨率位0.019。

硬件设计应用电子设计自动化工具,软件设计采用模块化编程方法。

关键词:简易数字电压表;AT89S51;ADC0809;LCD1602; 数据处理。

目录第1章系统方案的选择与论证 (1)1.1 设计任务及要求 (1)1.1.1 任务 (1)1.2 简易数字电压表基本方案 (1)1.2.1 模块方案选择与论证 (1)1.2.2 单片机方案选择和论证 (1)1.2.3 A/D模数转换方案的选取 (1)1.2.4 显示方案 (3)1.2.5 输入方案 (3)1.2.6 电源提供方案 (3)1.2.7 系统组成 (4)第2章系统硬件设计与实现 (5)2.1 简易数字电压表基本组成部分 (5)2.2.1 电源电路 (5)2.2.2 复位电路 (5)2.2.3 时钟电路 (6)2.2.4 按键控制 (6)2.2.5 LCD1602 (8)2.2 电路原理图 (10)第3章软件的设计 (11)3.1 程序流程图 (11)3.1.1主总流程图 (11)3.1.2 主要子程序程序流程图 (12)第4章仿真及调试 (18)4.1KEIL C51简介 (18)4.2PROTEUS ISIS简介 (18)4.3测试结果分析 (21)第5章总结 (22)致谢 (23)参考文献 (24)附录 (25)附录1 实物图 (25)附录2 元件清单 (26)附录3 主要程序 (27)第1章系统方案的选择与论证1.1 设计任务及要求●查阅相关的资料,了解电压表的的原理与应用;研究一个比较合理的设计方案,并对其进行理论分析及方案论证。

单片机AT89S51与ADC0809设计一个数字电压表

单片机AT89S51与ADC0809设计一个数字电压表

1.实验任务利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V 之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。

2.电路原理图图1.28.13.系统板上硬件连线a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。

b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。

c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。

d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接。

e) 把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接。

f) 把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接。

g) 把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上。

h) 把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上。

i) 把“单片机系统”区域中的P0.0-P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上。

4.程序设计内容i. 由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。

因此产生CLK信号的方法就得用软件来产生了。

ii. 由于ADC0809的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。

实际显示的电压值(D/256*VREF) 5.汇编源程序(略)6.C语言源程序#include <AT89X52.H>unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};unsigned char dispbuf[8]={10,10,10,10,0,0,0,0};unsigned char dispcount;unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P3^0;sbit OE=P3^1;sbit EOC=P3^2;sbit CLK=P3^3;void main(void){ST=0;OE=0;ET0=1;ET1=1;EA=1;TMOD=0x12;TH0=216;TL0=216;TH1=(65536-4000)/256; TL1=(65536-4000)%256; TR1=1;TR0=1;ST=1;ST=0;while(1){if(EOC==1){OE=1;getdata=P0;OE=0;temp=getdata*235; temp=temp/128;i=5;dispbuf[0]=10;dispbuf[1]=10;dispbuf[2]=10;dispbuf[3]=10;dispbuf[4]=10;dispbuf[5]=0;dispbuf[6]=0;dispbuf[7]=0;while(temp/10){dispbuf[i]=temp%10; temp=temp/10;i++;}dispbuf[i]=temp;ST=1;ST=0;}}}void t0(void) interrupt 1 using 0{CLK=~CLK;}void t1(void) interrupt 3 using 0{TH1=(65536-4000)/256;TL1=(65536-4000)%256;P1=dispcode[dispbuf[dispcount]];P2=dispbitcode[dispcount];if(dispcount==7){P1=P1 | 0x80;}dispcount++;if(dispcount==8){dispcount=0;}}利用单片机AT89S51与ADC0809设计一个数字电压表2008-05-22 14:521.实验任务利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。

基于51单片机和ADC0809多通道模数转换的设计与实现

基于51单片机和ADC0809多通道模数转换的设计与实现

基于51单片机和ADC0809多通道模数转换的设计与实现一、硬件结构
本文采用51单片机作为控制器,ADC0809多通道模数转换芯片作为
输入,用LED显示检测到的数据,通过串口(UART)与电脑端(PC)连接,软件编程实现数据采集和转换。

1.ADC0809芯片
ADC0809是一款8位8通道模拟采样数据转换器,采用多重码轮结构,具有数据校正、自动零点抑制(AZC)和同步数据转换的特点。

多重码轮
结构可提供8位分辨率,给定的数据可在10个微秒内完成转换。

2.51单片机
51单片机是一种8位元的定时器/计算机结构,包括单指令,双指令,程序可编程I/O芯片,具有模拟/数字转换、无线电和控制功能,并具有
多重定时器/计数器,多个PWM管脚和多个外部中断管脚。

它具有低功耗,非常适合多功能控制和自动测试的应用场合。

3.串口
串口(UART)是一种通信接口,它可以将一定的数据传输到电脑端(PC),从而实现两设备之间的通信。

4.LED显示
LED可以将检测到的数据呈现在外观上,以便更好地使用和管理检测
到的数据。

二、实现原理
本文采用51单片机对ADC0809多通道模数转换的四个外部模拟输入采集,经过多通道模数转换。

基于51单片机 ADC0808(ADC0809)多通道数字电压表74HC595(74 LS595)移位寄存器

基于51单片机 ADC0808(ADC0809)多通道数字电压表74HC595(74 LS595)移位寄存器

多路数据采集系统摘要本系统利用现场信号产生器给八路数据采集器(ADC0809)进行提供信号,通过模数转换把哪一路数据多少传送给单片机,通过单片机程序处理显示。

采集方式利用循环采集和选择采集两种,显示部分用四位一体共阳数码管。

一.系统原理ADC0809是CMOS工艺、采用逐次逼近法的8位A/D转换芯片,28引脚DIP(双列直插式封装)封装,可以进行8路模拟量到数字量的变换。

利用单片机可以对8路进行循环采集显示,要对信号进行选择采集,只对单片机外围加入按键利用按键判别选取哪一路进行数据采集。

通过单片机P3.0~P3.3进行对ADC0809提供时钟信号还有启动转换信号,读取信号等。

P3.5~P3.8经74LS373(带三态缓冲输出的8D触发器)进行选择通道(如图1、图2)。

(此处选择74LS373是因为选择通道是不能太快,否则会出错)。

由P1口进行接收采集到的数据。

通过P0进行段选输出到数码管,由P2口低四位进行位选。

P2高四位对按键信号输入处理选择哪个通道。

图1 ADC0809通道选择表图2 74LS47功能图图3 系统原理框图二.系统程序框图系统为了提高模拟信号—采样—量化—数字信号的过程的量化误差,通过程序的计算提高精度。

由于ADC0809只有八位数据输出,最大值为255,所以再显示前在单片机中要对ADC0809输出的数据进行以下处理。

显示值=ADC0809输出值/255*输入值如果输入5V电压,后面输入值就是500。

提供仿真图和仿真程序三.系统原理图原理图中八个数据采集口都悬空,接入想要采集模拟信号。

四.系统PCB图五.系统主要操作与性能(1)循环采样速率:50ms(2)电压采样精度:0.01V(3)再选择哪个通道时,要把哪个通道的按键一直按住就可以显示出你要的哪个通道的数据。

(4)不选择任一通道时,就会让它自已自动循环显示。

基于51单片机之ADC0808电压显示

基于51单片机之ADC0808电压显示
物理与电子工程学院
基于 51 单片机之 ADC0808 电压显示
指导老师: 姓 名: 学 号: 班 级:
ADC0809 中文资料
ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控 制逻辑的 CMOS 组件。它是 逐次逼近式 A/D 转换器,可以和单片机直接接口。
(1)ADC0809 的内部逻辑结构
数字量T 上跳沿时,所有内部寄存器清零;下跳沿时, 开始进行 A/D 转换;
在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电 平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允许信号, 用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到 的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。CLK 为 时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号必须由外 界提供,通常使用频率为 500KHZ,VREF(+),VREF(-)为参考电压输入。
由下图可知,ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、 一个 A/D 转换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道, 允许 8 路模拟量分时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转 换完的数据。
(2). ADC0809 引脚结构
ADC0809 各脚功能如下: D7-D0:8 位数字量输出引脚。 IN0-IN7:8 位模拟量输入引脚。 VCC:+5V 工作电压。 GND:地。 REF(+):参考电压正端。 REF(-):参考电压负端。 START:A/D 转换启动信号输入端。 ALE:地址锁存允许信号输入端。 (以上两种信号用于启动 A/D 转换). EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电 平。 OE:输出允许控制端,用以打开三态数据输出锁存器。

基于AT89C51单片机的简易数字电压表设计

基于AT89C51单片机的简易数字电压表设计

基于AT89C51单片机的简易数字电压表设计摘要本论文给出基于单片机的简易数字电压表设计,控制系统采用AT89C51单片机,A/D转换器采用ADC0809为主要硬件,实现数字电压表的硬件电路与软件设计。

数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。

关键词:数字电压表;单片机;AT89C51; ADC0809;1 引言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。

目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法, 避免了读数的视差和视觉疲劳。

目前数字电压表的内部核心部件是A/D转换器, 转换器的精度很大程度上影响着数字电压表的准确度,本文A/D转换器采用ADC0809对输人模拟信号进行转换, 控制核心AT89C51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。

数字式电压表是由高阻抗电压表头与分压电路组成的。

数字式电压表头的等效输入电阻通常在200M欧以上,满量程时所流经的电流通常在1皮安左右。

以上述表头制成的数字式电压表,满量程时所流经的电流与量程有关,通常在1皮安至100微安之间。

数字电压表(数字面板表)是当前电子、电工、仪器、仪表和测量领域大量使用的一种基本测量工具有关数字电压表的书籍和应用已经非常普及了。

利用51单片机与ADC0809和数码管设计数字电压表

利用51单片机与ADC0809和数码管设计数字电压表

利用51单片机与ADC0809和数码管设计数字电压表一、课题功能描述:利用单片机AT89C51 芯片与ADC0809 芯片设计一个数字电压表,能够测量0―5V 之间的直流电压,三位数码显示。

二、程序设计本实验采用AT89C51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简易的数字电压表,原理电路如图1-1 所示。

该电路通过 ADC0809 芯片采样输入口AI0 输入的0~5V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7 传送给 AT89C51 芯片的F0口。

AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过P1 口传送给数码管。

同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位片选信号,控制数码管的亮灭。

另外,AT89C51 还控制着 ADC0809 的工作。

其ALE管脚为 ADC0809提供了 1MHZ 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE); P2.4 控制 ADC0809 的启动端(START); P2.5 控制 ADC0809 的输出允许端(OE); P3.7 控制 ADC0809 的转换结束信号(EOC)。

电路原理图如下:三、器件清单:1 . AT89S51 芯片 1块2 . ADC0809 芯片 1块3 . 74HC245 芯片 1块4 . 数码管 1个5 . 6MHZ 晶振 1个6 . 30pF 电容 2个7 . 10uF 电解电容 1个8 . 复位电容 1个9 . 510Ω电阻 8个10. 10KΩ电阻 1个11. 导线若干四、程序设计1、主程序设计由于ADC0809 在进行A/D转换时需要有CKL 信号,而此时的 ADC0809 的CLK 是连接在 AT89C51 单片机的30管脚,也就是要求从30管脚输出CLK 信号供图1-2主程序流程图ADC0809 使用。

基于AT89C51和ADC0809简易数字电压表的设计

基于AT89C51和ADC0809简易数字电压表的设计

基于AT89S51的简易数字电压表的设计摘要:本课题是利用单片机设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。

外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。

然后由单片机给数码管数字信号,控制其发光,从而显示数字。

此外,本文还讨论了设计过程中的所用的软件硬件环境,调试所出现的问题等。

关键词:单片机; AT89S51;数字电压表; ADC0809,四位数码管任务书1.设计题目基于AT89S51的简易数字电压表的设计。

2.设计内容与要求用AT89S51单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。

3,。

设计目的意义(1).通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。

(2).通过数字电压表的设计系统掌握51单片机的应用。

掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。

目录一、系统原理框图二、AT89S51的结构三、器件的比较与选择四、系统硬件及仿真图五、相关软件简介六、程序流程图与源程序七、数字电压表发展及未来八、设计体会九、参考文献基于AT89S51的简易数字电压表的设计第一章系统原理框图选择AT89S51作为单片机芯片,选用四位8段共阴极LED数码管实现电压显示,利用ADC0809作为数模转换芯片。

将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。

P2口接数码管位选,P1接数码管,实现数据的动态显示,如图4.1所示。

图4.1 系统原理框图第二章: AT89S51的结构在本次课题设计中我们选择了AT89S51芯片。

51汇编之ADC0809数字电压表

51汇编之ADC0809数字电压表

51汇编之ADC0809数字电压表2009年10月13日星期二 23:29这两天,一个网友用ADC0832采样并PC机处理,一个网友用ADC0809采样显示,都遇到点问题,我给过参考例程也解释过,但是他们在调试上还有问题。

这里把网友沙漠狂风的ADC0809采样显示部分调试好了。

关于ADC0809的资料,这里就不给出了,网上很多。

由于仿真软件里的ADC0809元件有问题,这里用ADC0808代替,它和ADC0809区别很小。

;########################################################;********************************************************;程序名称: ADC0808电压表;主控芯片: 89c51 ,12MHZ,(ADC0808,共阴极数码管);程序编写者:buyixin (不亦心);编写时间: 2009年10月13日 22:24;不亦心的博客:/不亦心/;********************************************************;########################################################OE BIT P3.0 ;ADC0808的OE端EOC BIT P3.1 ;ADC0808的EOC端ST BIT P3.2 ;ADC0808的START和ALE端ADD0 BIT P3.4 ;ADC0808的模拟输入选择端ADD1 BIT P3.5ADD2 BIT P3.6LED_0 DATA 30H ;显示缓冲区LED_1 DATA 31HLED_2 DATA 32HLED_3 DATA 33HADC DATA 34H ;存放转换后的数据;//////主程序开始////////////////////////////////////////ORG 0000HAJMP STARTORG 0030H;------初始化-----------------------------------START: MOV SP,#60H ;设置堆栈MOV LED_0,#00H ;清空显示缓冲区MOV LED_1,#00HMOV LED_2,#00HMOV LED_3,#00HMOV DPTR,#TABLE ;送字型码表首地址SETB ADD0SETB ADD1CLR ADD2 ;选择ADC0808的通道3;------ADC0808转换------------------------------WAIT: CLR STSETB STCLR ST ;启动转换JNB EOC,$ ;等待转换结束SETB OE ;允许输出MOV ADC,P1 ;暂存转换结果CLR OE ;关闭输出;------数据处理,已备显示------------------------MOV A,ADC ;将AD转换结果转换成BCD 码MOV B,#0C3H ;乘以19.5MVMUL ABMOV R7,AMOV R6,BHB2: CLR A ;BCD码初始化CLR CMOV R3,AMOV R4,AMOV R5,AMOV R2,#10H ;转换双字节十六进制整数HB3: MOV A,R7 ;从高端移出待转换数的一位到CY中RLC AMOV R7,AMOV A,R6RLC AMOV R6,AMOV A,R5 ;BCD码带进位自身相加,相当于乘2ADDC A,R5DA A ;十进制调整MOV R5,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,A ;双字节十六进制数的万位数不超过6,不用调整DJNZ R2,HB3MOV A,R5SWAP AANL A,#0FHMOV LED_0,AMOV A,R4ANL A,#0FHMOV LED_1,AMOV A,R4SWAP AANL A,#0FHMOV LED_2,AMOV A,R3ANL A,#0FHMOV LED_3,ALCALL DISP ;调用显示子程序AJMP WAIT;//////数码管显示子程序///////////////////////////////////////////////DISP: MOV A,LED_0 ;数码显示子程序MOVC A,@A+DPTRCLR P2.3MOV P0,ALCALL DELAYSETB P2.3MOV A,LED_1MOVC A,@A+DPTRCLR P2.2MOV P0,ALCALL DELAYSETB P2.2MOV A,LED_2MOVC A,@A+DPTRCLR P2.1MOV P0,ALCALL DELAYSETB P2.1MOV A,LED_3MOVC A,@A+DPTRCLR P2.0MOV P0,ASETB P0.7LCALL DELAYSETB P2.0RET;//////延时子程序////////////////////////////////////DELAY: MOV R6,#0AH ;延时5毫秒D1: MOV R7,#0FAHDJNZ R7,$DJNZ R6,D1RET;//////数码管字形码表/////////////////////////////////TABLE: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH;/////程序结束////////////////////////////////////////END硬件部分:仿真的时候,ADC0808时钟端,我直接加的500KHZ的方波,实际中一般有单片机的ALE 端取时钟信号。

使用ADC0809制作数字电压表

使用ADC0809制作数字电压表
{
LCD1602_WrCom(0x38); //8位数据,双列,5*7字形
LCD1602_WrCom(0x0c); //开启显示屏,关光标,光标不闪烁
LCD1602_WrCom(0x06); //显示地址递增,即写一个数据后,显示位置右移一位
LCD1602_WrCom(0x01); //清屏
LCD1602_WrCom(0x80); //先写入空白,不然不能直接写第二行
LCD1602_WrCom(0x80+pos); //显示地址设为80H+起始位置
else
LCD1602_WrCom(0x80+0x40+pos); //显示地址设为80H+起始位置
LCD1602_Delay(5);
LCD1602_WrData(txt);
return 0;
}
uchar LCD1602_ShowNum(uchar line, ucharpos,uintnum)
for(i=0;i<5;i++)
{
if(num/tenPower || zero || i==4)
{
LCD1602_WrData('0'+num/tenPower);
zero=1;
}
else
{
LCD1602_WrData(' ');
}
LCD1602_Delay(1);
num%=tenPower;
tenPower/=10;
Delay(5);
DCSTARTPIN=1 ;
Delay(20);
DCSTARTPIN=0;
while(DCEOCPIN==0)
;

基于51单片机的电压表的设计

基于51单片机的电压表的设计

引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础[2]。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[3]。

数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC化),另一方面,精度也从0.01%-0.005%。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[4]。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。

其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[5]。

1 设计总体方案1.1设计要求:完成系统的硬件电路设计与软件设计; 采用汇编或C 语言编程;采用Proteus 、KeilC 等软件实现系统的仿真调试。

基于ADC0808电路设计的数字电压表

基于ADC0808电路设计的数字电压表

基于ADC0808/0809数字电压表的设计(下节试验制作万年历)作成:宗茂伟先看先成品电路:摘要:本文主要介绍基于单片机8051和ADC0808数模转换电路的制作目的:深入的学习软件的编写,初步的学习ADC电路在实际电路中的应用,加强动手能力。

从实际的电路学习联想到实际车载平台的应用。

一、设计思路:⑴根据设计要求,选择AT89C51单片机为核心控制器件。

⑵A/D转换采用ADC0808实现,与单片机的接口为P1口和P2口的高四位引脚。

⑶电压显示采用4位一体的LED数码管。

⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。

二:硬件平台:三、硬件介绍:STC8052就不用说了,下面主要说说ADC0808现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。

双积分式A/D 转换器具有抗干扰能力强、转换精度高、价格便宜等优点。

与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。

一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用[1]。

逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。

它利用内部的寄存器从高位到低位一次开始逐位试探比较。

转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量[5]。

基于51单片机的数字电压表

基于51单片机的数字电压表

电子报/2008年/4月/20日/第014版智能电子基于51单片机的数字电压表山东曹彦平马庆勇本文介绍的数字电压表,利用A/D转换原理将被测模拟量转换成数字量,并通过控制系统用数字方式显示测量结果。

本设计采用AT89C51单片机,ADC0809进行模/数转换,能够测量8路0~5V的输入电压值,可用四位LED数码管轮流或单路显示测量结果。

其最小分辨率约为0.019V,测量误差小于0.02V。

一、系统简介本系统分为主控电路、显示电路、A/D转换电路、键盘控制电路、电源电路及复位电路等,系统框图如图1所示。

二、硬件电路设计本系统采用AT89C51单片机作为控制核心,对8路模拟电压信号经8位A/D转换芯片ADC0809转换成数字信号后,送单片机进行处理,然后通过数码管显示其电压值。

电路原理见图2。

ADC0809有8路模拟输入口IN0~IN7,通过地址线(23)~(25)脚选择其中一路进行A/D转换。

(22)脚为地址锁存控制,高电平有效。

⑥脚为测试控制,当输入一个2μs正脉冲时,启动A/D转换。

⑦脚为A/D转换结束标志,当A/D转换结束时,⑦脚输出高电平。

⑨脚为A/D转换数据输出允许控制端,当⑨脚为高电平时,A/D转换数据从MSB2-1~MSB2-8输出。

⑩脚为时钟输入端,利用单片机ALE脚的六分频再通过74LS74构成的四分频得到500kHz时钟。

AT89C51的P2、P0.4~P0.7口作为数码管显示控制,采用动态显示方式显示测量的数字电压值和通道号。

P0.0口用作单路显示/循环显示转换按钮,P0.1口用作单路显示时通道选择按钮。

P1口作A/D转换数据输入,P3.0-P3.6口用作ADC0809的控制。

三、系统软件设计本系统软件由显示控制子程序、显示数据处理子程序、8路电压采集子程序、键盘处理子程序等组成,采用汇编语言编程。

1.主程序流程如图3所示。

2.显示控制子程序测量的A/D转换数据放在RAM70H~77H中,测量数据转换成的BCD码放在7AH~7DH中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于ADC0809的数字电压表
摘要:数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表,是诸多数字化仪表的核心与基础,以数字电压表为核心,可以扩展成各种通用数字仪表,专用数字仪表一级各种非电量的数字化仪表几乎覆盖了电子电工测量、工业测量、自动化仪表等各个领域,它的应用已经非常普及了,数字电压表的主要技术指标在:测量范围,显示位数,测量速度,分辨率等方面。

本文是一基于单片机的数字电压表设计为研究内容。

首先对数字电压表作了简单的介绍、接着对A/D转换器作了解、单片机AT89C51与ADC0809的数字电压表的制作原理和系统设计,主要介绍了数字电压表的硬件电路、软件电路和利用Proteus仿真软件进行仿真等内容,以及设计的数字电压表的实用价值和优点。

关键词:AT89C51 ADC0809 A/D转换器 Proteus仿真软件
基于ADC0808与ADC0809的数字电压表有多种设计方案
第一种,最基础的一通道,数据进行处理显示0.00——5.00V
第二种,双通道,数据进行处理显示0.00——5.00V,可先择某一通道显示,可以选择两通道循环显示。

第三种,多通道,数据进行处理显示0.00——5.00V,多通道循环显示。

第四种,多通道,数据进行处理显示0.00——5.00V,可切换单通道显示与多通道循环显示。

(二)系统的主要模块
根据设计要求,系统可以分为A/D转换模块、接口模块、显示模块。

1. A/D转换模块
采用ADC0809转换芯片,其中A/D转换器用于实现模拟量向数字量的转换,单电源供电。

它是具有8路模拟量输入、8位数字量输出功能的A/D转换器,转换时间为100us,模拟输入电压范围为0V~5V,不需要零点和满刻度校准,功耗低,约15mW。

2. 接口模块
采用AT89C51单片机作为系统的控制单元,通过A/D转换将被测量转换为数字量送入单片机中,再由单片机产生显示码送入显示模块显示。

此方案各种功能易于实现,成本低、功耗低,显示稳定。

3.方案设计的基本思路
设计主要采用AT89C51单片机芯片和ADC0809模/数转换芯片来完成一个简易的数字电压表,能够对输入的0V~5V的模拟直流电压进行测量。

设计电路主要通
过ADC0809芯片的8路采样输入口IN0~IN7其中的一路输入的0V ~5V 的模拟量电压,产生相应的数字量经过其输出通道D0~D7传送给AT89C51芯片的P0口,模拟通道的选择由3个拨码开关来手动控制。

该电压表的测量电路主要由三个模块组成:A/D 转换模块、数据处理模块及显示控制模块。

A/D 转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。

数据处理则由芯片AT89C51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示。

显示模块主要由7段数码管及相应的驱动电路组成,显示测量到的电压值。

系统总体框图设计如图1所示:
图1 系统总体框图 设计单片机中的I/O 口都用做普通的输入输出口。

由P0端口接受ADC0809送来的二进制数值,由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,因此在P0口加上拉电阻。

接上拉电阻是起到提供电流的作用,如果接P1、P2、P3端口就不用外接电源和电阻了。

P1口是数码管数值输出口,P3.2、P3.3、P3.5口分别作为数码管的位驱动口。

转换结束状态信号EOC 接P3.7口,输出允许信号OE 接P2.2口,启动转换信号START 接P2.3口,地址锁存允许信号ALE 接P2.5口,由低至高电平正跳变时将通道地址锁存至地址锁存器中。

为了得到ADC0809的时钟信号,在设计中,利用了单片机的ALE 端口。

ALE/PROG :地址锁存控制信号(ALE )是访问外部程序存储器时,锁存低8位地址的输出脉冲。

设计中单片机的振荡脉冲频率为12MHz ,而ALE 以晶振六分之一的固定频率输出脉冲, 为了得到1MHz 的时钟频率,在电路中采用了74LS74带预置和清除端的双D 触发器74LS74,通过总原理图的接法,可以得到二分频器,连接至ADC0809的ALE 端,即可得到1MHz 的脉冲频率,满足ADC0809转
换的时钟脉冲。

相关文档
最新文档