1、课程设计报告书课程名称: 单片机原理及应用 课题名称: 单片机数据采集系统 专 业: 班 级: 学 号: 姓 名: 成 绩:2010 年 6 月 13 日设 计 任 务 书一、设计任务1 一秒钟采集一次。2 把 INO 口采集的电压值放入 30H 单元中。3 做出原理图。4 画出流程图并写出所要运行的程序。二、设计方案及工作原理方案: 1. 采用 8051 和 ADC0809 构成一个 8 通道数据采集系统。2. 能够顺序采集各个通道的信号。3. 采集信号的动态范围:05V。4. 每个通道的采样速率:100 SPS。5在面包板上完成电路,将采样数据送入单片机20h 27h 存储单元。6编写相应
2、的单片机采集程序,到达规定的性能。工作原理:通过一个 A/D 转换器循环采样模拟电压,每隔一定时间去采样一次,一次按顺序采样信号。A/D 转换器芯片 AD0809 将采样到的模拟信号转换为数字信号,转换完成后,CPU 读取数据转换结果,并将结果送入外设即 CRT/LED 显示,显示电压路数和数据值。目 录一一一 系统设计要求和解决方案一一一 硬件系统一一一 软件系统一一一 实现的功能一一一 缺点及可能的解决方法一一一 心得体会附录一 参考文献附录二 硬件原理图附录三 程序流程图第一章 系统设计要求和解决方案根据系统基本要求,将本系统划分为如下几个部分: 信号调理电路 8 路模拟信号的产生与 A
3、/D 转换器 发送端的数据采集与传输控制器 人机通道的接口电路 数据传输接口电路数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、 PC 或其它设备)组成。系统框图如图 1-1 所示1.1 信号采集分析被测电压为 05V 直流电压,可通过电位器调节产生。1.1.1 信号采集多路数据采集系统多采用共享数据采集通道的结构形式。数据采集方式选择程序控制数据采集。程序控制数据采集,由硬件和软件两部分组成。 ,据不同的采集需要,在程序存储器中,存放若干种信号采集程序,选择相应的采集程序进行采集工作,还可通过编新的程序,以满足不同采样任务的要求。如
4、图 1-3 所示。程序控制数据采集的采样通道地址可随意选择,控制多路传输门开启的通道地址码由存储器中读出的指令确定。即改变存储器中的指令内容便可改变通道地址。由于顺序控制数据采集方式缺乏通用性和灵活性,所以本设计中选用程序控制数据采集方式。采集多路模拟信号时,一般用多路模拟开关巡回检测的方式,即一种数据图 1-3 程序控制数据采集原理图 1-1 一般系统框图采集的方式。利用多路开关(MUX)让多个被测对象共用同一个采集通道,这就是多通道数据采集系统的实质。当采集高速信号时,A/D 转换器前端还需加采样/保持(S/H)电路。待测量一般不能直接被转换成数字量,通常要进行放大、特性补偿、滤波等环节的
5、预处理。被测信号往往因为幅值较小,而且可能还含有多余的高频分量等原因,不能直接送给 A/D 转换器,需对其进行必要的处理,即信号调理。如对信号进行放大、衰减、滤波等。通常希望输入到 A/D 转换器的信号能接近 A/D 转换器的满量程以保证转换精度,因此在直流电流电源输出端与 A/D 转换器之间应接入放大器以满足要求。本题要求中的被测量为 05V 直流信号,由于输出电压比较大,满足 A/D转换输入的要求,故可省去放大器,而将电源输出直接连接至 A/D 转换器输入端。多路数据采集输入通道的结构图 1-4 所示。ADC0809 是 TI 公司生产的 8 位逐次逼近式模数转换器,包括一个 8 位的逼近
6、型的 ADC 部分,并提供一个 8 通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。用它可直接将 8 个单端模拟信号输入,分时进行 A/D 转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为 A/D 转换电路的核心。1.2.1 单片机系统分析1.复位电路单片机在开机时都需要复位,以便中央处理器 CPU 以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。51 的 RST 引脚是复位信号的输入端。复位电平是高电平有效,持续时间要有 24 个时钟周期以上。本系统中单片机时钟频率为 6MHz 则复位脉冲至少应为 4us。在 MCS-51 单
7、片机系列芯片中,用 8051 或 8751 芯片可以构成最小系统。因为 8051 和 8751 是片内有 ROM/EPROM 的单片机,用这种芯片构成的单片及最小系统简单、可靠。8051 构成的最小系统特点: 受集成度所限,只能用于小型控制单元。 有可供用户使用的大量的 I/O 口线。图 1-4 多路数据采集输入通道结构 仅有芯片内部的存储器,故存储器的容量有限。 8051 的应用软件要依靠半导体掩膜技术植入,适于在大批量生产的应用系统中使用。第二章 硬件系统2.1 信号调理电路信号调理的任务 将被测对象的输出信号变换成计算机要求的输入信号。对于多通道数据采集系统的输入通道,设置多路选择开关,
8、可降低硬件开销。如图 2-1 所示。为避免小信号通过模拟开关造成较大的附加误差,在传感器输出信号过小时,每个通道应设前置放大环节(本文可不加以考虑) 。2.2 数据采集电路把连续变化量变成离散量的过程称为量化,也可理解为信号的采样。把以一定时间间隔 T 逐点采集连续的模拟信号,并保持一个时间 t,使被采集的信号变成时间上离散、幅值等于采样时刻该信号瞬时值的一组方波序列信号,即采样信号。2 ADC0809 内部功能与引脚介绍分辨率和精度在第一章中已作了相应的计算和分析。ADC0809 八位逐次逼近式 AD 转换器是一种单片 CMOS 器件,包括 8 位模拟转换器、8 通道转换开关和与微处理器兼容
9、的控制逻辑。8 路转换开关能直接连通 8 个单端模拟信号中的任何一个。其内部结构如图 2-2 所示。1.ADC0809 主要性能 逐次比较型 CMOS 工艺制造图 2-2 ADC0809 内部结构图 2-1 信号调理过程 单电源供电 无需零点和满刻度调整 具有三态锁存输出缓冲器,输出与 TTL 兼容 易与各种微控制器接口 具有锁存控制的 8 路模拟开关 分辨率:8 位 功耗:15mW 最大不可调误差小于1LSB(最低有效位) 转换时间( )128us50CLKfHz 转换精度: .4% ADC0809 没有内部时钟,必须由外部提供,其范围为 101280kHz。典型时钟频率为640kHz2.引
10、脚排列及各引脚的功能,引脚排列如图 2-3 所示。各引脚的功能如下:IN0IN7:8 个通道的模拟量输入端。可输入05V 待转换的模拟电压。D0D7:8 位转换结果输出端。三态输出,D7 是最高位,D0 是最低位。A、B、C :通道选择端。当 CBA=000 时,IN0 输入;当 CBA=111 时,IN7 输入。ALE:地址锁存信号输入端。该信号在上升沿处把A、B、C 的状态锁存到内部的多路开关的地址锁存器中,从而选通 8 路模拟信号中的某一路。START:启动转换信号输入端。从 START 端输入一个正脉冲,其下降沿启动ADC0809 开始转换。脉冲宽度应不小于 100200ns。EOC:
11、转换结束信号输出端。启动 A/D 转换时它自动变为低电平。OE:输出允许端。CLK:时钟输入端。ADC0809 的典型时钟频率为 640kHz,转换时间约为100s。REF(-)、REF(+):参考电压输入端。ADC0809 的参考电压为5V。VCC、GND :供电电源端。ADC0809 使用5V 单一电源供电。当 ALE 为高电平时,通道地址输入到地址锁存器中,下降沿将地址锁存,并译码。在 START 上升沿时,所有的内部寄存器清零,在下降沿时,开始进行 A/D 转换,此期间 START 应保持低电平。在 START 下降沿后 10us 左右,转换结束信号变为低电平,EOC 为低电平时,表示
12、正在转换,为高电平时,表示转换结束。OE 为低电平时,D0D7 为高阻状态,OE 为高电平时,允许转换结果输出。2.2.3 ADC0809 与 MCS-51 系列单片机的接口方法ADC0809 与 8051 单片机的硬件接口有 3 种形式,分别是查询方式、中断方式和延时等待方式,本题中选用中断接口方式。由于 ADC0809 无片内时钟,时钟信号可由单片机的 ALE 信号经 D 触发器图 2-3 A/DC0809 引脚二分频后获得。ALE 引脚得脉冲频率是 8051 时钟频率的 1/6。该题目中单片机时钟频率采用 6MHz,则 ALE 输出的频率是 1MHz,二分频后为 500Hz,符合ADC0
13、809 对频 率的要求。由于 ADC0809 内部设有地址锁存器,所以通道地址由 P0 口的低 3 位直接与ADC0809 的 A、B、C 相连。通道基本地址为 0000H0007H 。其对应关系如表2-1 所示。表 2-1 0809 输入通道地址控制信号:将 P2.7 作为片选信号,在启动 A/D 转换时,由单片机的写信号和P2.7 控制 ADC 的地址锁存和启动转换。由于 ALE 和 START 连在一起,因此ADC0809 在锁存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号 和 P2.7 引脚经或非门后,产生RD正脉冲作为 OE 信号,用一打开三态输出锁存器。START
14、信号和 OE 信号的逻辑表达式为当 8051 通过对 0000H0007H(基本地址)中的某个口地址进行一次写操作,即可启动相应通道的 AD 转换;当转换结束后,ADC0809 的 EOC 端向8051 发出中断申请信号;8051 通过对 0000H0007H 中的某个口地址进行一次读操作,即可得到转换结果。地址码C B A输入通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7ADC0809 时序图第 3 章 软件系统ORG 0000hMOV r1,#20h ; 取数 20h 送 r1 中MOV
15、r2,#8h ; channel number! ;取数 8h 送 r2 中 MOV TL0,#0h ;启动 TL0MOV TH0,#0b8h ;设置定时初值 THO;MOV tmod,#1h ;选择工作方式 1clr et0 ;清零setb tr0 ;启动 T0 工作MOV scon,#40h ;设置串口工作方式 1MOV dptr,#78ffh ;取源数据地址送 dptrloop: MOV a,r2 ;将 r2 中的数据送累加器 a 中SUBB a,r1 ;将 r1 中的数据与 a 中数据进位减法运算jnz loop2 ;结果不为零则转 loop2MOV r1,#0h ;对 r1 清零MO
16、V dptr,#78ffh ;取源数据地址送 dptrMOV r1,#0h ;对 r1 清零MOV dptr,#78ffh ;取源数据地址送 dptrloop1: jnb tf0,loop1 ;定时器无溢出则转入 loop1clr tf0 ;对 tf0 清零MOV TL0,#0h ;对 tlo 清零MOV TH0,#0b8h ;设置定时初值 TH0loop2: MOVx dptr,a ;start A/D ;启动模数转换器loop3: jb p1.0,loop3 ;p1.0 为 1 则转 loop3loop4: jnb p1.0,loop4 ;check flag ;p1.0 为 0 则转 l
17、oop4MOVx a,dptr ;读取结果MOV r1,a ;保存结果inc dph ; ;选取下一个inc r1 ;计数器减 1ljmp loop ;返回到 loopend 整个系统软件设计分为两个部分,作为主控的 PC 端的软件设计及作为数据采集器的单片机终端节点的软件设计。系统采用模块化编程,将各部分功能分别实现,主要的功能子程序有:数据采集、部分中断子程序。主程序流程图如图3-1 所示模数转换中断方式使用 EOC 信号作为向 8051 的中断申请。在主程序中,向 ADC 发出首次启动转换信号后,并计数管理转换通道数。当检测到 EOC 的请求后,转去执行中断服务程序,读取转换结果,并启动
18、下一次转换,后继续执行。图 3-2为 A/D 转换程序流程图。YN开始定义 A/D 转换缓冲区首地址开中断置通道数置 DPTR启动转换等待中断各通道采完?中断处理返回关中断图 3-2 数据采集程序流程图开始系统初始化调用数制转换子程序调用数据采集子程序取相应通道数据调用标度变换子程序调用数据显示子程序调用数据发送子程序图 3-1 主程序流程图:以下是 8 路数据采集程序开始取转换量存入 A/D 转换数据缓冲区通道号 +1缓存单元地址+1通道数-1启动下次转换返回图 3-3 数据采集中断程序流程图第四章 实现的功能数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,
19、并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。数据输出及显示就是把数据以适当
20、的形式进行输出和显示。本电路采用 AT89C52 的时钟电路进行数据的定时采集并且把数据上传到 AD 转换 ADC0809 转换器进行数据的转换,再把数据转存到 30H 单元中,实现 AD 定时采集功能。第五章 缺点及可能的解决方法本文采用 RS-232 标准实现单片机与 PC 机间的通信。RS-232 是目前最常用的一种串行通讯接口。由于 RS-232-C 接口标准出现较早,难免有不足之处,主要表现在:1.接口的信号电平值较高,易损坏接口电路的芯片,又因为与 TTL 电平不兼容,故需使用电平转换电路才能与 TTL 电路连接。2、传输速率较低,在异步传输时,波特率为 20Kbps。3、接口使用
21、一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。4、传输距离有限,最大传输距离标准值为 50 英尺,实际上也只能用在 50 米左右。信号采集过程中,被测量一般由传感器供给,常为微弱信号,需要对其进行适当的调整。由于此处输入信号满足 A/D 转换器的输入要求,所以本文并为详细讨论。但在实际工程设计中必不可少。因此建议使用 RS-485 标准实现, RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等优点就使其成为首选的串行接口。第六章 心得体会随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控
22、制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。此外,计算机的发展对通信起
23、了巨大的推动作用.计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。数据通信是计算机广泛应用的必然产物。通过这次的课程设计的制作让我对单片机的理论有了更加深入的了解,同时通过这次实践使我更深刻的体会到了理论联系实际的重要性,我们在今后的学习工作中会更加的注重实际 理论与实际的结合!附录一 参考文献参考文献1 徐爱卿,孙涵芳,盛焕鸣 单片微型计算机应用和开发系统 北京航空航天大学出版社 1992 年2 邬宽明 单片机外围器件实用手册 数据传输接口器件分册 北京航空航天大学出版社 1998 年3 何立民,余永权,李小青,陈林康 单片机应用系统的功率接口 北京航空航天大学出版社 1992 年4 张毅刚,彭喜元,孟升卫,刘兆庆 MCS-51 单片机实用子程序设计(第二版) 哈尔滨工业大学出版社 2003 年5 胡汉才 单片机原理及接口技术(第 2 版) 清华大学出版社 2004 年6 求是科技 单片机通信技术与工程实践 人民邮电出版社 2005 年附录二 原理图附录三 程序流程图YN开始定义 A/D 转换缓冲区首地址开中断置通道数置 DPTR启动转换等待中断各通道采完?中断处理返回关中断图 3-1 据采集程序流程图