数字电压表课程设计报告Word文档下载推荐.doc

上传人:wj 文档编号:7006229 上传时间:2023-05-07 格式:DOC 页数:12 大小:807.50KB
下载 相关 举报
数字电压表课程设计报告Word文档下载推荐.doc_第1页
第1页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第2页
第2页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第3页
第3页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第4页
第4页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第5页
第5页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第6页
第6页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第7页
第7页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第8页
第8页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第9页
第9页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第10页
第10页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第11页
第11页 / 共12页
数字电压表课程设计报告Word文档下载推荐.doc_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字电压表课程设计报告Word文档下载推荐.doc

《数字电压表课程设计报告Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《数字电压表课程设计报告Word文档下载推荐.doc(12页珍藏版)》请在冰点文库上搜索。

数字电压表课程设计报告Word文档下载推荐.doc

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

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

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

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

重点介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。

数字电压表的诞生打破了传统电子测量仪器的模式和格局。

它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。

数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。

数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河。

本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D转换采用ADC0809。

系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。

简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。

模拟式电压表具有电路简单、成本低、测量方便等特点,但测量精度较差,特别是受表头精度的限制,即使采用0.5级的高灵敏度表头,读测时的分辨力也只能达到半格。

再者,模拟式电压表的输入阻抗不高,测高内阻源时精度明显下降。

数字电压表作为数字技术的成功应用,发展相当快。

数字电压表(DigitalVoItMe-ter,DVM),以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。

特别是以A/D转换器为代表的集成电路为支柱,使DVM向着多功能化、小型化、智能化方向发展。

DVM应用单片机控制,组成智能仪表;

与计算机接口,组成自动测试系统。

目前,DVM多组成多功能式的,因此又称数字多用表(DigitalMultiMeter,DMM)。

DVM是将模拟电压变换为数字显示的测量仪器,这就要求将模拟量变成数字量。

这实质上是个量化过程,即将连续的无穷多个模拟量用有限个数字表示的过程,完成这种变换的核心部件是A/D转换器,最后用电子计数器计数显示,因此DVM的基本组成是A/D转换器和电子计数器。

DVM最基本功能是测直流电压,考虑到仪器的多功能化,可将其他物理量,如电阻、电容、交流电压、电流等,都变成直流电压,因此,还应有一个测量功能选择变换器,它包含在输入电路中。

DVM对直流电压直接测量时的测量精度最高,其他物理量在变换成直流电压时,受功能选择变换器精度的限制,测量精度有所下降。

2、工作原理

系统采用12M晶振产生脉冲做8031的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。

利用中断设置单片机的P2.4口取反产生脉冲做8031的时钟信号。

通过键盘选择八路通道中的一路,将该路电压送入ADC0809相应通道,单片机软件设置ADC0809开始A/D转换,转换结束ADC0809的EOC端口产生高电平,同时将ADC0809的EO端口置为高电平,单片机将转换后结果存到片内RAM。

系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;

系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。

3、系统结构框图

4、8031的结构及其功能

在本次课题设计中我们选择了8031芯片。

8031和8051是最常见的mcs51系列单片机,是inter公司早期的成熟的单片机产品,应用范围涉及到各行各业,下面介绍一下它的引脚图等资料。

<

8031管脚图>

4.18031内部结构及其功能概述

8031引脚功能

(1)主电源引脚Vss和Vcc

①Vss接地

②Vcc正常操作时为+5伏电源

(2)外接晶振引脚XTAL1和XTAL2

①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。

当采用外部振荡器时,此引脚接地。

②XTAL2内部振荡电路反相放大器的输出端。

是外接晶体的另一端。

当采用外部振荡器时,此引脚接外部振荡源。

(3)控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp

①RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位

在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。

②ALE/正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。

因此,它可用作对外输出的时钟,或用于定时目的。

但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。

对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)

③外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。

同样可以驱动八LSTTL输入。

④/Vpp、/Vpp为内部程序存储器和外部程序存储器选择端。

当/Vpp为高电平时,访问内部程序存储器,当/Vpp为低电平时,则访问外部程序存储器。

对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。

8031引脚功能:

Vcc:

+5V电源电压。

 

Vss:

电路接地端。

P0.0~P0.7:

通道0,它是8位漏极开路的双向I/O通道,当扩展外部存贮器时,这也是低八位地址和数据总线,在编程校验期间,它输入和输出字节代码,通道0吸收/发出二个TTL负载。

P1.0~P1.7:

