智能化DVM的设计.docx
- 文档编号:23424381
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:19
- 大小:255.85KB
智能化DVM的设计.docx
《智能化DVM的设计.docx》由会员分享,可在线阅读,更多相关《智能化DVM的设计.docx(19页珍藏版)》请在冰豆网上搜索。
智能化DVM的设计
第一章设计任务书
1.1设计名称
智能化DVM的设计
1.2设计技术指标与要求
A、测量范围
量程:
0~5V;0~50V;0~500V
显示位数:
二位半
B、分辨力:
0.01V
C、测量速率:
2次/秒
D、量程选择方式:
手动选择量程
1.3产品说明
数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本章重点介绍单片A/D转换器以及由它们构成的基于单片机的数字电压表的工作原理。
数字电压表简称DVM(DIGlTALVOLTMETER)。
DVM的问世,以其功能齐全、精度高、灵敏度高、显示直观等突出优点深受用户欢迎。
特别是以A/D变换器为代表的集成电路为支柱,使DVM向着多功能、小型化、智能化方向发展。
本产品主要是手动选择量程式的数字电压表,本次产品设置了四个按键,一个按键是复位按键,另外三个则是进行量程切换的用的,通过按键的选择,将量程自动切换到0~5V;0~50V;0~500V三个不同的档位,最后再将所测得的电压值通过四位数码管显示出来。
第二章系统原理及基本框图
DVM是将模拟电压变换为数字显示的测量仪器,这就要求将模拟量变成数字量。
这实质上是个量化过程,即连续的无穷多个模拟量用有限个数字表示的过程,完成这种变换的核心部件是A/D变换器。
如图2.1所示,当模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理,处理后的数据送到LED中显示。
具体电路原理图见附录。
图2.1系统基本方框图
第三章硬件电路的设计
3.1输入电路
由于AD0809在电压测量值方面有一定的局限性,所以需要在输入接口介入一个分压电路,将超出量程范围的电压转化为AD0809所能够转换的量程之内。
在第一个档位即0~5V时,由于在AD0809所能测得的范围之内故股不需要进行分压设置。
其他两个档位分压电路如图3.1所示。
图3.1分压电路
如上图所示,IN1、IN2接口是用来输出分压之后的电压,根据具分压公式可得IN1、IN2输出约为0-4.54V。
3.2A/D转换电路
3.2.1ADC0809的结构及原理
ADC0809采用逐次逼近法驱动电路,并自带了寄存器,可以不附加取样保持电路,因为比较器和寄存器这两部分兼有取样保持功能。
其引脚如图3.2所示,其主要的技术指标如下:
电源电压5V
分辨率8位图3-2AD0809引脚图
时钟频率640kHz
转换时间100μs
未经调整误差1/2LSB和1LSB
模拟量输入电压范围0-5V
功耗15mW
图3.3AD0809内部原理框图
图3.3为ADC0809内部原理框图,由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
ADC0809A/D转换芯片主要管脚功能如表3-1所示。
符号
引脚号
功能
IN0-IN7
26-28,1-5
为8个通道模拟量输入线
ADDA
ADDB
ADDC
25-23
多路开关地址选择线。
A为最低位,C为最高位,通常分别接在地址线的低3位
2-8-2-1
17,14,15,8
18-21
8位数字量输出结果
ALE
22
地址锁存有效输入线。
该信号上升沿把ADDA,ADDB,ADDC,3选择线的状态锁存入多路开关地址寄存器
START
6
启动转换输入线。
该信号上升沿清除ADC的内部寄存器而在下降沿启动内部控制逻辑,开始A/D转换工作
EOC
7
转换完成输出线。
当EOC为1时表示转换已完成
CLOCK
10
转换定时时钟输入线。
其频率不能超过640kHz
OE
9
允许输入线。
在OE为“1”时,三态输出锁存器脱离三态,把数据送往总线。
±VREF
12,16
参考电压输入线
VCC
11
接VCC
GND
13
接GND
表3-1管脚功能如表
ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表3-2所示。
C
B
A
选择的通道
0
0
0
IN0
0
0
1
IN1
0
1
0
IN2
0
1
1
IN3
1
0
0
IN4
1
0
1
IN5
1
1
0
IN6
1
1
1
IN7
表3-2通道选择表
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。
3.2.2ADC0809应用说明
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。
(4)在ST端给出一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
3.2.3AD0809与单片机连接电路
如图3.4为AD0809与单片机连接电路图。
图3.4AD0809与单片机连接电路
3.3复位电路
单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在RESET引脚上出现高电平时,单片机便实现状态复位。
MCS52单片机通常采用上电自动复位和按钮复位两种方式:
(一)上电自动复位是通过外部复位电路的电容充电来实现,这样,只要电VCC的上升时间不超过1ms,就可以实现
上电自动复位。
(二)按键手动复位有电平方式和脉
冲方式两种,其电平复位是通过使复
位端通过VCC电源与电阻接通来实现
的,而脉冲复位则是利用了RC微分电
路产生的正脉冲来实现的。
本设计选
用上电与按键均有效的复位电路,它
不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作,如图3.5所示。
单片机的RST引脚是复位信号的输入端,此时上电/按键瞬间RESET引脚获得高电平,随着电容的充电,RERST引脚的高电平只要能保持在2个机器周期以上,单片机就可以完成复位操作。
3.4时钟振荡电路
在MCS—51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就过够成了一个稳定的自激振荡器。
单片机的时钟信号通常有两种方式产生:
一是内部振荡方式;二是外部时钟方式。
在此设计过程中我采用了内部振荡方式,如图3.6所示:
初使用晶体振荡器外,如对时钟频率要求高,还可以用电感或陶瓷振荡器代替。
电路中的电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,C1和C2的取值一般为30pF左右,而晶体振荡频率范围通常是1.2-12MHz,振荡频率高,则系统的时钟频率也高,单片机运行速度也就快,同时也对印制电路板的工艺要求也高了。
3.5量程切换电路
由于本课题采用的是手动切换测量电压的量程,因而需要用到键盘来手动控制量程的切换。
键盘、显示是单片机应用系统不可缺少的输入和输出设备,是实现人机对话的纽带。
键盘/显示器接口的设计,它应满足
(1)功能技术要求;
(2)可靠性高。
但系统不同要求就不同,接口设计也就不同。
对一个键盘/显示器接口设计应从整个系统出发,综合考虑软、硬件特点。
在应用系统设计中,一般都是把键盘和显示器放在一起考虑。
由于本次设计选用的是独立式键盘,故此主要介绍独立式键盘。
独立式按键:
直接用I/O线构成的单个按键电路,每个独立式按键单独占用一根I/O口线,每根I/O口线上的按键工作状态,独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线。
在按键数量较多时,I/O口线浪费较大。
故在按键较小时,采用此电路如图3.7示。
图3.6独立式键盘
图3.7独立式键盘
3.6显示电路
本课题选用数码管作为其输出显示设备,以下主要介绍数码管的主要原理。
常用的七段显示器件:
半导体数码管将十进制数码分成七个字段,每段为一发光二极管。
半导体数码管(或称LED数码管)的基本单元是PN结,目前较多采用磷砷化镓做成的PN结,当外加正向电压时,就能发出清晰的光线。
单个PN结可以封装成发光二极管,多个PN结可以按分段式封装成半导体数码管,其管脚排列如下图3.8所示,其显示如图3.9所示。
图3.8半导体显示器
(左)管脚排列图;(中)共阴极接线图;(右)共阳级接线图
图3.9数码管显示器发光段组合图
第四章系统仿真
4.1系统仿真图
注:
图为当输入为当按键三按下时,且输入为200V时的状态
图A图B
如上图所示,A图为按键1按下时,当输入为0.5V示的状态。
图B为按键2按下时,输入为49.5V示的状态。
附录
元件清单
类型
数量
说明
电阻
4个
1K
3个
4.7K
1个
100K
8个
470
1个
10K
电容
1个
22uf
2个
33pf
单片机
1块
AT89S52
AD
1块
AD0809
二极管
5个
发光二极管
数码管
1个
四位
三极管
7个
PNP
按键
4个
开关
1个
下载口
1个
ISP下载口
程序清单
#include
#defineuintunsignedint
#defineucharunsignedchar
sbitOE=P2^6;
sbitST=P2^7;
sbitk1=P3^0;
sbitk2=P3^1;
sbitk3=P3^2;
sbita=P3^3;
sbitb=P3^4;
sbitc=P3^5;
sbitCLK=P3^6;
sbitEOC=P3^7;
uchartt;
ucharaa;
ucharmm;
floatdy;
floatgetdata;
uchardisbuf[]={0,0,0,0};
ucharcodeweima[]={0x08,0x04,0x02,0x01};
ucharcodeduanma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xc1,0x7f};
ucharcodeduanma1[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
ucharkeyscan();
voiddelay(uintm)
{
while(--m);
}
voiddisplay1(void)
{
uchari;
intj;
disbuf[0]=dy/10.0;
j=dy;
disbuf[1]=j%10;
dy=dy*10;
j=dy;
disbuf[2]=j%10;
P2=weima[0];
P1=duanma[disbuf[0]];
delay(100);
P2=weima[1];
P1=duanma[disbuf[1]];
delay(100);
P2=weima[2];
P1=duanma1[disbuf[2]];
delay(100);
}
voiddisplay2(void)
{
uchari;
uintj;
dy=dy*10.1;
j=dy;
disbuf[0]=j/100;
disbuf[1]=j%100/10;
disbuf[2]=j%10;
disbuf[3]=10;
for(i=0;i<4;i++)
{
P2=weima[i];
P1=duanma[disbuf[3-i]];
delay(100);
}
}
voiddisplay3(void)
{
uchari;
uintj;
j=dy*10;
disbuf[0]=j/100;
disbuf[1]=((j%100)/10);
disbuf[2]=j%10;
for(i=0;i<3;i++)
{
P2=weima[i];
P1=duanma[disbuf[0]];
delay(10);
P2=weima[1];
P1=duanma1[disbuf[1]];
delay(10);
P2=weima[2];
P1=duanma[disbuf[2]];
delay(10);
}
}
floatAD0809(void)
{
ST=1;
ST=0;
while(EOC!
=1);
OE=1;
getdata=P0;
OE=0;
return(getdata*50/255.0);
}
ucharkeyscan(void)
{
if(k1==0)
{
delay(10);
if(k1==0){while(!
k1);tt=1;}
}
if(k2==0)
{
delay(10);
if(k2==0){while(!
k2);tt=2;}
}
if(k3==0)
{
delay(10);
if(k3==0){while(!
k2);tt=3;}
}
returntt;
}
voidinit(void)
{
TMOD=0x02;
TH0=255;
TL0=255;
ET0=1;
TR0=1;
EA=1;
}
voidt0(void)interrupt1using1
{
CLK=~CLK;
}
voidmain(void)
{
init();
while
(1)
{dy=AD0809();
aa=keyscan();
switch(aa)
{
case1:
a=0;b=0;c=1;mm=1;display1();
break;
case2:
a=0;b=1;c=0;mm=0;display3();
break;
default:
a=1;b=0;c=0;mm=2;display2();
break;
}
}
}
系统原理图
PCB图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能化 DVM 设计