数据采集系统课程设计报告.docx
《数据采集系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据采集系统课程设计报告.docx(31页珍藏版)》请在冰豆网上搜索。
![数据采集系统课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-7/7/90aeb4be-f0a7-4f1d-b05f-d8dcb7a0c5d5/90aeb4be-f0a7-4f1d-b05f-d8dcb7a0c5d51.gif)
数据采集系统课程设计报告
南 昌 工 程 学 院
电子技术课程设计报告
数据采集系统
院系:
电气与电子工程系
班级:
05 电子信息工程 1 班
姓名:
胡争
学号:
2005100096
指导教师:
余良国
完成时间:
2008 年 9 月 16-9 月 28 号
南 昌 工 程 学 院
课程设计(论文)任务书
I、课程设计(论文)题目:
数据采集系统
II、课程设计(论文)使用的原始资料(数据)及设计技术要求:
1、系统可对 8 路模拟信号进行巡回检测,每个通道连续采样 6 次,采样周期为 5 秒。
2、利用单片机进行设计, AD574A 作 AD 转换,多路转换开关选用 CD4051。
3、画出详细的硬件连接图
4、给出程序设计思路,画出各程序的流程图
5、给出所有程序清单并加上必要注释
6、尽可能降低设计成本
III、课程设计(论文)工作内容及完成时间:
9 月 16 日:
讲课设内容,安排任务
9 月 16 日-18 日:
查资料,确定方案,设计方案论证
9 月 19 日-22 日:
系统硬件设计,画出详细的硬件连接图
9 月 23 日-26 日:
系统软件设计,给出程序设计思路,画出软件流程图,给出所有程序清单并加上必
要注释
27 月 28 日:
完成设计说明书
Ⅳ主要参考资料:
[1]吴黎明.单片机原理及应用技术[M].北京:
科学出版社,2005;
[2]陈粤初等.单片机应用系统设计与实践[M].北京:
北京航空航天大学出版社,1992;
[3]张开生,郭国法 .MCS-51 单片机温度控制系统的设计[J]微计算机信息,2005 年 07 期 ;
[4]黄祯祥,邓怀雄,郭延文,周书. 基于 MCS-51 单片机的温度控制系统[J]现代电子技术 , 2005 年
06 期;
电气系05 电子信息(本)专业类1班
学生:
胡争
日期:
自 2008 年9 月 16 日至 2008年 9月 28 日
指导教师:
余良国
助理指导教师(并指出所负责的部分):
教研室主任:
附注:
任务书应该附在已完成的课程设计说明书首页。
目录:
一、课题介绍
1、 课题简介
2、 功能及系统要求
二、设计环境
三、各芯片模块介绍
1、 功能分析
2、 AD574A 模/数转换芯片介绍
3、 CD4051 多路模拟开关介绍
4、 LF398 反馈型采样/保持放大器介绍
5、 74LS373 八 D 锁存器介绍
四、系统电路图设计
五、程序设计
1、 程序流程图设计
2、 程序设计
六、课程设计总结
七、致谢
八、主要参考文献
一、课题介绍
1、 课题简介
设计一个 8 路模拟信号数据采集系统。
2、 功能及系统要求
(1)系统可对 8 路模拟信号进行巡回检测,每个通道连续采样 6 次,采样周期
为 5 秒。
(2)利用单片机进行设计,AD574A 作 AD 转换,多路转换开关选用
CD4051。
二、设计环境
电路设计用 Protel 99 SE 来完成,程序编写用 Keil 来完成。
Protel 99 SE 是
Protel 公司在 80 年代末推出的 EDA 软件。
它包含了电原理图绘制、模拟电路与数
字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程
逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有
Client/Server (客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格
式,如 ORCAD,PSPICE,EXCEL 等,其多层印制线路板的自动布线可实现高密度
PCB 的 100%布通率。
三、各芯片模块介绍
1、 功能分析
自动巡回检测就是以一定的周期自动地进行检查和测量。
AD574 的分辨率
(0.025%),转换误差(0.05%),转换时间(25us)和输出电压的范围都能很好的
满足要求,故选用 AD574。
CD4051 导通电阻为 200 欧,由于采样/保持器的输入
电阻一般在 10 兆欧以上,所以输入电压在 CD4051 上的压降仅为 0.002%左右,故
多路模拟开关选用 CD4051。
LF398 采样速度快,保持性能好,非线性度为+(-)
0.01%,故采样/保持器选用 LF398。
2、 AD574A 模/数转换芯片介绍
AD574A 是美国模拟数字公司(Analog)推出的单片高速 12 位逐次比较型 A/D
转换器,内置双极性电路构成的混合集成转换显片,具有外接元件少,功耗低,
精度高等特点,并且具有自动校零和自动极性转换功能,只需外接少量的阻容件
即可构成一个完整的 A/D 转换器,其主要功能特性如下:
分辨率:
12 位
非线性误差:
小于±1/2LBS 或±1LBS
转换速率:
25us
模拟电压输入范围:
0—10V 和 0—20V,0—±5V 和 0—±10V 两档四种
电源电压:
±15V 和 5V
数据输出格式:
12 位/8 位
芯片工作模式:
全速工作模式和单一工作模式
其内部结构及引脚结构如下图所示:
[1]. Pin1(+V)——+5V 电源输入端。
[2]. Pin2(12/8 非 )——数据模式选择端,通过此引脚可选择数据纵线是 12 位或 8
位输出。
[3]. Pin3(CS 非 )——片选端。
[4]. Pin4(A0)——字节地址短周期控制端。
与端用来控制启动转换的方式和数据
输出格式。
须注意的是, 端 TTL 电平不能直接+5V 或 0V 连接。
[5]. Pin5(R/C 非 )——读转换数据控制端。
[6]. Pin6(CE)——使能端。
[7]. Pin7(V+)——正电源输入端,输入+15V 电源。
[8]. Pin8(REF OUT)——10V 基准电源电压输出端。
[9]. Pin9(AGND)——模拟地端。
[10]. Pin10(REF IN)——基准电源电压输入端。
[11]. Pin(V-)——负电源输入端,输入-15V 电源。
[12]. Pin1(V+)——正电源输入端,输入+15V 电源。
[13]. Pin13(10V IN)——10V 量程模拟电压输入端。
[14]. Pin14(20V IN)——20V 量程模拟电压输入端。
[15]. Pin15(DGND)——数字地端。
[16]. Pin16—Pin27(DB0—DB11)——12 条数据总线。
通过这 12 条数据总线向外输
出 A/D 转换数据。
[17]. Pin28(STS)——工作状态指示信号端,当 STS=1 时,表示转换器正处于转换状
态,当 STS=0 时,声明 A/D 转换结束,通过此信号可以判别 A/D 转换器的工
作状态,作为单片机的中断或查询信号之用。
CE、CS 非、R/C 非、12/8 非、A0 各控制信号的组合作用,列于表如下(× 表示
1 或 0 都可以):
10VIN,20VIN,BIP OFF:
模拟电压信号输入端。
单极性应用时,将 BIP OFF
接 0 V,双极性时接 10 V。
量程可以是 10 V,也可以是 20 V。
输入信号在 10 V 范
围内变化时,将输入信号接至 10 VIN;在 20V 范围内变化时,接至 20VIN。
模拟
输入信号的几种接法如表 3-3 所示,相应电路如图 3-18 所示。
AD574A 的输入信号连接方法如下图所示:
+ 12V
零点调整
100k O
_
12V
AD574A
AD574A
量程调整REF OUT
0 ~ 10V输入13
20VIN
10
8
12
9
100O 量程调整 100O
BIP OFF 100O
-10 ~ +10V输入
10
8
12
13
14
9
(a) 单极性
(b) 双极性
图 2-14 AD574A的输入信号连接方法
12 位 A/D 转换器 AD574A 与 PC 总线的接口有多种方式。
既可以与 PC 总线的
16 位数据总线直接相连,构成简单的 12 位数据采集系统;也可以只占用 PC 总线
的低 8 位数据总线,将转换后的 12 位数字量分两次读入主机,以节省硬件投入。
同样,在 A/D 转换器与 PC 总线之间的数据传送上也可以使用程序查询、软
件定时或中断控制等多种方法。
由于 AD574A 的转换速度很高,一般多采用查询
或定时方式。
3、 CD4051 多路模拟开关介绍
在多通道数据采集系统中,另一重要器件是模拟多路开关,或简称为多路开
关。
它用来把多个被测点伤变送器的输出量,逐个分时地接到 S/H 器或 A/D 转换
器的输入端,完成从多到一的功能。
差动多路开关同时切换两个开关,可完成差
动信号的转换。
一到多开关主要用于输出通道的转换,在有的文献中也称为“反
多路开关”。
有时也把多到一和一到多开关为别叫做“多路调制器”和“多路解调
器”。
目前,计算机控制系统使用的多路开关种类很多,并具有不同的功能和用途。
如集成电路芯片 CD4051(双向、单端、8 路)、CD4052(单向、双端、4 路)、
AD7506(单向、单端、16 路)等。
所谓双向,就是该芯片既可以实现多到一的切换,
也可以完成一到多的切换;而单向则只能完成多到一的切换。
双端是指芯片内的
一对开关同时动作,从而完成差动输入信号的切换,以满足抑制共模干扰的需要。
CC4051是单 8通道数字控制模拟开关,有三个二进制控制输入端
A0、A1、A2和 INH输入,具有低导通阻抗和很低的截止漏电流。
幅值为
4.5~20V的数字信号可控制峰-峰值至 20V的模拟信号。
例如,若
VDD=+5V,VSS=0,VEE=-13.5V,则 0~5V的数字信号可控制-13.5~4.5V
的模拟信号。
这些开关电路在整个 VDD-VSS 和 VDD-VEE 电源范围内具有极低
的静态功耗,与控制信号的逻辑状态无关。
当 INH 输入端=“1”时,所有的通道
截止。
三位二进制信号选通 8 通道中的一通道,可连接该输入端至输出。
CD4051
提供了 16引线多层陶瓷双列直插(D)、熔封陶瓷双列直插(J)、塑料双列直插
(P)和陶瓷片状载体(C)4 种封装形式。
推荐工作条件:
电源电压范围…………3V~15V
输入电压范围…………0V~VDD
工作温度范围
M 类…………-55℃~125℃
E 类………….-40℃~85℃
极限值:
电源电压…...-0.5V~18V
输入电压……-0.5V~VDD+0.5V
输入电流…………….±10mA
储存温度…………-65℃~150℃
引出端符号:
A0~A2 地址端
I0/O0~I7/O7 输入输出端
INH 禁止端
O/I 公共输出/输入端
VDD 正电源
VEE 模拟信号地
Vss 数字信号地
8 路模拟开关的结构原理如下图所示:
S0
S1
S2
S3
S4
S5
S6
S7
译
码
驱
动
电
平
转
换
Sm
A
B
C
INH
/驱器CD4051结构 部分 图
它包括电平转换、译码器图2动-3和开关电路三个组成原理。
电平转换单元可实现
CMOS 到 TTL 逻辑电平的转换。
因此,其输入电平范围宽,数字量的峰-峰值可达
20V。
其译码器/驱动器具有 16 条引脚的双列直插式封装,引脚功能与使用方法如
下:
①供电引脚 VEE、VDD、VSS:
一般情况下 VEE 和 VSS 接地,VDD 接
5V~20V。
②数字控制通道选择输入端 C、B、A:
为编码数字控制信号。
当 CBA=000~111B
时,可产生 8 选 1 译码控制信号,使 8 个通道中的唯一一路开关接通。
③禁止控制端 INH:
为数字控制信号。
当 INH=“1”时,所有的通道开关均被断
开,当 ING=“0”时,根据 CBA 的值,允许所选的一路开关接通。
使用该控制
端可以方便地实现多路开关的扩展应用。
④多到一/一道多输入端引脚 IN/OUT0~7、OUT/IN:
当用作多到一开关时,使用
IN0~7 和 OUT 功能;当用作一到多开关时,使用 OUT0~7 和 IN 功能,从而完
成双向单边任务。
使能禁止端 INH,可以很方便地进行通道数的扩展。
逻辑图:
CD4051 由电平转换、译码驱动及开关电路三部分组成。
当禁止端为“1”时,
前后级通道断开,即 S0~S7 端与 Sm 端不可能接通;当为“0”时,则通道可以被
接通,通过改变控制输入端 C、B、A 的数值,就可选通 8 个通道 S0~S7 中的一路。
比如:
当 C、B、A=000 时,通道 S0 选通;当 C、B、A=001 时,通道 S 通;
……当 C、B、A = 111 时,通道 S7 选通。
其真值表如下表所示:
4、LF398 反馈型采样/保持放大器介绍
LF398 是一种反馈型采样/保持放大器,也是目前较为流行的通用型采样/保持放大
器。
具有采样速率高、保持电压下降器和精度高等特点。
LF398 由输入缓冲级、输出驱动级和控制电路三部分组成。
控制电路中 A 主要起
到比较器的作用,其中引脚 7 为参考电压,当输入控制逻辑电平高于参考端电压时,
输出一个低电平信号驱动开关 K 闭合,此时输入信号经 A1 后跟随输出到 Az,再由 Az
的输出端跟随输出,同时向保持电容(接引脚 6 端)充电,而当控制逻辑电平低于参
考端电压时,输出一个高电平信号使开关断开,以达到非采样时间内保持器仍保持原
来输入的目的。
因此,A1、Az 是跟随器,其作用主要是对保持电容输入和输入端进行
阻抗变换,以提高采样/保持放大器的性能。
主要性能如下:
(1)反馈型采样/保持放大器
(2)双极型-结型场效应管工艺制造
(3)片内无保持电容
(4)在采样或保持状态具有高电源抑制功能
(5)低输入漂移,保持状态下输入特性不变
(6)可与 TTL、PMOS、CMOS 兼容
(7)双电源供电,电源范围宽
(8)采样时间(10V 级,到 0.01%):
20us
(9)增益误差:
0.01%
(10)下降率:
3Mv/s(typ)
(11)失调电压:
7mV
(12)保持电容:
0.01uF
其引脚图如下:
引脚 1:
V+正电源输入引脚
引脚 2:
SET0编置调零引脚
引脚 3:
IN输入引脚
引脚 4:
V-负电源电压输入引脚
引脚 5:
OUT输出引脚
引脚 6:
CH保持电容引脚
引脚 7:
REF参考电压输入引脚
引脚 8:
CON控制逻辑
5、74LS373 八 D 锁存器介绍
373 为三态输出的八 D 透明锁存器,共有 54/74S373 和 54/74LS373 两种线路结
构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):
373 的输出端 O0~O7 可直接与总线相连。
当三态允许控制端 OE 为低电平时,
O0~O7 为正常逻辑状态,可用来驱动负载或总线。
当 OE 为高电平时,O0~O7 呈高
阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁
存允许端 LE 为高电平时,O 随数据 D 而变。
当 LE 为低电平时,O 被锁存在已
建立的数据电平。
当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度
被改善 400mV。
引出端符号:
D0~D7 数据输入端
OE 三态允许控制端(低电平有效)
LE 锁存允许端
O0~O7 输出端
外部管腿图:
逻辑图:
真值表:
极限值:
电源电压…………………………………………7V
输入电压
54/74S373…………………………………………5.5V
54/74LS373…………………………………………7V
输出高阻态时高电平电压 …………………………5.5V
工作环境温度
54XXX ………………………………………………-55~125℃
74XXX ………………………………………………0~70℃
存储温度…………………………………………-65~150℃
四、系统电路图设计
每个通道连续采样 6 次,采样周期为 5 秒。
模拟输入信号是经过传感器之后的输
入值,即已把物理量如压力、温度或速度等转换成了电压量。
A/D 转换器用的是
AD574A,采样/保持器用的是 LF398,多路转换开关用的是 CD4051。
图中被测量经多路转换开关 CD4051 选通后,送到采样/保持器的输入端。
IN0~IN7 中的哪一路被选中,是由多路开关的选择控制端 A、B、C 以及晕讯锁存端
INH 控制的。
采样/保持器的工作状态由 AD574A 的 STS 状态控制。
当 A/D 转换正在
进行(或未进行)时,转换结束标志 STS 输出为高电平,经反相后,变为低电平,
送到采样/保持器的逻辑控制端,使采样/保持器处于保持状态,此时即可开始 A/D 转
换。
转换后的数字量由单片机的数据总线分两次读入 CPU。
当 AD574A 转换结束后,STS 由高电平变为低电平,反相后呈高电平,因而使
采样/保持器变为采样状态。
这种硬件连线方法不必通过单片机单独送采样/保持控制
信号,所以能加快系统响应速度。
五、程序设计
1、 程序流程图设计
程序流程图如下图所示:
过程入口
置采样值缓冲区首地址
通道号和计数器初值
送通道好,启动 A/D
读状态 STS 非
N
转换结束否?
Y
读结果存入缓冲区
修改通道号和计数器
修改采样值缓冲区指针
N
8 通道完成否
Y
返回
2、 程序设计
程序分析:
该系统采用定时采样方式,每隔 5 秒中断一次,在中断过程中完成数据的采
集。
程序设计分为两部分。
一部分为主程序,主要任务是进行初始化,完成定时
器的设置和送中断字等。
另一部分为中断服务程序,对每个通道分别采样 6 次,
并进行数字滤波。
由于系统采样周期定位 5S,定时时间长,用一个定时器不够,因此可采用两
个定时器串联的方法,即将 T0 设为定时方式,将 T1 设为计数方式。
也可以采用
软、硬件相结合的方式,即设 T0 为定时方式 1,然后用软件对其计数的方式。
本
系统采用前者。
设单片机的时钟频率为 6MHz,T0 为定时方式 1,定时时间隔为 100ms,根据
公式 T=(2 的 16 次方-X)*12/fosc,可计算出 TO 应装入的时间常数为 X=3CB0H,
可分别装入 16 位计数器 TH0 和 TL0。
设 T1 选定时方式 2,计数值为 50。
由于
8031 的各定时器之间不能直接串联,为了能对 T0 定时中断次数进行计数,这里
采用将 P1.7 引脚通过一个反相器接到 T1 引脚,当定时时间到,则将 P1.7 反相,
之后加到 T1 引脚作计数脉冲。
这样需要定时两次才能构成一个完整的计数脉冲。
因此,T1 的计数值为 25,应将计数初值 230(E6H)同时装入 TH1 和 TL1。
这里,定时器 0 和定时器 1 均允许中断,这样当计数器 T1 计满后即可产生中
断申请。
定时器的中断服务程序为数据采集程序,其任务是对 8 个模拟参量进行
巡回检测。
方法是先将 8 个通道各采样一次,然后再巡回才第二次、第三次,直
到每个通道均采样 6 次为止。
为简化线路,采样程序中使用了软件延时方式等待
转换的的完成。
主程序如下所示:
ORG0000H
AJMPMAIN
ORG000BH
AJMPINT0
ORG001BH
AJMPINT1
ORG0100H
MAIN:
MOVTMOD,#61H;设置定时器工作方式
SETBP1.7
MOVTH1,#0E6H;置定时器 1 的初值
MOVTL1,#0E6H
SETBTR1;启动 T1
MOVTH0,#3CH;置定时器 0 的初值
MOVTL0,#0B0H
SETBTR0;启动 T0
SETBET0;允许定时器 0 定时满时申请中断
SETBET1;允许定时器 1 定时满时申请中断
SETBEA;开中断
LOOP:
AJMPLOOP;模拟主程序
ORG0140H;定时器 0 中断服务程序
INT0:
CPLP1.7
MOVTH0,#3CH;重装定时器 0 的初值
MOVTL0,#0B0H
RETI
ORG0150H;定时器 1 中断服务程序
INT1:
CLRTR0;关定时器 0
MOVR0,#DATA;存放数据 RAM 的首地址送 R0
MOVCOUNT,#06H;设每个通道采样次数
ROUT0:
MOVADDR,#00H;送个通道初值
MOVBUFF,R0;数据地址送缓冲单元
ROUT1:
MOVA,ADDR;取通道号
MOVDPTR,#CHSEL;设通道号选择地址
MOVX@DPTR,A;送通道号
INCADDR;通道号加 1
NOP;延时,使采样/保持器稳定
NOP
ROUT2:
MOVDPTR,#ADSEL;送 A/D 转换器地址
MOVX@DPTR,A;启动 A/D,按 12 位转换
ACALL DELY40;延时 40um
MOVXA,@DPRT;读入高 8 位
MOVX@R0,A;存放高 8 位
INC DPTR;使 A0=1
INCR0;求低 4 位存放地址
MOVXA,@DPTR;读低 4 位
MOVX@R0,A;存放低 4 位
MOVA,R0;求存放下一个通道数据地址
ADDA,#0BH
MOVR0,A
MOVA,ADDR
CJNEA,#08H,ROUT1;判 8 个通道是否各采样一次
DJNZCOUNT,BRANCH;判是否采样 6 次
MOVTH0,#3CH;重装定时器 0 的初值
MOVTL0,#0B0H
SETBTR0;启动 T0
RETI
BRANCH:
MOVR0,BUFF
INCR0
INCR0
AJMPROUT0
DELAY40:
MOVR0,#10;延时 40us 子程序
DJNZR0,$
RET
DATAEQU00H;外部 RAM 地址
COUNT EQU20H;内部 RAM 地址
ADDREQU21H;内部 RAM 地址
BUFFEQU22H;内部 RAM 地址
CHSEL EQU8000H;通道选择地址
ADSEL EQU8400H;A/D 转换器地址
六、课程设计总结
这次课程设计使我更加深刻地理解了单片机的重要性以及其广泛的应用性。
作为
一名电子信息工程专业的学生,深入理解和应用单片机是相当有必要的。
单片机在生
活中已经无处不在。
通过与同学们的交