模拟数字通用数据采集器设计.doc
- 文档编号:2487120
- 上传时间:2023-05-03
- 格式:DOC
- 页数:43
- 大小:513.50KB
模拟数字通用数据采集器设计.doc
《模拟数字通用数据采集器设计.doc》由会员分享,可在线阅读,更多相关《模拟数字通用数据采集器设计.doc(43页珍藏版)》请在冰点文库上搜索。
摘 要
数据采集是从一个或多个信号获取对象信息的过程。
随着微型计算机技术的飞速发展和普及,数据采集监测已成为日益重要的检测技术,广泛应用于工农业等需要同时监控温度、湿度和压力等场合。
数据采集是工业控制等系统中的重要环节,通常采用一些功能相对独立的单片机系统来实现,作为测控系统不可缺少的部分,数据采集的性能特点直接影响到整个系统。
本系统以AT89S52单片机为核心,以逐次逼近式A/D转换器ADC0832为主体,是一款8路数据采集/传输模块,本系统不仅可以采集模拟信号,而且为使传输的距离增长,提高信号的准确性,本设计采用基于MAX232的芯片,可以与PC机通信,将采集数据送入PC机中,从而实现实验数据实时采集、处理、存储与显示。
关键词:
AT89S52单片机;数据采集;A/D转换;串口通信
ABSTRACT
Dataacquisitionistheprocessofobtainingobjectinformationfromoneormoresignal.WiththerapiddevelopmentandpopularizationofMicro-computertechnology,datacollectionhasbecomeincreasinglyimportantmonitoringtechnologyandiswidelyusedinindustryandagricultureandothersituationinwhichtemperature,humidityorpressuremonitoringisneeded.Dataacquisitionisanimportantpartoftheindustrialcontrolsystem,andisusuallyachievedbysomefunctionallyindependentSCMsystem.Asanindispensiblepartofthemonitoringsystem,itsperformancecharacterinfluencesthewholesystem.
TheAT89S52microcontrolleristhecoreofthesystem;andthesuccessiveapproximationA/Dconverteristhemainpartofthis8-channeldataacquisition/transmissionmodule.Notonlycanthissystemcollectanalogicalsignals,butalsoincreasethetransmissiondistanceandenhancetheaccuracyofthesignalbybasingonMAX232chiptocommunicatewithPCandtocollectdataintoPC,thereforeachievethegoalofreal-timeexperimentaldataacquisition,processing,storageanddisplay.
Keywords:
AT89S52microcontroller;datacollection;A/Dconversion;serialcommunicatio
39
湖南科技大学本科生毕业设计(论文)
目录
第一章绪论 3
第二章方案设计 5
2.1 方案选择 5
2.1.1 主控芯片设计 5
2.1.2 显示部分方案设计 5
2.2 方案论证 5
2.3 系统工作原理 6
2.4 单片机控制模块设计 7
2.4.1主要性能参数 7
2.4.2功能特性 7
2.4.3单片机最小系统 8
2.4.4引脚功能说明 8
2.4.5 时钟电路 12
2.4.6 复位电路 12
2.5 模拟与数字信号采集模块设计 12
2.5.1 ADC0832简介 13
2.5.2 A/D转换电路设计 14
2.5.3多路模拟开关模块设计 15
2.5.4常用的多路开关 15
2.5.5选择多路开关时要考虑的参数 15
2.5.6光电耦合实现数字信号采集 15
2.6 显示与声音模块设计 17
2.6.1 LED数码管显示模块 17
2.6.2 数码管的驱动方式 17
2.6.3 本系统数码管显示电路 18
2.6.4 声音指示电路 18
2.7 串口通信模块设计 20
2.7.1串口通信介绍 20
2.7.2单片机如何与PC机连接 20
2.7.3电路原理图 21
2.8按键电路设计 21
2.9电源模块设计 21
第三章系统软件设计 24
3.1编程软件(KEILC) 24
3.2 主程序设计 25
3.3 A/D转换程序 26
3.4 中断服务程序 27
第四章 系统仿真与调试 28
4.1 分局部调试 28
4.2 整机调试 28
4.3 系统仿真 28
结 论 30
致 谢 31
参考文献 32
附录A 系统源程序 33
附录B 系统原理图 39
第一章绪论
数据采集是对一个或多个信号获取对象信息的过程。
数据采集器是一种具有实验室或现场进行实时数据采集、自动存储记录、信号预处理、即时显示、即时状态分析、自动传输等功能的自动化设备。
本绪论主要介绍了数据采集系统的最新发展、系统并行串行总线接口、系统通信的新技术、国内外常用的数据采集器及不同采集器的特点和存在的问题。
数据采集中,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。
数据采集的核心部件就是A/D转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。
一般说来,A/D转换的方式可分为两类:
积分式和逐次逼近式。
积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。
根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。
逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。
斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。
本毕业设计将介绍一种以单片机为核心的数据采集卡设计,它能测量直流电压、直流电流以及交流电压,并且测量结果能通过数码管显示和将所测的数据传送给PC机,从而具有一定的智能性。
本设计将就这一系统的硬件电路部分和软件程序部分分别作介绍。
在硬件部分,本文就系统的各个组成模块的原理做了详细的介绍。
另外,在每一模块电路中都对元器件的选择做了简单的介绍,其中包括有关数值的计算和分析。
在软件部分,详细阐述了各个模块电路的软件设计方法和设计中的细节。
随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。
数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。
同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。
随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。
在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。
总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。
此外,计算机的发展对通信起了巨大的推动作用.计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。
数据通信是计算机广泛应用的必然产物。
数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。
数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。
输入通道要实现对被测对象的检测,采样和信号转换等工作。
数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。
数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。
另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。
数据输出及显示就是把数据以适当的形式进行输出和显示。
由于RS-232在微机通信接口中广泛采用,技术已相当成熟。
在近端与远端通信过程中,采用串行RS-232标准,实现PC机与单片机间的数据传输。
本课题研究的基本内容
1、总任务:
设计一个模拟数字通用数据采集器。
2、设计目标:
(1)测量范围:
0~5V的直流电压信号。
(2)精度:
0.01V。
(3)其他功能(如与PC机通信)。
3、结合设计任务书拟定的要求,确定总体设计方案,并对方案进行必要的说明及论证。
4、各部分设计
(1)系统框图的设计。
(2)各功能模块的设计与元件选择及性能描述,原理论述。
(4)单片机软件设计与编程。
5、系统安装及调试(按实验室条件完成)
按要求进行系统调试和参数测试,达到设计要求。
第二章 方案设计
单片机系统方案采用输入处理电路+ADC0832+AT89S52+数码管显示实现,被测信号由ADC0832模拟输入端输入,单片机采集转换数据,将转换数据送数码管和PC机显示。
2.1 方案选择
2.1.1 主控芯片设计
方案一:
选用专用电压转换芯片INC7107实现电压的测量和现实。
缺点是精度比较低,且内部电压转换和控制部分不可控制,优点是价格低廉。
方案二:
选用单片机AT89S52和A/D转换芯片ADC0832实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。
缺点是价格稍贵,优点是转换精度高,且转换的过程和控制、显示部分可以控制。
终上所述:
方案二所需元件少、成本低且易于实现,可选此方案。
2.1.2 显示部分方案设计
方案一:
选用4个单体的共阴数码管,将a—h全部连接起来,然后接到单片机口的I/O上进行控制。
缺点是焊接时比较麻烦,容易出错,优点是价格比较便宜。
方案二:
选用一个四位一体的共阴数码管,外加四个三极管驱动。
这个电路几乎没有缺点,优点是便于控制,价格低廉,焊接简单。
终上所述:
由于两个方案都可以实现同样的功能,但方案二设计简单、系统开销小、反应速度较快,因此选择此方案。
2.2 方案论证
经过以上方案设计,决定采用如图2.1所示方案。
信号通道选择电路
数码管显示电路
串口通信电路
单片机
ADC0832转换电路
电源
电路
LED指示电路
图2.1 系统框图
2.3 系统工作原理
本课题要求以单片机为控制器,对多通道模拟信号作数据采集并进行8位转换,采集到的数据以中断方式接入内存加以显示,并送到上位机,进行处理。
由于信号比较多,计算机不可能把这些信号同时接收,因此需要由多路开关进行通道转换,分时地把信号送到采样/保持器(S/H)、A/D转换器,把模拟量转换成数字量,然后送到计算机。
智能化A/D板中,单片机完成数据的采集、滤波和非线性补偿等,主计算机只将其作为一个I/O口,每隔一定的时间,读其一次数据,因而大大减轻了主机的负担,提高了系统的扩展能力。
这样的智能化A/D板自身就是一个小的数据采集系统。
模拟量输入通道的主要任务就是把被测参数进行采集,并转换成数字量,以便使用微型机进行处理、显示或打印。
完成这一任务的核心部件是A/D转换器。
在选择系统结构时,必须认真考虑以下问题:
参数变化的速率、分辨率、精度和参数的通道数等,根据系统的不同要求,选择不同的结构形式。
单通道的转换比较简单,主要视其变化速度决定是否需要采样/保持器,并根据所要求的分辨率及精度选择合适位数的A/D转换。
多通道的数据转换系统则根据不同的要求,采用相应的结构形式。
整个系统受AT89S52芯片的控制,定时器用来产生定时信号,因为一般模拟信号的采集都是每隔一段时间进行的,利用AT89S52的片内定时/计数器配合,用相应的软件就可以完成该功能。
2.4 单片机控制模块设计
对于整个数据采集系统而言,起到控制和枢纽作用的单片机模块无疑是其中最为重要的部分。
AT89S52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度,非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89S52是此系统的最佳选择。
单片机控制模块的作用是控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。
2.4.1主要性能参数
·与MCS-51产品指令系统完全兼容
·4k字节可重擦写Flash闪速存储器
·1000次擦写周期
·全静态操作:
0Hz-24MHz
·三级机密程序存储器
·128X8字节内部RAM
·32个可编程I/O口线
·2个16位定时/计数器
·5个中断源
·可编程串行UART通道
·低功耗空闲和掉电模式
2.4.2功能特性
AT89S52提供一下标准功能:
8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断机构,一个全双工串行通信口,片内振荡及时钟电路。
同时,AT89S52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,只允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
2.4.3单片机最小系统
图2.2系统单片机图
图2.3系统单片机晶振图2.4系统单片机复位
2.4.4引脚功能说明
(1)VCC:
电源电压
(2)GND:
地
(3)P0口:
P0口是一组8位漏极开路型双向I/O口,即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可使其成为高阻抗输入端。
在访问外部数据存储器或程序存储器时,这组口线分别被地址(低8位)和数据总线使用,在访问期间激活内部上拉电阻。
在flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
(4)P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
Flash编程和程序校验期间,P1接受低8位地址
(5)P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。
Flash编程时,P2亦接受高位地址和其他控制信号。
(6)P3口:
P3是一个带有内部上拉电阻的8位双向I/O口,P3的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写“1”,它们被内部的上拉电阻拉高,此时可作输入口,做输入口使用时,被外部拉低的P3口将用上拉电阻输出电流。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表2.1所示:
表2.1I/O第二功能表
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INTO(外中断0)
P3.3
INT1(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
P3口还接受一些用于法拉盛闪速存储器编程和程序校验的控制信号
(7)RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
(8)ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出拱顶的正脉冲信号,因此它可对外输出时钟或用于定时。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
禁止后,只有一条MOVX和MOVC指令可激活ALE。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
(9)EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH)。
EA端必须保持低电平(接地)。
需注意的是:
如果加密位IB1被编程,复位时内部会锁存E端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚要加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp
(10)XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
(11)XTAL2:
振荡器反相放大器的输出端。
·空闲节电模式:
AT89S5有两种可用软件编程的省电模式,它们是空闲模式和掉电工作模式,这两种方式是通过控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PON.0)位来实现的。
PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。
IDL是空闲等待方式,当IDL=1,激活空闲工作模式,单片机进入睡眠状态。
如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。
在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。
此时,片内RAM和所有特殊功能寄存器的内容保持不变。
空闲模式可由任何允许的中断请求或硬件复位终止。
终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。
程序会首先响应中断,进入中断服务程序,执行中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。
其二是通过硬件复位将空闲工作模式终止。
需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内部RAM,而允许访问其他端口。
为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。
·掉电模式:
在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。
退出掉电模式的唯一方法是硬件复位。
复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启并稳定工作。
空闲和掉电模式外部引脚状态如下表2.2所示:
表2.2空闲和掉电期间外部引脚状态
程序存储器
ALE
P0
P1
P2
P3
空闲模式
内部
1
1
数据
数据
数据
数据
空闲模式
外部
1
1
浮空
数据
地址
数据
掉电模式
内部
0
0
数据
数据
数据
数据
掉电模式
外部
0
0
浮空
数据
数据
数据
·程序存储器的加密:
AT89S52可使用对芯片上的3个加密位LB1,LB2,LB3进行编程(P)或不编程(U)来得到如下表2.3所示的功能:
表2.3加密位保护功能表
程序加密位LB1LB2LB3
保护类型
1
U
U
U
没有程序保护功能
2
P
U
U
禁止从外部程序存储器中执行MOVC指令读取内部程序存储器的内容
3
P
P
U
除上表功能外,还禁止程序校验
4
P
P
P
除以上功能外,同时禁止外部执行
当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存器的初始值是一个随机数,且这个随机数会一直保存到真正复位为止。
为使单片机能正常工作,被锁存的EA电平值必须与该引脚当前的逻辑电平一致。
此外,加密位只能通过整片擦除的方法清除。
芯片擦除:
利用控制信号的正确组合并保持ALE/PROG引脚10ms的低电平脉冲快读即可将PEROM阵列(4k字节)和三个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这个步骤在编程之前进行
读片内签名字节:
AT89S52单片机内有三个签名字节,地址为030H,031H和032H。
用于声明该器件的厂商,型号和编程电压。
读签名字节的过程和单元030H,031H及032H的正常校验相仿,只需将P3.6和P3.7保持低电平。
2.4.5 时钟电路
单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XYAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器和对振荡频率有微调作用,通常取(30±10)pF石英晶体选择6MHz或12MHz都可以。
时钟电路如图2.3所示。
2.4.6 复位电路
单片机的RST管脚为主机提供了一个外部复位信号输入口。
复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。
单片机的复位方式可由手动复位方式完成。
电阻、电容器的参考值=10KΩ、=10uF、=0.01uF。
复位电路如图2.4所示。
2.5 模拟与数字信号采集模块设计
模拟信号采集主要采用逐次逼近型A/D转换器,它属于直接型A/D转换器,它能把输入的模拟电压直接转换为输出的数字代码,而不需要经过中间变量。
主要由比较器、环形分配器、控制门、寄存器与D/A转换器组成。
在数字信号方面我们采用的是光电耦合的方式使采集的信号与我们的系统互不影响。
2.5.1 ADC0832简介
1.ADC0832引脚功能
ADC0832芯片有8条引脚,采用双列直插式封装,如图2.5所示。
下面说明各引脚功能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模拟 数字 通用 数据 采集 设计