您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 使用8051单片机与ADC0809设计数据采集系统
电子和信息工程学院《计算机控制技术》课程设计报告课题名称运用8051、ADC0809设计一个8路数据采集系统专业电子信息工程班级08城建电子1班学生姓名胡晓俊学号指导教师严辉夏巍丁刚2011年6月27日目录总体设计方案介绍-----------------------------------------------------------------------------3硬件电路设计-----------------------------------------------------------------------------------42.1ADC0809和8051单片机的接口设计…………………………...52.2数码管显示电路…………………………………………………..6软件程序设计-----------------------------------------------------------------------------------93.1A/D转换程序流程图……………………………………………..103.2数据采集系统电路图:……………………………………………………………………..11心得体会----------------------------------------------------------------------------------------13附录----------------------------------------------------------------------------------------------14实验名称:使用8051单片机和ADC0809设计数据采集系统。一.试验目的:了解数据采集系统得基本结构,实现一个简单的A/D转换电路.二.试验器材:示波器,信号发生器,电源,单片机仿真器,89C51,ADC0809,74LS74,74LS02,导线若干。三.试验内容:1.采用8051和ADC0809构成一个8通道数据采集系统。2.能够顺序采集各个通道的信号。3.采集信号的动态范围:0~5V。4.每个通道的采样速率:100SPS。5.在面包板上完成电路,将采样数据送入单片机20h~27h存储单元。6.编写相应的单片机采集程序,到达规定的性能。一.总体设计方案介绍:数据采集系统用于将模拟信号转换为计算机可以识别的数字信号,该系统目的是便于对一些物理量进行监视、控制。本文介绍一种经济、实用的多道数据采集系统:它以8051CPU为核心,配以0809A/D转换器件,使用四个七段LED数码管来进行显示。LED采用的是动态扫描显示。系统实现八道数据自动巡回采集和显示,适用于非快速变化信号的多路检测。系统软件可在proteus上仿真。【关键词】:8051单片机;ADC0809;数据采集;proteus数据采集系统.从严格的意义上来说.应该是用计算机控制的多路数据自动检测或巡回检测.并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息.供显示、记录、打印或描绘的系统。数据采集系统一般由数据输入通道.数据存储和管理.数据处理.数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测。采样和信号转换等工作。数据存储和管理要用存储器把采集到的数据存储起来.建立相应的数据库.并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外。就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式。以可输出的形态在输出设备上输出,例如打印。显示,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示本次设计是在现场物理信号通过传感器转换为o~5V的基础上。由单片机进行远距离传输并还原为o__5V的电信号,通过ELD显示。系统最多显示8路数据。2、系统硬件电路系统硬件电路如图1:ADCO8O9将0~5V模拟信号转换为00~FF数字信号并传送给51单片机,然后由51单片机进行数据存储及数据处理,最终由LED显示器显示,完成对模拟信号的采集。2.1ADC0809和8051单片机的接口设计ADC0809和单片机8051的硬件接口方式一般有:查询方式、中断方式和等待延时方式。本设计采用查询方式。由于ADC0809芯片内部没有时钟脉冲源.我选择利用单片机8051提供的地址锁存控制输入信号ALK经D触发器二分频后.作为ADC0809的时钟输入。当CPU访问外存储器时,ALK的输出作为外部锁存地址的低字节的控制信号;当不访问外部存储器时,ALK端以16/的时钟振荡频率固定地输出正脉冲。又因ADC0809的时钟频率有一定的范围101280kHz.故我取单片机的时钟频率为6MHz。则ALK端输出的频率为1MHz,再经二分频后为500kHz。符合ADC0809对时钟的要求。分频电路图如图2所示。ADC0809和80C51的接口电路由于ADC0809内部设有地址锁存器.所以通道地址由P2口的低3位直接和ADC0809的A、B、C相连。通道基本地址为0000H.-O007H。模拟量直接ADC0809的IN0一IN7输入。。数字量由ADC0809的DO—D7输出并直接接到单片机8051的I/O口的PO口(P0El作为输人E1),ADC0809其他引脚如:START、OE、ALK、A、B、C等直接接到单片机的P2口(P2口作为输出口)。最后ADC0809的结束信号端口直接接到单片机P3.7口。2.2数码管显示电路本设计选用3个数码管显示数据.连通道号共用4个位数码管.每次数据传输完调用延时程序.使数据持续显示1秒。经过比较分析.在设计中采用了共阳极静态显示模式并将数码管的段码端直接接到单片机输出端口Pl口。而数码管的公共端我则接到了单片机输出端口P3口.因为只有4个数码管.我只用到了P3.0一P3.3。。这时只要P0口送出数字的显示代码.数码管就能正常显示数字。3.系统软件的设计整个系统软件设计主要有三大块:加转换部分:显示数据的转换存储部分:数据的显示部分。系统采用模块化编程.将各部分功能分别实现。整体的流程图如图3所示。3.1A/D转换程序流程图A/D转换过程:将8路模拟量持续输入ADC0809模拟量输入端IN01T、7『。首先将OE,START,ALE。A,B,C都置0,然后ALK置1再清零.进行转换通道地址的锁存.即选择转换通道打开。将START置1再清零,发送一启动脉冲,即启动A/D转换。此时转换结束信号EOC变为低电平。查看EOC是否为高电平。为高电平则表示MD转换完毕。等待MD转换完毕后将输出允许信号输入端(0E)置高电平,此时就可将转换的一路数据输入到单片机某一存储空间中。将OE置低电平,即停止ADC0809。1.芯片管脚图:ADCADC0809模数转换器的引脚功能IN0~IN7:8路模拟量输入。A、B、C:3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。ALE:地址锁存启动信号,在ALE的上升沿,将A、B、C上的通道地址锁存到内部的地址锁存器。D0~D7:八位数据输出线,A/D转换结果由这8根线传送给单片机。OE:允许输出信号。当OE=1时,即为高电平,允许输出锁存器输出数据。START:启动信号输入端,START为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D开始转换。EOC:转换完成信号,当EOC上升为高电平时,表明内部A/D转换已完成。CLK:时钟输入信号,0809的时钟频率范围在10~1200kHz,典型值为640kHz。图1ADC0809管脚图图28051芯片管脚图2.数据采集系统电路图:ADC0809是带有8:1多路模拟开关的8位A/D转换芯片,所以它可有8个模拟量的输入端,由芯片的A,B,C三个引脚来选择模拟通道中的一个。A,B,C三端分别和8051的P1.0~P1.2相接。地址锁存信号(ALE)和启动转换信号(START),由P2.7和/WR或非得到。输出允许,由P2.7和/RD或非得到。时钟信号,可有8051的ALE输出得到,不过当采用6M晶振时,应该先进行二分频,以满足ADC0809的时钟信号必须小于640K的要求。源程序:1.由电路图可以知道:ADC0809的地址是70FFh2.ADC0809的8个模拟通道所对应的口地址是78FFh~7FFFhD0-7ABCOESTARTALECLOCK74LS740202P0.1-P0.7P2.0P2.1P2.2/RDP2.7/WRALE80510809Vref-Vref+VCCIN0IN7...EOCP1.0图4系统电路图图3ADC0809时序图3.采样的开始,只要对模拟通道对应的地址写入一个数即启动转换。4.由P1.0查询ADC0809的EOC信号,即可确定转换是否完成5.8个通道的转换结果依次放入20h~27h存储单元中org0000hmovr1,#20hmovr2,#8h;channelnumber!movtl0,#0hmovth0,#0b8h;movtmod,#1hclret0setbtr0movscon,#40hmovdptr,#78ffhloop:mova,r2subba,r1jnzloop2movr1,#0hmovdptr,#78ffhmovr1,#0hmovdptr,#78ffhloop1:jnbtf0,loop1clrtf0movtl0,#0hmovth0,#0b8hloop2:movx@dptr,a;startA/Dloop3:jbp1.0,loop3loop4:jnbp1.0,loop4;checkflagmovxa,@dptr;readresultmov@r1,a;saveresultincdph;nextchannelincr1ljmploopend四、心得体会回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论和实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识和实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。
本文标题:使用8051单片机与ADC0809设计数据采集系统
链接地址:https://www.777doc.com/doc-7099311 .html