数据采集电路设计.docx

上传人:b****6 文档编号:5991671 上传时间:2023-01-02 格式:DOCX 页数:11 大小:227.08KB
下载 相关 举报
数据采集电路设计.docx_第1页
第1页 / 共11页
数据采集电路设计.docx_第2页
第2页 / 共11页
数据采集电路设计.docx_第3页
第3页 / 共11页
数据采集电路设计.docx_第4页
第4页 / 共11页
数据采集电路设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数据采集电路设计.docx

《数据采集电路设计.docx》由会员分享,可在线阅读,更多相关《数据采集电路设计.docx(11页珍藏版)》请在冰豆网上搜索。

数据采集电路设计.docx

数据采集电路设计

电气工程学院课程设计

数据采集电路的设计

 

学生姓名韩章强

学号**********

学院电气工程学院

指导老师雷继海

专业测控技术与仪器

答辩日期

测控电路课程设计任务书

一、设计目的

根据常用的电子技术知识,以及可获得技术书籍与电子文档,初步形成电子设计过程中收集、阅读及应用技术资料的能力;熟悉电子系统设计的一般流程;掌握分析电路原理及对主要技术性能进行测试的常见方法;使学生学会使用电路仿真分析软件(Multisim)在计算机上进行电路设计与分析的方法。

二、任务与要求

设计一个数据采集电路,满足以下条件:

1.结合单片机的课程,选用ADC0808A/D转换器,采集输入实时电压,用四位的共阴数码管显示,并设计完整电路以及程序,仿真调试。

2.设计的精度为小数点后两位,输入电压的范围是0-5v,要求电路图简单合理。

三、进程安排

1.布置任务、查阅资料,方案设计 

根据设计要求,查阅参考资料,进行方案设计及可行性论证,确定设计方案, 

2.上机在Multisim境下按要求进行设计。

3.总结报告  

四、所需调试工具

Keil和Multisim软件。

 

 

摘要:

数据采集与显示系统是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。

然后利用处理器处理,最后在显示出来。

数据采集与显示技术广泛应用在各个领域。

被采集数据是已被转换为电讯号的各种物理量,如电压、温度、水位、风速、压力等,可以是模拟量,也可以是数字量。

采集的数据大多是瞬时值,也可是某段时间内的一个特征值。

准确的数据测量是数据采集的基础。

不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。

数据采集含义很广,包括对面状连续物理量的采集。

在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量(或包括物理量,如灰度)数据。

关键词;数据采集;电路;信号;

AbstractDataacquisitionanddisplaysystemistheuseofadevice,collectdatafromoutsidethesystemandinputtotheinternalsystemofaninterface.Thentheprocessor,finallycameuponthescreen.Dataacquisitionanddisplaytechnologyiswidelyusedinvariousfields.

Dataisbeingcollectedhasvariousphysicalquantities,areconvertedtoelectricalsignalssuchasvoltage,temperature,waterlevel,windpressure,etc.,canbeanalog,alsocanbethedigitalquantity.Mostofthedatacollectedisinstantaneous,butalsoafeaturewithinacertainperiodoftimevalueofaccuratedatameasurementis.Thebasisfordatacollection.Nomatterwhatkindofmethodsandcomponentsarenotaffectedthemeasuredobjectandmeasuringenvironmentisthepremisetoensuretheaccuracyofthedata.Dataacquisitionisaverybroadmeaning,includingplanarcontinuousphysicalcollection.Incomputeraideddrawing,mapping,design,digitalgraphicsorimagetheprocessiscalleddataacquisition,theacquisitionisthegeometricvolume(includingthephysicalquantities,suchasthegraydata).

Keywords:

Dataacquisition;Circuit;Signal;

 

1课程设计要求

结合单片机的课程,选择一款A/D转换器,采集输入实时电压并显示,并设计完整电路以及程序,仿真调试。

289C51单片机简介

AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4kBytes ISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89C51在众多嵌入式控制应用系统中得到广泛应用。

51单片机内包含以下几个部件:

1)8位微处理器(CPU)。

2)数据存储器(128BRAM)。

3)程序存储器(ROM/EPROM)。

4)4个8位可编程并行I/O口(P0口,P1口,P2口,P3口)。

5)1个全双工的异步串行口。

6)2个16定时器/计数器。

7)中断系统。

8)特殊功能寄存器(SFR)。

2.1ADC0808转换器简介

ADC0808是采样分辨率为8位的、以逐次逼近原理进行模/数转换的器件。

其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。

图2-1ADC0808引脚图

2.2引脚功能

ADC0808芯片有28条引脚,采用双列直插式封装。

各引脚功能如下:

1~5和26~28(IN0~IN7):

8路模拟量输入端。

8、14、15和17~21:

8位数字量输出端。

22(ALE):

地址锁存允许信号,输入,高电平有效。

6(START):

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。

7(EOC):

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

9(OE):

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

10(CLK):

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

12(VREF(+))和16(VREF(-)):

参考电压输入端

11(Vcc):

主电源输入端。

13(GND):

地。

23~25(ADDA、ADDB、ADDC):

3位地址输入线,用于选通8路模拟输入中的一路

2.3 A/D转换原理

基本原理是从高位到低位逐位试探比较,好像用天平称物体,从重到轻逐级增减砝码进行试探。

逐次逼近法转换过程是:

初始化时将逐次逼近寄存器各位清零;转换开始时,先将逐次逼近寄存器最高,送入D/A转换器,经D/A转换后生成的模拟量送入比较器,称为Vo,与送入比较器的待转换的模拟量Vi进行比较,若Vo

然后再置逐次逼近寄存器次高位为1,将寄存器中新的数字量送D/A转换器,输出的Vo再与Vi比较,若Vo