通道1是8位拟双向I/O通道,在编程和校验时,它发出低8位地址。

通道1吸收/发出一个TTL负载。

P2.0~P2.7:

通道2是8位拟双向I/O通道,当访问外部存贮器时,用作高8位地址总线。

通道2能吸收/发出一个TTL负载。

P3.0~P3.7:

通道3准双向I/O通道。

通道3能吸收/发出一个TTL负载,P3通道的每一根线还有

☆另一种功能:

P3.0:

RXD,串行输入口。

P3.1:

TXD,串行输出口。

P3.2:

INT0,外部中断0输入口。

P3.3:

INT1,外部中断1输入口。

P3.4:

T0,定时器/计数器0外部事件脉冲输入端。

P3.5:

T1,定时器/计数器1外部事件脉冲输入端

P3.6:

WR,外部数据存贮器写脉冲。

P3.7:

RD,外部数据存贮器读脉冲。

RST/VpD:

引脚9,复位输入信号,振荡器工作时,该引脚上2个机器周期的高电平可以实现复位操作,在掉电情况下(Vcc降到操作允许限度以下),后备电源加到此引脚,将只给片内RAM供电。

ALE/PROG:

引脚30,地址锁存有效信号,其主要作用是提供一个适当的定时信号,在它的下降沿用于外部程序存储器或外部数据存贮器的低8位地址锁存,使总线P0输出/输入口分时用作地址总线(低8位)和数据总线,此信号每个机器出现2次,只是在访问外部数据存储器期间才不输出ALE。

所以,在任何不使用外部数据存贮器的系统中,ALE以1/6振荡频率的固定速率输出,因而它能用作外部时钟或定时,8751内的EPROM编程时,此端输编程脉冲信号。

PSEN:

引脚29,程序选通有效信号,当从外部程序存贮器读取指令时产生,低电平时,指令寄存器的内容读到数据总线上。

EA/VPP:

引脚31,当保持TTL高电平时,如果指令计数器小于4096,8051执行内部ROM的指令,8751执行内部EPROM的指令,当使TTL为低电平时,从外部程序存贮器取出所有指令,在8751内的EPROM编程时,此端为21V编程电源输入端。

XTAL1:

引脚18,内部振荡器外接晶振的一个输入端,HMOS芯片使用外部振荡源时,此端必须接地。

XTAL2:

引脚19,内部振荡器外接晶振的另一个输入端,HMOS芯片使用外部振荡器时,此端用于输入外部振荡信号。

5、显示器

本次设计中有显示模块,常用的显示器件比较多,有数码管,LED点阵,1602液晶,12864液晶等。

数码管是最常用的一种显示器件,它是由几个发光二极管组成的8字段显示器件,其特点是价格非常的便宜,使用也非常的方便,显示效果非常的清楚。

小电流下可以驱动每光,发光响应时间极短,体积小,重量轻,抗冲击性能好,寿命长。

但数码管只能是显示0——9的数据。

不能够显示字符。

这也是数码管的不足之处。

经过性能的比较和根据本设计的要求以及价格的考虑,选择数码管显示器。

单位数码管如图4.4所示。

6、模数(A/D)芯片ADC0809

A/D转换器是模拟量输入通道中的一个环节,单片机通过A/D转换器把输入模拟量变成数字量再处理。

此次设计的是利用逐次逼近式ADC0809进行模数转换。

ADC0809是8位逐次逼近型A/D转换器,它是由一个8路的模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成。

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

些A/D转换器是的特点是8位精度,属于并行口,如果输入的模拟量变化大快,必须在输入之前增加采样电路。

综合上述,逐次逼近型A/D转换既兼顾了转换速度,又具有一定的精度,这里选用的是逐次逼近型的A/D转换芯片ADC0809。

图4.6ADC0809内部结构图4.7ADC0809引脚图

7、8279接口芯片

8279的功能及工作原理

8279是Intel公司生产的通用可编程键盘和显示器I/O接口部件。

利用8279,可实现对键盘/显示器的自动扫描,并识别键盘上闭合键的键号,不仅可以大大节省CPU对键盘/显示器的操作时间,从而减轻CPU的负担,而且显示稳定,程序简单,不会出现误动作,由于这些优点,8279芯片日益被设计者所采用。

8279的引脚及内部结构

(1)I/O控制和数据缓冲器

双向的三态数据缓冲器将内部总线和外部总线DBo—DB7,用于传送CPU和8279之间的命令,数据和状态。

为片选信号。

当为低电平时,CPU才选中8279读写。

