1、实验目的
本实验的目的是使学生在数据采集系统理论课的基础上,通过对数据采集系统的安装、连接和编程,掌握数据采集系统的使用方法,加深对数据采集系统原理、用途的了解。
2、实验内容
1)学习并掌握基于ISA总线的数据采集卡的安装,在此理论基础上学习输入与输出通道的连接方法。
2)学习并掌握基于ISA总线的数据采集系统的电路分析方法,在此基础上对数据采集系统进行汇编语言程序,使之能够在程序控制下进行数据采集。
3)学习并掌握基于ISA总线的数据采集系统的电路分析方法,对数据分配系统进行汇编语言程序,使之能够在 程序下控制:
(1)输出直流模拟电压信号。
(2)输出三角波
3、实验原理及方法
实验的基本方法是将数据采集卡插入计算机的ISA插槽内,蒋培杰电缆与采集卡连接号,在输入通道施加输入电压,之后即可开始编程。
1)数据采集卡的原理电路见附页。
2)数据采集卡的接口地址分析及确定。
试验用数据采集卡是基于PC机ISA总线的多了数据采集卡,该卡具有8路模拟输入和1路模拟输出。控制方式采用查询方式,模拟输入通道的电压输入范围是V,模拟输出通道的电压输出范围是0—10V,该卡所用的A/D转换器是AD574,D/A转换器是DAC0832。
3)数据采集程序设计流程:
(1)选择通道
(2)启动采样保持器采样
(3)延时程序
(4)启动采样保持器保持
(5)启动A/D转换
(6)判断A/D转换是否结束,若转换完毕,程序转入(7)。若转换仍在进行,程序返回(5)。
(7)去A/D转换结果:分两次读取,先取高8位,然后取出低四位,取出的数十六位,低四位为零。
4)D/A输出控制程序设计
向相应的端口写入数据即可。
4、实验仪器设备
1)数据采集卡
2)4位数字万用表
3)安装有Windows98操作系统的工业控制计算机或带有ISA总线插槽的PC电脑。
4)三路直流稳压电源
5)双踪示波器
5、实验步骤
1)在确保断电的前提下,打开计算机的机箱盖,将数据采集卡插入主机板的ISA总线扩展槽内,用螺丝刀及固定螺钉采集卡固定。检查安装无误后将机箱盖盖好
2)将连接电缆的针状DB15连接器对接,并拧紧螺钉,到此数据采集卡安装完毕(前两步已由老师事先完成)
3)分析采集卡电路,确定各端口的地址,并将相关控制口的地址填入表1
表 1
| 控制口名称 | 口地址 | 控制口名称 | 口地址 | 
| 选择通道口 | 03AC | 读转换状态口 | 03A8 | 
| 启动采样口 | 03AF | 读转换结果高8位口 | 03A1 | 
| 启动保持口 | 03AE | 读转换结果低4位口 | 03A0 | 
| 启动A/D转换口 | 03AB | 启动D/A转换口 | 03A2—03A3 | 
所编写的程序如下:
MOVE AL,00H
MOVE DX,03A3H
OUT DX,AL
MOVE DX,03A2H
OUT DX,AL
并对程序进行存盘,运行,并修改AL的值得到的输出结果如下表所示:
表2
| 电压控制码 | 输出电压理论值(V) | 输出电压实际值(V) | 
| 00 | 0 | 0.02 | 
| 0d | 1 | 1.00 | 
| 1a | 2 | 2.01 | 
| 27 | 3 | 3.02 | 
| 34 | 4 | 4.02 | 
| 40 | 5 | 4.96 | 
| 4d | 6 | 5.97 | 
| 59 | 7 | 6.98 | 
| 65 | 8 | 7.99 | 
| 71 | 9 | 9.00 | 
| 7e | 10 | 10.00 | 
所编写的程序如下:
MOV DX,03ACH
MOV AL,00H
OUT DX,AL
MOV DX,03AFH
OUT DX,AL
MOV CX,0FFFH
DELAY: DEC CX
JNZ DELAY
DEC DX
OUT DX,AL
MOV DX,03ABH
OUT DX,AL
MOV DX,03A8H
STATUS:IN AL,DX
AND AL,01H
JNZ STATUS
MOV DX,03A1H
IN AL,DX
MOV AH,AL
MOV DX,03A0H
IN AL,DX
输入程序,存盘,运行并改变输入电压之后得到的结果记录如下表:
表3
| 模拟输入信号(V) | 转换结果的实际数字码 | 转换结果的理论数字码 | 
| 5 | FFF0 | FFF0 | 
| 4 | E9A0 | E660 | 
| 3 | D7F0 | C9A0 | 
| 2 | B7F0 | B330 | 
| 1 | 9340 | 9670 | 
| 0 | 8530 | 8000 | 
| -1 | 6AC0 | 6010 | 
| -2 | 51E0 | 49A0 | 
| -3 | 26C0 | 3330 | 
| -4 | 1D40 | 1660 | 
| -5 | 0000 | 0000 | 
程序如下:
MOV CX,0FFFH
MOV AL,00H
UP: MOV DX,03A3H
OUT DX,AL
MOV DX,03A2H
OUT DX,AL
INC AL
CMP AL,80H
JNZ UP
MOV AL,80H
DOWN:MOV DX,03A3H
OUT DX,AL
DEC DX
OUT DX,AL
DEC AL
JNZ DOWN
DEC CX
JNZ UP
6、思考题
1)若实测结果与理论值不一样是什么原因?
答:电压波动、A/D转换器分辨率可能造成的1LSB的误差,A/D的电源电压抑制比, 失调温度系数和增益温度系数以等因素造成的。
2)A/D的转换结果是什么码制?
答:二进制码
3)电路设计将12位的转换结果分为高8位和低8位输出,如果要求12为并行输出,应如何改变电路设计,请提出设想。
答:由A/D转换器AD574的工作原理知:要12位并行输出,则引脚12/8应该接高电平,4引脚AO/SC应该接低电平。此外还要加一个74LS245,用于输出低4位。下载本文