重复此过程,直至逼近寄存器最低位。

转换结束后,将逐次逼近寄存器中的数字量送入缓冲寄存器,得到数字量的输出。

逐次逼近的操作过程是在一个控制电路的控制下进行的。

3时钟电路

XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。

内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。

晶振的频率可以在1MHz-24MHz内选择。

电容取30PF左右。

系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路如下图3-1所示:

 

图3-1时钟电路

3.1复位电路

由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.复位电路如下所示。

图3-2复位电路

3.2LED显示电路

本项目所用显示屏为4位LED显示屏。

本LED显示器为8段(DP为小数点段),每一段为一个发光二极管。

发光二极管有共阳极和共阴极两种。

本显示器的发光二极管为共阴极数码管。

发光二极管的阳极连接在一起,通常在此共阴极接地,当某个发光二极管的阳极接低高平时,发光二极管被点亮,相应的段被显示。

通过给LED显示器提供不同的代码,是这些不同的LED显示器相应的段发光显示不同的字型,这些代码称为段码。

本项目所用段码值如下(表1)所示:

表1LED共阴数码管段码

数字

0

1

2

3

4

5

6

7

8

9

段码

0x03

0x9f

0x25

0x0d

0x99

0x49

0x41

0x1f

0x01

0x09

 

4仿真设计图

如下4-1图所示

 

图4-1数据采集系统仿真图

5仿真心得

这次通过自己再一次熟悉仿真软件,学到了在连线过程使用总线和网络标号,使得整体布局显得非常的美观,比以前密密麻麻的连线效果好多了。

从效率上来说也节省了时间。

对于别人来看,也方便多了,很容易看懂。

加深了对仿真软件的认识。

6程序

#include

#defineuintunsignedint

#defineucharunsignedchar

#defineData_ADC0809P1

sbitST=P3^2;

sbitEOC=P3^3;

sbitOE=P3^1;

sbitDIAN=P0^5;//小数点

unsignedchardis[3];//显示数值

unsignedintsum=0;

unsignedinttemp=0;

unsignedintdat=0;

/*******************************共阴LED段码表*******************************/

Unsignedcharcodetab[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0x5e/*字母U*/};//gc.debfa

/****************************************************************************

ucharADC0809()

{

uchartemp_=0x00;

OE=0;

ST=0;

ST=1;

ST=0;

while(EOC==0)

OE=1;

temp_=Data_ADC0809;

OE=0;

returntemp_;

}

voiddelay(unsignedintx)//延时函数

{

unsignedinti,j;

for(i=0;i

for(j=0;j<121;j++);

}

/****************************************************************************

函数功能:

将0-255级换算成0.00-5.00的电压数值

入口参数:

i

出口参数:

****************************************************************************/

voidconvdata(unsignedchardat1)

{

unsignedintVo;

Vo=dat1*1.96;

dis[0]=Vo/100;//十位

dis[1]=Vo%100/10;//个位

dis[2]=Vo%100%10;//小数点后第1位

}

/****************************************************************************

函数功能:

数码管显示子程序

入口参数:

出口参数:

****************************************************************************/

voiddisplay(void)

{

P0=~tab[dis[0]];

P2=0xfe;//11011111

delay

(1);

P2=0xff;

DIAN=0;

P0=~tab[dis[1]];

P2=0xfb;//10111111

delay

(1);

P2=0xff;

P0=~tab[dis[2]];

P2=0xef;//01111111

delay

(1);

P2=0xff;

P0=~tab[0];

P2=0xbf;

delay

(1);

P2=0xff;

}

/****************************************************************************

函数功能:

主程序

入口参数:

出口参数:

****************************************************************************/

voidmain(void)

{

unsignedcharp=0;

while

(1)//主循环

{

for(p=0;p<20;p++)

{

sum=sum+ADC0809();

display();

}

//dat=((sum/20)+dat)/2;

dat=sum/20;

convdata(dat);//数据转换

sum=0;

display();//显示数值

 

6.1程序调试

在程序调试过程中也收获不少,在编译完程序,连接好线路,把程序加进去,开始运行。

但始终数码管不亮,通过虚拟示波器对线路的测试,波形是合适的。

最终想到问题出在数码管的段码上,井进行了仔细的查看,发现在单片机的输出口与数码管直接的连线没有按照字母顺序链接,修改之后,数码管正常显示了。

然后并没有就此罢休,又思考能不能只改段马码不改连线呢?

最后在进一步研究之后,成功的改写了断码。

此设计就是自己任意连线,然后自己推到出来的代码。

通过一个这样小小的问题,进一步熟悉了数码管驱动显示原理,做事不能照步就搬,要深刻理解它的原理,才能更加灵活的运用。

参考文献

[1]魏立峰.单片机原理及应用技术[M].北京:

北京大学出版社,2006.

[2]陈光绒.单片机技术应用教程[M].北京:

:

北京大学出版社,2005.

[3]李广弟.单片机基础[M].北京:

北京航空航天大学出版社,2007.

致谢

在本次的课程设计中,我得到了雷老师的精心指导,不管是从开始定方向还是在查资料准备的过程中,一直都耐心地给予我指导和意见,使我在总结学业及撰写论文方面都有了较大提高;同时也显示了老师高度的敬业精神和责任感。

在此,表示诚挚的感谢以及真心的祝福。

  四年大学生活即将结束,回顾几年的历程,老师们给了我们很多指导和帮助。

他们严谨的治学,优良的作风和敬业的态度,为我们树立了为人师表的典范。

在此,我对所有的学院的老师表示感谢,祝你们身体健康,工作顺利!

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

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1