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