一、各个控制端的操作地址与功能
表1 控制端的操作地址与功能
端口操作地址 |
操作命令 |
功 能 |
基地址+0 |
写 |
写通道代码,写8253程控代码 |
基地址+0 |
读 |
启动D/A转换 |
基地址+1 |
写 |
启动A/D转换 |
基地址+2 |
读 |
查询A/D转换状态,读高4位转换结果 |
基地址+3 |
读 |
读A/D低8位转换结果,清除中断标志 |
基地址+4 |
写 |
写D/A1 高8位数据 |
基地址+5 |
写 |
写D/A1 低4位数据 |
基地址+6 |
写 |
写D/A2 高8位数据 |
基地址+7 |
写 |
写D/A2 低4位数据 |
基地址+8 |
读 / 写 |
读/写8253计数器0通道数据 |
基地址+9 |
读 / 写 |
读/写8253计数器1通道数据 |
基地址+A |
读 / 写 |
读/写8253计数器2通道数据 |
基地址+B |
写 |
写入8253控制寄存器控制字 |
基地址+C |
读 / 写 |
读/写8255 A口数据 |
基地址+D |
读 / 写 |
读/写8255 B口数据 |
基地址+E |
读 / 写 |
读/写8255 C口数据 |
基地址+F |
写 |
写入8255控制寄存器控制字 | 二、通道代码数据格式
表2 通道代码的数据格式
通道号 |
十进制代码 |
十六进制代码 |
输入方式 |
通道号 |
十进制代码 |
十六进制代码 |
输入方式 |
1 |
0 |
00H |
单/双 |
17 |
16 |
10H |
单 |
2 |
1 |
01H |
单/双 |
18 |
17 |
11H |
单 | 三、查询A/D转换状态数据格式
表3 查询A/D转换状态数据格式
操作命令 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
A/D转换状态 |
读 |
1 |
× |
× |
× |
× |
× |
× |
× |
没有或正在转换 |
读 |
0 |
× |
× |
× |
× |
× |
× |
× |
转换结束 | 四、A/D转换结果数据格式
表4 A/D转换结果数据格式
端口地址 |
操作命令 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
意 义 |
基地址+2 |
读 |
0 |
0 |
0 |
0 |
DB11 |
DB10 |
DB9 |
DB8 |
高4位数据 |
基地址+3 |
读 |
DB7 |
DB6 |
DB5 |
DB4 |
DB3 |
DB2 |
DB1 |
DB0 |
低8位数据 | 读取低8位数据的另一附加作用是清除A/D转换标志及中断标志,在每一个A/D转换程序段开始时,应通过空读低8位数据初始化A/D转换标志及中断申请标志。 五、D/A转换数据格式
表5 D/A转换数据格式
端口地址 |
操作命令 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
意 义 |
基地址+4 |
写 |
DB11 |
DB10 |
DB9 |
DB8 |
DB7 |
DB6 |
DB5 |
DB4 |
高8位数据 |
基地址+5 |
写 |
DB3 |
DB2 |
DB1 |
DB0 |
× |
× |
× |
× |
低4位数据 | 六、模入模出数据与模拟量的对应关系
a. 单极性方式工作时,即模入模出的模拟量为0~10V时,12位数码表示一个正数码, 数码与模拟电压值的对应关系为: 模入模出信号为0~10V时: V=N(12位)×10(V)/4096 (V) b. 双极性方式工作时,即模入模出的模拟量为-5~+5V时,12位数码的最高位(DB11)为符号位,“0” 表示负,“1”表示正。 数码与模拟电压值的对应关系为: 模入模出信号为-5~+5V时: V=N×10(V)/4096-5 (V) 七、输入输出插座接口定义
|
图1 输入输出插座接口定义 | 八、I/O基地址选择
I/O基地址的选择是通过开关K1进行的,开关拨至“ON”处为0,反之为1。初始地址的选择范围一般为0100H~0378H之间。应根据主机硬件手册给出的可用范围以及是否插入其它功能卡来决定此卡的I/O基地址。出厂时此卡的基地址设为0300H,并从基地址开始占用连续16个地址。
|
图2 K1开关 |
|
|
|
a.0100H |
b.0280H |
c.0310H |
图3 K1开关的设置举例 |
|