A。

用以区分信息的特性。

当A。

为1时,CPU写入8279的信息为命令,CPU从8279读出的信息为8279的状态。

为0时,I/O信息都为数据。

图18279的引脚图

(2)控制逻辑

控制与定时寄存器用以寄存键盘及显示器的工作方式,锁存操作命令,通过译码产生相应的控制信号,使8279的各个部件完成一定的控制功能。

定时控制含有一些计数器,其中有一个可编程的5位计数器,对外部输入时钟信号进行分频,产生100kHz的内部定时信号。

外部时钟输入信号的周期不小于500ns。

(3)扫描计数器

扫描计数器有两种输出方式。

一种为外部译码方式(也称编码方式),计数器以二进制方式计数,4位计数状态从扫描线SL。

~SL3输出,经外部译码器译码出16位扫描线,另一种为内部译码方式(也称译码方式),即扫描计数器的低二位经片内译码器译码后从SL。

一SL3输出。

(4)键输入控制

这个部件完成对键盘的自动扫描,锁存RL。

~RL7的键输入信息,搜索闭合键,去除键的抖动,并将键输入数据写入内部先进先出(FIFO)的存储器RAM。

(5)FIFORAM和显示缓冲器RAM

8279具有8个先进先出(FIFO)的键输入缓冲器,并提供16个字节的显示缓冲器RAM。

8279将段码写入显示缓冲器RAM,8279自动对显示器扫描,将其内部显示缓冲器RAM中的数据在显示器上显示出来。

IRQ为中断请求输出线,高电平有效。

当FIFORAM缓冲器中存有键盘上闭合键的编码时,IRQ线升高,向CPU请求中断,当CPU将缓冲器中的输入键的数据全部读取时,中断请求线下降为低电平;

SHIFT、CNTL/STB为控制键输入线,由内部拉高电阻拉成高电平,也可由外部控制按键拉成低电平。

RL。

~RL7为反馈输入线,作为键输入线,由内部拉高电阻(或称为上拉电阻)拉成高电平,也可由键盘上按键拉成低电平。

SL。

~SL3为扫描输出线,用于对键盘显示器扫描。

OUTB。

-3、OUTA。

-3为显示段数据输出线,可分别作为两个半字节输出,也可作为8位段数据输出口,此时OUTB。

为最低位,OUTA3为最高位。

BD为消隐输出线,低电平有效,当显示器切换时或使用显示消隐命令时,将显示消隐。

RESET为复位输入线,高电平有效。

当RESET输入端出现高电平时,8279被初始复位。

8、硬件原理图

9、c语言程序编写

#include<

Reg51.h>

absacc.h>

#include<

intrins.h>

#defineA_DPORTXBYTE[0x8100]//0809通道0地址

#defineDATXBYTE[0xFF80]//8279数据口地址

#defineCOMXBYTE[0xFF82]//8279状态/命令口地址

#defineucharunsignedchar

#defineuintunsignedint

bitbdatabz=0;

//定义标志

longintval;

ucharidatadiss[4]={0,0,0,0};

//显示缓冲区

ucharcodeledseg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//LED显示常数表

voiddelay(uintz)

{

uintx,y;

for(x=z;

x>

0;

x--)

for(y=110;

y>

y--);

}

//----8279初始化子程序-----

voidinit8279()

COM=0x00;

//置8279工作方式

COM=0x2f;

//置键盘扫描速率

COM=0xc1;

//清除LED显示

delay(200);

//等待清除结束

//-----显示函数-----

voiddisled(d)

ucharidata*d;

uchari;

COM=0x80;

for(i=0;

i<

4;

i++)

{

COM=i+0x80;

DAT=ledseg[*d];

d++;

if(i==3)

{DAT=ledseg[*d]|0x80;

}

//-----显示缓冲区内容显示-----

voiddisp(void)

disled(diss);

//-----显示处理-----

voiddisplay(longsecond)

diss[0]=second%10;

//低位先存

diss[1]=second/10%10;

diss[2]=second/100%10;

diss[4]=second/1000;

disp();

main()

IT0=1;

EX0=1;

EA=1;

delay(100);

//延时

init8279();

while

(1)

{

A_DPORT=val;

//启动A_D

while(bz==0);

//等待A_D转换结束

display(val);

delay(10);

bz=0;

//清读数标志

}

voidint_0(void)interrupt0

val=A_DPORT;

//读A_D数据

val=val*5000/256;

bz=1;

//置读数标志

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2