一、各個控制端的操作地址與功能
表1 控制端的操作地址與功能
端口操作地址
操作命令
功 能
基地址+0
寫
寫通道代碼,寫8253程控代碼
基地址+0
讀
啟動d/a轉(zhuǎn)換
基地址+1
寫
啟動a/d轉(zhuǎn)換
基地址+2
讀
查詢a/d轉(zhuǎn)換狀態(tài),讀高4位轉(zhuǎn)換結(jié)果
基地址+3
讀
讀a/d低8位轉(zhuǎn)換結(jié)果,清除中斷標志
基地址+4
寫
寫d/a1 高8位數(shù)據(jù)
基地址+5
寫
寫d/a1 低4位數(shù)據(jù)
基地址+6
寫
寫d/a2 高8位數(shù)據(jù)
基地址+7
寫
寫d/a2 低4位數(shù)據(jù)
基地址+8
讀 / 寫
讀/寫8253計數(shù)器0通道數(shù)據(jù)
基地址+9
讀 / 寫
讀/寫8253計數(shù)器1通道數(shù)據(jù)
基地址+a
讀 / 寫
讀/寫8253計數(shù)器2通道數(shù)據(jù)
基地址+b
寫
寫入8253控制寄存器控制字
基地址+c
讀 / 寫
讀/寫8255 a口數(shù)據(jù)
基地址+d
讀 / 寫
讀/寫8255 b口數(shù)據(jù)
基地址+e
讀 / 寫
讀/寫8255 c口數(shù)據(jù)
基地址+f
寫
寫入8255控制寄存器控制字
二、通道代碼數(shù)據(jù)格式
表2 通道代碼的數(shù)據(jù)格式
通道號
十進制代碼
十六進制代碼
輸入方式
通道號
十進制代碼
十六進制代碼
輸入方式
1
0
00h
單/雙
17
16
10h
單
2
1
01h
單/雙
18
17
11h
單
三、查詢a/d轉(zhuǎn)換狀態(tài)數(shù)據(jù)格式
表3 查詢a/d轉(zhuǎn)換狀態(tài)數(shù)據(jù)格式
操作命令
d7
d6
d5
d4
d3
d2
d1
d0
a/d轉(zhuǎn)換狀態(tài)
讀
1
×
×
×
×
×
×
×
沒有或正在轉(zhuǎn)換
讀
0
×
×
×
×
×
×
×
轉(zhuǎn)換結(jié)束
四、a/d轉(zhuǎn)換結(jié)果數(shù)據(jù)格式
表4 a/d轉(zhuǎn)換結(jié)果數(shù)據(jù)格式
端口地址
操作命令
d7
d6
d5
d4
d3
d2
d1
d0
意 義
基地址+2
讀
0
0
0
0
db11
db10
db9
db8
高4位數(shù)據(jù)
基地址+3
讀
db7
db6
db5
db4
db3
db2
db1
db0
低8位數(shù)據(jù)
讀取低8位數(shù)據(jù)的另一附加作用是清除a/d轉(zhuǎn)換標志及中斷標志,在每一個a/d轉(zhuǎn)換程序段開始時,應(yīng)通過空讀低8位數(shù)據(jù)初始化a/d轉(zhuǎn)換標志及中斷申請標志。
五、d/a轉(zhuǎn)換數(shù)據(jù)格式
表5 d/a轉(zhuǎn)換數(shù)據(jù)格式
端口地址
操作命令
d7
d6
d5
d4
d3
d2
d1
d0
意 義
基地址+4
寫
db11
db10
db9
db8
db7
db6
db5
db4
高8位數(shù)據(jù)
基地址+5
寫
db3
db2
db1
db0
×
×
×
×
低4位數(shù)據(jù)
六、模入模出數(shù)據(jù)與模擬量的對應(yīng)關(guān)系
a. 單極性方式工作時,即模入模出的模擬量為0~10v時,12位數(shù)碼表示一個正數(shù)碼,
數(shù)碼與模擬電壓值的對應(yīng)關(guān)系為:
模入模出信號為0~10v時:
v=n(12位)×10(v)/4096 (v)
b. 雙極性方式工作時,即模入模出的模擬量為-5~+5v時,12位數(shù)碼的最高位(db11)為符號位,“0” 表示負,“1”表示正。
數(shù)碼與模擬電壓值的對應(yīng)關(guān)系為:
模入模出信號為-5~+5v時:
v=n×10(v)/4096-5 (v)
七、輸入輸出插座接口定義
圖1 輸入輸出插座接口定義
八、i/o基地址選擇
i/o基地址的選擇是通過開關(guān)k1進行的,開關(guān)撥至“on”處為0,反之為1。初始地址的選擇范圍一般為0100h~0378h之間。應(yīng)根據(jù)主機硬件手冊給出的可用范圍以及是否插入其它功能卡來決定此卡的i/o基地址。出廠時此卡的基地址設(shè)為0300h,并從基地址開始占用連續(xù)16個地址。
圖2 k1開關(guān)
a.0100h
b.0280h
c.0310h
圖3 k1開關(guān)的設(shè)置舉例