前 言
随着计算机技术的飞速发展和普及,数据采集系统在多个领域有着广泛的应用。数据采集是工、农业控制系统中至关重要的一环,在医药、化工、食品、等领域的生产过程中,往往需要随时检测各生产环节的温度、湿度、流量及压力等参数。同时,还要对某一检测点任意参数能够进行随机查寻,将其在某一时间段内检测得到的数据经过转换提取出来,以便进行比较,做出决策,调整控制方案,提高产品的合格率,产生良好的经济效益。 随着工、农业的发展,多路数据采集势必将得到越来越多的应用,为适应这一趋势,作这方面的研究就显得十分重要。在科学研究中,运用数据采集系统可获得大量的动态信息,也是获取科学数据和生成知识的重要手段之一。总之,不论在哪个应用领域中,数据采集与处理将直接影响工作效率和所取得的经济效益。
此外,计算机的发展对通信起了巨大的推动作用.计算机和通信紧密结合构成了灵活多样的通信控制系统,也可以构成强有力的信息处理系统,这样对社会的发展产生了深远的影响。数据通信是计算机广泛应用的必然产物。
数据采集系统,从严格的意义上来说,应该是用计算机控制的多路数据自动检测或巡回检测,并且能够对数据实行存储、处理、分析计算以及从检测的数据中提取可用的信息,供显示、记录、打印或描绘的系统。
数据采集系统一般由数据输入通道,数据存储与管理,数据处理,数据输出及显示这五个部分组成。输入通道要实现对被测对象的检测,采样和信号转换等工作。数据存储与管理要用存储器把采集到的数据存储起来,建立相应的数据库,并进行管理和调用。数据处理就是从采集到的原始数据中,删除有关干扰噪声,无关信息和必要的信息,提取出反映被测对象特征的重要信息。另外,就是对数据进行统计分析,以便于检索;或者把数据恢复成原来物理量的形式,以可输出的形态在输出设备上输出,例如打印,显示,绘图等。数据输出及显示就是把数据以适当的形式进行输出和显示。
在本毕业设计中对多路数据采集系统作了基本的研究。本系统主要解决的是怎样 进行数据采集以及怎样进行多路的数据采集。
第1章 任务分析
1.1设计任务:
设计一个多路数据采集系统,具体指标如下:
1 采用AT89S51及ADC0809设计多路数据采集系统; 2 多通道输入信号由+5V电压经分压后至IN0至IN7; 3 采集处理后的数据由4位数码管动态显示;
4 必须具有上电自检功能及外接电源、公共地线接口。
根据系统基本要求,将本系统划分为如下几个部分: 8路模拟信号的产生与A/D转换器
1 / 17
显示位数:4位
发送端的数据采集与传输控制器 数据传输接口电路序
编写系统初始化主程序、显示子程序及其他所需要子程。
第
2章 硬件系统设计
2.1 硬件系统设计原理
本系统采用 AT89S51 单片机为运算和控制的核心 , AT89S51有P0、P1、P2、P3四个8位的并行双向I/O口,P0口用于控制LED信号灯的显示,P1口控制信号输入
表1 数码管显示真值表
显示 字符 共阴极 段选码 显示 字符 共阴极选段码
0
3F 9 6F
1
06 A 77
2
5B B 7C
3
4F C 39
4
66 D 5E
5
6D E 79
6
7D F 71
7
07 - 40
8
7F
熄灭
00
2.2 AT89S51单片机简介
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4kBytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
? 兼容MCS-51指令系统 ? 4k可反复擦写(>1000次)ISP Flash ROM ? 32个双向I/O口 ? 4.5-5.5V工作电压
? 2个16位可编程定时/计数器 ? 时钟频率0-33MHz ? 全双工UART串行中断口线 ? 128x8bit内部RAM ? 2个外部中断源 ? 低功耗空闲和省电模式 ? 中断唤醒省电模式 ? 3级加密位
? 看门狗(WDT)电路 ? 软件设置空闲和省电功能
2 / 17
? 灵活的ISP字节和分页编程 ? 双数据寄存器指针
2.3 硬件系统原理框图
硬件系统原理框图由5部分组成:AT89S51、晶振电路、复位电路、控制电路和
输出电路。
晶振AT89S51单片机 复位输出控制
图1 硬件系统原理图
2.4 硬件系统各电路设计
2.4.1 复位电路设计
AT89S51有复位信号引脚RET,用于从外引入复位信号。
单片机基本复位电路共有上电复位、按键电平复位、按键脉冲复位3种,本设计采用上电复位。复位电路用于产生复位信号,通过RET引脚送入单片机,进行复位操作。电阻采用10K,电容采用22uF。如图2所示。
上电瞬间,RST端的的电位与Vcc相同,随着电容的逐步充电,充电电流减小,RST电位逐渐下降。上电复位所需的最短时间是振荡器建立时间加上二个机器周期,在这段时间里,振荡建立时间不超过10ms。复位电路的典型参数为:C取10uF,R取8.2k,故时间常数
?=RC=10?10?6?8.2?103=82ms
图2 复位电路
2.4.2 晶振电路设计
AT89S51单片机芯片中的高增益反向放大
器,其输入端为引脚XTAL1,输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器。石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。晶振频率是指晶体的振荡频率,也就是振荡电路的脉冲频率,也称振荡频率。晶振频率是单片机的一项重要性能指标。因为单片机的时钟信号是通过振荡信号
分频得到的,所以竞争频率直接影响时钟信号的频率。 晶振频 率高,系统的时钟频率就高,单片机运行速
度也就快。然而晶振频率高对存储器等的速度和印刷 图3 晶振电路
3 / 17
电路板的工艺要求也高。
晶振频率不但影响速度,而且对单片机的工作电流也有一定影响,所以在选择晶振频率是,要兼顾速度、功耗和线路工艺。本设计选用频率为6MHz的晶振,电容选用30pF,具体设计如图3所示。
2.4.3 A/D转换器的选取
ADC0809是TI公司生产的8位逐次逼近式模数转换器,包括一个8位的逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑,为模拟通道的设计提供了很大的方便。用它可直接将8个单端模拟信号输入,分时进行A/D转换,在多点巡回监测、过程控制等领域中使用非常广泛,所以本设计中选用该芯片作为A/D转换电路的核心。
ADC0809与MCS-51系列单片机的接口方法
ADC0809与8051单片机的硬件接口有3种形式,分别是查询方式、中断方式和延时等待方式,本题中选用查询方式。
A/D转换器有一个转换结束信号(EOC),因此可以用查询方式去定转换是否完成。按原理图所示电路,可以用“JNB P3.3,$”之类的指令来查询
由于ADC0809无片内时钟,时钟信号可由单片机的ALE信号经D触发器二分频后获得。ALE引脚得脉冲频率是8051时钟频率的1/6。该题目中单片机时钟频率采用6MHz,则ALE输出的频率是1MHz,符合ADC0809对频率的要求。
由于ADC0809内部设有地址锁存器,所以通道地址由P3口的低3位直接与ADC0809的A、B、C相连。通道基本地址为0000H~0007H。其对应关系如表2所示
控制信号:将P3.5作为片选信号,在启动A/D转换时,由单片机的写信号和P3.5控制ADC的地址锁存和启动转换。由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时也启动转换。
在读取转换结果时,用单片机的P3.5引脚经或非门后,产生正脉冲作为OE信号,用一打开三态输出锁存器。 ADDC 0 0 0 0 1 1 1 1
ADDB 0 0 1 1 0 0 1 1
ADDA 0 1 0 1 0 1 0 1
表2 0809输入通道地输入通道号 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
4 / 17
2.4.4 ADC0809内部功能与引脚介绍
分辨率和精度在第一章中已作了相应的计算和分析。 ADC0809八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位模拟转换器、8通道转换开关和与微处理器兼容的控制逻辑。8路转换开关能直接连通8个单端模拟信号中的任何一个。其内部结构如图2-2所示。
图4 ADC0809内部结构 1.ADC0809主要性能 ? 逐次比较型 ? CMOS工艺制造 ? 单电源供电
? 无需零点和满刻度调整
? 具有三态锁存输出缓冲器,输出与TTL兼容 ? 易与各种微控制器接口
? 具有锁存控制的8路模拟开关 ? 分辨率:8位 ? 功耗:15mW
? 最大不可调误差小于±1LSB(最低有效位)
? 转换时间(fCLK?500KHz)128us
? 转换精度:?0.4%
? ADC0809没有内部时钟,必须由外部提供,其范围
为10~1280kHz。典型时钟频率为640kHz
2.引脚排列及各引脚的功能,引脚排列如图5所示。 图5 ADC0809引脚列 各引脚的功能如下:
IN0~IN7:8个通道的模拟量输入端。可输入0~5V待转换的模拟电压。 D0~D7:8位转换结果输出端。三态输出,D7是最高位,D0是最低位。
5 / 17