




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 PC-6501D 光隔離脈沖計(jì)數(shù)定時(shí)接口卡技術(shù)說明書1. 概述: PC-6501D 光隔離脈沖計(jì)數(shù)定時(shí)接口卡適用于具有ISA 總線的PC系列微機(jī),具有很好的兼容性,CPU從目前廣泛使用的64位處理器直到早期的16位處理器均可適用,操作系統(tǒng)可選用經(jīng)典的MS-DOS,目前流行的 Windows 系列,高穩(wěn)定性的Unix等多種操作系統(tǒng)以及專業(yè)數(shù)據(jù)采集分析系統(tǒng) LabVIEW 等軟件環(huán)境。在硬件的安裝上也非常簡(jiǎn)單,使用時(shí)只需將接口卡插入機(jī)內(nèi)任何一個(gè)ISA總線插槽中,信號(hào)電纜從機(jī)箱外部直接接入。 PC-6501D光隔離脈沖計(jì)數(shù)定時(shí)接口卡適用于符合PC總線和ISA總線標(biāo)準(zhǔn)的IBMPCXT28638648
2、6系列原裝機(jī)及其兼容機(jī)。可廣泛應(yīng)用于工業(yè)過程控制系統(tǒng)中以完成光隔離型多通道外部事件的計(jì)數(shù)、連續(xù)性脈沖量測(cè)量、可編程方波頻率發(fā)生器、定時(shí)器等多項(xiàng)功能。同時(shí)還提供了非光電隔離型的8路DI和8路DO信號(hào)。 本接口卡具有適用范圍廣、功能強(qiáng)、性能價(jià)格比高的特點(diǎn)。卡上所有的輸入輸出通道均加有光電耦合器,以實(shí)現(xiàn)與被測(cè)對(duì)象和現(xiàn)場(chǎng)環(huán)境的電氣隔離,使本卡具有較強(qiáng)的抗干擾能力和自我保護(hù)能力。同時(shí),外部事件可通過總線直接向主機(jī)申請(qǐng)中斷,以達(dá)到實(shí)時(shí)控制的目的。2. 主要技術(shù)參數(shù):2.1 輸入通道數(shù):15路。(5片8253)2.2 輸出通道數(shù):15路。2.3 工作模式: 事件計(jì)數(shù);脈沖測(cè)量;定時(shí)控制;頻率輸出。2.4 計(jì)
3、數(shù)器字長: 16位。2.5 計(jì)數(shù)范圍: 065535(任一通道)。2.6 最高計(jì)數(shù)頻率: 2MHz (不加光電耦合器)。 25KHz (加光電耦合器)。2.7 內(nèi)部時(shí)鐘:1MHz。2.8 輸入信號(hào)電平范圍:5V48V。2.9 最大輸出電流:150mA, 可直接驅(qū)動(dòng)小型繼電器。2.10 隔離方式:光電隔離(路與路之間,接口板與各路之間均隔離)。2.11 隔離電壓:500V。2.12 數(shù)字量輸入輸出部分: DI:8路,TTL標(biāo)準(zhǔn)電平。 DO:8路,TTL標(biāo)準(zhǔn)電平,有輸出鎖存功能。2.13 電源消耗:5V(±10)700mA。2.14 使用環(huán)境要求: 工作溫度:1040。 相對(duì)濕度:408
4、0。 存貯溫度:5585。2.15 外型尺寸:(不含檔板) 長×高330mm×122mm ( 13英寸×4.8英寸)3. 工作原理: PC-6501D光隔離脈沖計(jì)數(shù)定時(shí)接口卡主要由5個(gè)相同的光電隔離脈沖計(jì)數(shù)定時(shí)模塊和數(shù)字量輸入輸出部分、接口控制邏輯部分組成。每個(gè)光隔離脈沖計(jì)數(shù)定時(shí)模塊由一片8253可編程計(jì)數(shù)定時(shí)器、輸入輸出光電隔離電路及輸入信號(hào)去抖電路組成。3.1 工作原理框圖: PC-6501D 光隔離脈沖計(jì)數(shù)定時(shí)接口卡工作原理見圖1。3.2 脈沖計(jì)數(shù)定時(shí)功能的使用與管理: 本接口卡采用8253 可編程計(jì)數(shù)定時(shí)器芯片完成對(duì)外部脈沖信號(hào)的各種處理。8253芯片內(nèi)部
5、具有三個(gè)獨(dú)立的16位計(jì)數(shù)器,它可用程序設(shè)置成多種工作方式,按十進(jìn)制計(jì)數(shù)或二進(jìn)制計(jì)數(shù),最高計(jì)數(shù)速率可達(dá)2MHz。8253 能用于多種應(yīng)用場(chǎng)合,例如外部事件計(jì)數(shù)器、可編程方波頻率發(fā)生器、分頻器、實(shí)時(shí)時(shí)鐘以及程控單脈沖發(fā)生器等。 本接口卡的功能組成非常靈活,通過跨接插座的不同連接方式,可以使8253 的時(shí)鐘輸入端CLK 通過光電耦合器與被測(cè)現(xiàn)場(chǎng)信號(hào)相連,或者與卡上基準(zhǔn)時(shí)鐘相連,也可以將二至三級(jí)計(jì)數(shù)器串連使用。對(duì)于8253的啟停控制端 GATE,同樣可以通過跨接插座的選擇,使其或者受外部信號(hào)的控制或者設(shè)置為常允許。 本接口卡為方便用戶采用中斷方式工作,提供了三個(gè)中斷源IRQ2、IRQ3、IRQ7。用戶
6、可根據(jù)需要將8253的OUT信號(hào)接至這三個(gè)中斷 源上,并編寫相應(yīng)的中斷管理及處理程序。使用中應(yīng)注意不要將幾個(gè)OUT信號(hào)接在同一中斷源上。各片8253的 OUT信號(hào)也可經(jīng)過光電耦合器提供給現(xiàn)場(chǎng)的設(shè)備使用,本卡出廠時(shí)為用戶提供了15路經(jīng)過光隔的OUT信號(hào)。 圖1 工作原理框圖3.3 8253可編程計(jì)數(shù)定時(shí)器應(yīng)用簡(jiǎn)介:3.3.1 8253芯片管腳圖如圖2。 圖2 8253芯片管腳圖3.3.2 8253 功能及框圖: 8253是INTEL 公司微型計(jì)算機(jī)系統(tǒng)中的一個(gè)部件,可以將8253作為一個(gè)具有四個(gè)輸入輸出接口的器件處理,其中三個(gè)是計(jì)數(shù)器,一個(gè)是可編程序工作方式的控制寄存器。其內(nèi)部結(jié)構(gòu)圖如圖3所示。
7、 圖3 8253內(nèi)部結(jié)構(gòu)圖3.3.3 8253可編程計(jì)數(shù)定時(shí)器編程要點(diǎn): 8253的全部功能是由CPU編程設(shè)定的。CPU通過輸出指令給8253裝入控制字,從而設(shè)定其功能。8253控制字格式如下: D7 D6 D5 D4 D3 D2 D1 D0SC1SC0RL1RL0M2M1M0BCD 各位的功能見表1表4: 表1 SC1、SC0 計(jì)數(shù)器選擇SC1 SC0選 擇 計(jì) 數(shù) 器0 0選擇0#0 1選擇1#1 0選擇2#1 1非 法 表2 RL1、RL0CPU讀寫操作RL1 RL0操 作 類 型0 0計(jì)數(shù)器封鎖操作0 1讀寫計(jì)數(shù)器低8位1 0讀寫計(jì)數(shù)器高8位1 1先讀寫低8位,后讀寫高8位 表3 M2
8、、M1、M0 工作方式選擇M3 M2 M1計(jì) 數(shù) 工 作 方 式0 0 0方 式 00 0 1方 式 10 1 0方 式 20 1 1方 式 31 0 0方 式 41 0 1方 式 5 表4 BCD計(jì)數(shù)方式選擇BCD數(shù) 碼 形 式0十六位二進(jìn)制計(jì)數(shù)1四位十進(jìn)制 ( BCD ) 碼計(jì)數(shù) 82535 的三個(gè)計(jì)數(shù)器是獨(dú)立的16位減法計(jì)數(shù)器。計(jì)數(shù)器的工作方式由工作方式寄存器確定。計(jì)數(shù)器在編程寫入初始值后,在某些方式下計(jì)數(shù)到0后自動(dòng)預(yù)置,計(jì)數(shù)器連續(xù)工作。CPU訪問計(jì)數(shù)器時(shí),必須先設(shè)定工作方式控制字中的RL1、RL0位。計(jì)數(shù)器對(duì)CLK計(jì)數(shù)輸入端的輸入信號(hào)進(jìn)行遞減計(jì)數(shù)。選通信號(hào)GATE控制計(jì)數(shù)工作的進(jìn)行,其
9、功能如表5所示。 表5 選通信號(hào) GATE 的功能 低電平或進(jìn)入低電平上 升 邊 沿高 電 平方式0禁止計(jì)數(shù)-允許計(jì)數(shù)方式1-1.初始化和計(jì)數(shù) 2.下一個(gè)時(shí)鐘后清除輸出-方式21.禁止計(jì)數(shù) 2.使輸出立即變?yōu)楦唠娖?.重新裝入計(jì)數(shù)器 2.啟動(dòng)計(jì)數(shù)允許計(jì)數(shù)方式31.禁止計(jì)數(shù) 2.使輸出立即變?yōu)楦唠娖匠跏蓟陀?jì)數(shù)允許計(jì)數(shù)方式4禁止計(jì)數(shù)計(jì)數(shù)未結(jié)束時(shí)初始化和計(jì)數(shù)允許計(jì)數(shù)方式5-初始化和計(jì)數(shù)- 8253-5 的三個(gè)計(jì)數(shù)器按照各工作方式寄存器中控制字的設(shè)置進(jìn)行工作。可以選擇的工作方式有六種。這六種方式是: 方式0:計(jì)數(shù)結(jié)束時(shí)中斷。編程后自動(dòng)啟動(dòng),計(jì)數(shù)器減1 計(jì)數(shù),計(jì)數(shù)到終點(diǎn)(減至0)后輸出高電平,可用于中
10、斷請(qǐng)求信號(hào),GATE為低電平時(shí)停止計(jì)數(shù),回到高電平后繼續(xù)往下計(jì)數(shù)。再次啟動(dòng)要重新裝入計(jì)數(shù)值或重新編程。 方式1:可編程單脈沖輸出。GATE上升沿進(jìn)行初始化并開始計(jì)數(shù)。輸出低電平的寬度等于計(jì)數(shù)時(shí)間。單脈沖輸出可用 GATE 上升沿多次觸發(fā)。 方式2:比率發(fā)生器。編程后重復(fù)地循環(huán)計(jì)數(shù)。計(jì)數(shù)到終點(diǎn)時(shí)輸出一個(gè)時(shí)鐘周期寬度的低電平脈沖,自動(dòng)初始化后繼續(xù)計(jì)數(shù)。用GATE的上升沿初始化,并開始計(jì)數(shù)。GATE為低電平時(shí)停止計(jì)數(shù)。 方式3:方波發(fā)生器。這種方式是在編程后重復(fù)地循環(huán)計(jì)數(shù),輸出波形為方波。如果初始計(jì)數(shù)值為偶數(shù),每個(gè)時(shí)鐘輸入脈沖使計(jì)數(shù)器減2,達(dá)到計(jì)數(shù)終點(diǎn)時(shí)輸出電平改變。如果初始計(jì)數(shù)值為奇數(shù),則輸出高電
11、平時(shí)第一個(gè)時(shí)鐘輸入脈沖使計(jì)數(shù)器減1,隨后每個(gè)輸入脈沖使計(jì)數(shù)器減2;輸出為低電平時(shí)第一個(gè)時(shí)鐘輸入脈沖使計(jì)數(shù)器減3,隨后每個(gè)輸入脈沖使計(jì)數(shù)器減2,到達(dá)計(jì)數(shù)終點(diǎn)時(shí)輸出電平改變,計(jì)數(shù)器自動(dòng)初始化后繼續(xù)計(jì)數(shù)。用GATE的上升沿初始化并開始計(jì)數(shù),GATE為低電平時(shí)停止計(jì)數(shù)。 方式4:軟件啟動(dòng)選通脈沖輸出。編程后自動(dòng)啟動(dòng),計(jì)數(shù)到終點(diǎn)后輸出一個(gè)時(shí)鐘周期的低電平脈沖。用GATE的上升沿初始化并開始計(jì)數(shù),GATE為低電平時(shí)停止計(jì)數(shù)。 方式5:硬件啟動(dòng)選通脈沖輸出。編程后,等待 GATE 上升沿進(jìn)行初始化并開始計(jì)數(shù),計(jì)數(shù)到終點(diǎn)后輸出一個(gè)時(shí)鐘周期的低電平脈沖,計(jì)數(shù)器開始計(jì)數(shù)后不受 GATE 信號(hào)電平的影響,這種選通脈
12、沖的輸出可用GATE的上升沿多次觸發(fā)。在工作方式控制字中,如果設(shè)置計(jì)數(shù)器鎖存操作,則該控制字中工作方式選擇位M1、M0 和計(jì)數(shù)方式選擇位BCD 無效。即設(shè)置鎖存操作時(shí)不影響計(jì)數(shù)器的工作方式,計(jì)數(shù)器鎖存操作,是在計(jì)數(shù)器計(jì)數(shù)過程中,在不影響正在進(jìn)行的計(jì)數(shù)操作的條件下,把當(dāng)前的計(jì)數(shù)值鎖存到寄存器,供 CPU 讀取,這時(shí)在工作方式控制字中,SC1、SC0指定要鎖存的計(jì)數(shù)器,RL1、RL000表示鎖存操作,其余4位無效,計(jì)數(shù)器按原來設(shè)定的方式工作。4. 安裝及使用注意:4.1 安裝: 安裝本卡時(shí),應(yīng)在關(guān)電狀態(tài)下,打開主機(jī)機(jī)殼,將本卡插入主機(jī)的任一空余擴(kuò)展槽中,再將檔板固定螺絲壓緊。連接帶纜從檔板空隙處引
13、至主機(jī)后面,再與現(xiàn)場(chǎng)引線連接。4.2 本卡采用光電耦合器均不能承受過高的電壓,否則容易造成過壓擊穿損壞,一般情況下,輸入信號(hào)電平最大不要超過48V。輸出負(fù)載工作電壓不要超過36V。4.3 禁止帶電插拔本接口卡。設(shè)置接口卡開關(guān)、跨接套和安裝接口帶纜均應(yīng)在關(guān)電狀態(tài)下進(jìn)行。5. 使用與操作: 5.1 主要與使用有關(guān)的輸入輸出插座,跨接插座及地址開關(guān)位置見圖4: 圖4 主要部件位置圖5.2 輸入輸出插座定義見圖5: CZ1CZ5 CZ6 C0"、G0"、O0"是與現(xiàn)場(chǎng)對(duì)象相連的信號(hào)。一般情況下,Cn"+、Gn"+、On"+端接信號(hào)正端,Cn&
14、quot;-、Gn"-、On"-端接信號(hào)負(fù)端或地端。 圖5 輸入輸出插座定義圖 5.3 輸入插座XS1的接口定義見表6:5.4 IO基地址的選擇: IO基地址的選擇是通過開關(guān)K1進(jìn)行的,開關(guān)撥至“ON”處為0,反之為1。初始地址的選擇范圍一般為0100H01FFH;0210H02FFH以及300H036FH之間。用戶應(yīng)根據(jù)主機(jī)硬件手冊(cè)給出的可用范圍以及是否插入其它功能卡來決定本卡的IO基地址。出廠時(shí)本卡的基地址設(shè)為0300H,并從基地址開始占用連續(xù) 28 個(gè)地址。現(xiàn)舉例說 明見圖6。 A5 A6 A7 A8 A9 NC A5 A6 A7 A8 A9 NC A5 A6 A7
15、A8 A9 NC a.0100H b.0280H c.0300H 圖6 IO基地址選擇舉例 表6 輸入插座XS1接口定義表插座引腳號(hào)信號(hào)定義插座引腳號(hào)信號(hào)定義1CZ5 C220CZ5 C22CZ5 C121CZ5 C13CZ5 C022CZ5 C04CZ4 C223CZ4 C25CZ4 C124CZ4 C16CZ4 C025CZ4 C07CZ3 C226CZ3 C28CZ3 C127CZ3 C19CZ3 C028CZ3 C010CZ2 C229CZ2 C211CZ2 C130CZ2 C112CZ2 C031CZ2 C013CZ1 C232CZ1 C214CZ1 C133CZ1 C115CZ1
16、C034CZ1 C016NC35NC17NC36NC18NC37NC19NC5.5 跨接插座的用法:5.5.1跨接插座KA的用法: 在每個(gè)單元模塊中都有一個(gè)跨接插座KA,其作用是為8253的CLK選擇不同的脈沖信號(hào)源,以組成不同的工作模式。跨接插座 KA 的定義 見圖7: C0 O0 C1 O1 C2 C0 C1 C2 C0、C1、C2、O0、O1、O2表示本組8253的CLK0、CLK1、CLK2、OUT0、OUT1、OUT2信號(hào),C0、C1、C2是經(jīng)光電耦合器隔離并整形后的現(xiàn)場(chǎng)信號(hào)。為接口板上的1MHz內(nèi)部時(shí)鐘。 圖7 KA的定義a. CLK0有兩種選擇,見圖8: C0' O0 C
17、1'O1 C2' C0' O0 C1'O1 C2' C0 C1C2 C0 C1 C2 C0 C0C0' 圖8 CLK0的選擇b. CLK1有三種選擇,見圖9: C1 C1O0 (串級(jí)) C1C1' 圖9 CLK1的三種選擇 C. CLK2有三種選擇,見圖10: C2 C2O1 (串級(jí)) C2C2' 圖10 CLK2的三種選擇5.5.2 跨接插座KB的用法: 每一單元模塊中都有一個(gè)跨接插座KB,其作用是決定 8253 芯片的GATE信號(hào)是否接受外部控制,其定義見圖11: 0 1 2 0 表示 GATE0,1 表示 GATE1,2 表
18、示 GATE2 圖11 當(dāng)用戶不希望用外部信號(hào)控制GATE 端時(shí),只需用短路套將相應(yīng)位置短接即可。(出廠時(shí)為短接狀態(tài)。)5.5.3 中斷選擇插座 K2 的定義見圖12: U5 U4 U3 U2 U1 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 IRQ 7 2 3 7 2 3 7 2 3 7 2 3 7 2 3 7 2 圖12 K2的定義圖 由定義可知,U1U5的15個(gè)OUT 端直接連到 K2 的相應(yīng)位置上,用跨接套跨接后,可以向主機(jī)申請(qǐng)中斷。本卡為用戶提供了三個(gè)中斷信號(hào)供選擇使用。連接時(shí)應(yīng)注意不要將多個(gè) OUT連在一個(gè)中斷信號(hào)上。5.6 本接口卡各控制端口地址及功能見表7: 表
19、7 各端口地址及功能表端口操作地址操作命令功 能基地址0H基地址1H基地址2H基地址3H U1讀寫計(jì)數(shù)器0通道數(shù)據(jù)讀寫計(jì)數(shù)器1通道數(shù)據(jù)讀寫計(jì)數(shù)器2通道數(shù)據(jù)寫入控制寄存器控制字基地址4H基地址5H基地址6H基地址7H同上U2同上基地址8H基地址9H基地址AH基地址BH同上U3同上基地址CH基地址DH基地址EH基地址FH同上U4同上基地址10H基地址11H基地址12H基地址13H同上U5同上基地址14H基地址15H基地址16H基地址17H讀輔助的 8 路 DI基地址18H基地址19H基地址1AH基地址1BH寫輔助的 8 路 DO5.7 輸入輸出端口的使用與配置:a. 本接口卡允許輸入高電平分為以下
20、各檔:輸入高電平相應(yīng)電阻R*的匹配阻值3V6V470(出廠狀態(tài))6V12V2.4K12V24V4.7K24V48V10K 由于光電耦合器指標(biāo)分散性大,以上輸入電壓范圍僅供參考,信號(hào)源電源應(yīng)對(duì)每一路輸入提供約 10mA 電流,可用外加電壓除以匹配電阻簡(jiǎn)單估算。輸入口的電路使輸入信號(hào)電壓經(jīng)反相器后讀入計(jì)算機(jī)。b. 本接口卡輸出口為達(dá)林頓晶體管輸出,集電極開路形式,如圖13: 光電耦合器輸出部分 圖13光耦合器的輸出允許耗散功率為150mW,飽合壓降約為0.6V左右,耐壓(VCE0)約為36V。輸出口的外接線路應(yīng)注意外加電壓不要過高,負(fù)載電流不應(yīng)過大,可根據(jù)以上參數(shù)估算。6. 驅(qū)動(dòng)程序簡(jiǎn)介PC-60
21、00 系列演示程序及驅(qū)動(dòng)程序是為PC-6000 系列多功能工控采集板配制的工作在中西文Windows 95/ 98/ NT環(huán)境下的一組驅(qū)動(dòng)程序以及使用該驅(qū)動(dòng)程序組建的一個(gè)演示程序,可以方便地使用戶在中西文 Windows 環(huán)境下檢測(cè)硬件的工作狀態(tài)以及幫助軟件開發(fā)人員在常用的 CC+, Visual Basic, Delphi, Borland C+ Builder, Borland Pascal for windows 等開發(fā)環(huán)境中使用 PC-6000 系列工控采集板進(jìn)行數(shù)據(jù)采集和過程控制等工作.驅(qū)動(dòng)程序是一個(gè)標(biāo)準(zhǔn)動(dòng)態(tài)鏈接庫 (DLL文件)。它的輸出函數(shù)可以被其它應(yīng)用程序在運(yùn)行時(shí)直接調(diào)用。用戶
22、的應(yīng)用程序可以用任何一種可以使用 DLL 鏈接庫的編程工具來編寫。 每種板卡依據(jù)其自身功能的不同具有不同的輸出函數(shù)和參數(shù)定義。 驅(qū)動(dòng)程序輸出函數(shù)定義所列函數(shù)的說明格式為 VC+6.0環(huán)境下PC6000.Dll庫函數(shù)的原函數(shù)格式,無論使用哪一種開發(fā)工具,務(wù)必請(qǐng)注意數(shù)據(jù)格式的匹配及函數(shù)的返回類型,本說明中所使用的數(shù)據(jù)類型定義如下: short 16位帶符號(hào)數(shù) unsigned char - 8 位無符號(hào)數(shù) long - 32 位帶符號(hào)數(shù) unsigned long - 32 位無符號(hào)數(shù) 計(jì)數(shù)定時(shí)部分: * 函數(shù): void APIENTRY CT6501Start(short nAdd,short
23、 nChip,short nClock,long nPreLoad,short nMode) 功能: 初始化PC6501,設(shè)置8253計(jì)數(shù)器指定芯片及其指定通道的工作模式及寄存器預(yù)裝值。 參數(shù): nAdd 基地址 nChip 指定8253芯片: 0-4 nClock 指定定時(shí)計(jì)數(shù)通道: 0-2 nPreLoad 16位寄存器預(yù)裝入值(0-65535) nMode 選擇8253工作方式:0-5分別代表方式0-5 返回: 無返回值 說明: 此函數(shù)將寄存器預(yù)裝值裝入寄存器中,此時(shí)計(jì)數(shù)器是否開始計(jì)數(shù),還取決于Gate 端的狀態(tài)。 * 函數(shù): void APIENTRY CT6501Lock(short
24、 nAdd,short nChip,short nClock,short nMode) 功能: 鎖存8253計(jì)數(shù)器。 參數(shù): nAdd 基地址 nChip 8253芯片: 0-4 nClock 通道號(hào): 0-2 nMode 選擇8253工作方式:0-5分別代表方式0-5 返回: 無返回值。 說明: 此函數(shù)在調(diào)用CT6501Read函數(shù)之前調(diào)用。 * 函數(shù): unsigned long APIENTRY CT6501Read(short nAdd,short nChip,short nClock) 功能: 此函數(shù)讀取指定計(jì)數(shù)器的寄存器值。 參數(shù): nAdd 基地址 nChip 8253芯片: 0
25、-4 nClock 通道號(hào): 0-2 返回: 返回寄存器的當(dāng)前值。 說明: 此函數(shù)不影響計(jì)數(shù)器的繼續(xù)計(jì)數(shù)工作。數(shù)字量輸入輸出部分: * 函數(shù): unsigned char APIENTRY DI6501Bit(short nAdd,short nBit)功能: 采集某一位數(shù)字量輸入信號(hào)的狀態(tài)。參數(shù): nAdd 基地址 nBit 通道號(hào):0-7 * 函數(shù): unsigned char APIENTRY DI6501All(short nAdd)功能: 采集全部通道(8路) 數(shù)字量輸入信號(hào)的狀態(tài)。參數(shù): nAdd 基地址返回: 返回值為8個(gè)輸入信號(hào)的狀態(tài)。 * 函數(shù): void APIENTRY
26、DO6501Bit(short nAdd,short nBit,unsigned char nState)功能: 進(jìn)行某一個(gè)通道的數(shù)字量數(shù)據(jù)輸出操作。參數(shù): nAdd 基地址 nBit 通道號(hào): 0-7 nState 1表示將輸出高電平,0表示將輸出低電平。返回: 無返回值 * 函數(shù): void APIENTRY DO6501All(short nAdd,unsigned char nGroup)功能: 同時(shí)進(jìn)行所有8個(gè)通道的數(shù)字量數(shù)據(jù)輸出操作。參數(shù): nAdd 基地址 nGroup 8個(gè)通道的輸出狀態(tài), nGroup的D0代表Bit0, D3代表Bit3。 返回: 無返回值如有需要使用Win
27、dows系列及LabVIEW驅(qū)動(dòng)程序的用戶可向本公司索取,請(qǐng)注明所使用的操作系統(tǒng)和開發(fā)軟件。程序舉例:7. 編程舉例:7.1 設(shè)初始地址為300H,單極性輸入,對(duì)通道1采樣。7.1.1 BASIC語言: 5 Base = &H300 10 OUT(Base),0 ;送通道代碼 20 OUT(Base + 1),0 ;啟動(dòng)AD 30 IF INP(Base+2)>=128 THEN 30 ;查詢轉(zhuǎn)換結(jié)束否? 40 H=INP(Base+2) ;轉(zhuǎn)換結(jié)束,讀高4位結(jié)果 50 L=INP(Base+3) ;讀低8位結(jié)果 60 V=(H×256+L)×10000409
28、6 ;將結(jié)果轉(zhuǎn)換為十進(jìn)制數(shù) 70 PRINT V, "mV" ;顯示結(jié)果,用mV表示 80 END 注1:如為雙極性輸入,并設(shè)AD轉(zhuǎn)換輸出為雙極性偏移碼,則需將60句改為: 60 V=(H×256L)×1000040965000 注2:如為多通道巡檢,為保證轉(zhuǎn)換精度,運(yùn)放應(yīng)有足夠的建立時(shí)間,故在1020句之間應(yīng)插入適當(dāng)?shù)难訒r(shí),此延時(shí)間隔可由實(shí)驗(yàn)得出。7.1.2 對(duì)通道1連續(xù)采樣100次,程序啟動(dòng)和查詢。 C語言程序: #include "stdio.h" #include "dos.h" #include &quo
29、t;conio.h" main() int ch; /* 定義通道變量 */ float value100 /* 定義數(shù)組變量 */ int dl,dh,i,j,base; /* 定義過程變量 */ clrscr(); /* 清屏 */ base=0x300; /* 設(shè)板基地址300H*/ printf("Input channle number:");/* 輸入通道號(hào) */ scanf("%d",&ch); outportb(base,ch); /* 送通道代碼 */ for(j=0;j<100;j+) /* 設(shè)采樣次數(shù) */
30、for(i=0;i<100;i+);/* 延時(shí),常數(shù)由機(jī)型決定 */ outportb(base+1,0);/* 啟動(dòng)AD,所送數(shù)值 無關(guān) */ do /* 查詢AD轉(zhuǎn)換狀態(tài) */ ; while(inportb(base+2)>=128); dh=inportb(base+2);/* 讀高4位結(jié)果 */ dl=inportb(base+3);/* 讀低8位結(jié)果 */ valuej=(dh*256+dl)*10.0/4096.0-5.0; /* 將結(jié)果轉(zhuǎn)換為十進(jìn) 制數(shù)據(jù) */ for(j=0;j<100;j+) /* 顯示結(jié)果 */ printf("%f"
31、,valuej); 7.2 循環(huán)采集AD 32通道,程序啟動(dòng)和查詢。 C語言程序: #include "stdio.h" #include "dos.h" #include "conio.h" main() int ch; /* 定義通道變量 */ float value32; /* 定義數(shù)組變量 */ int dl,dh,i,base; /* 定義過程變量 */ clrscr(); /* 清屏 */ for(ch=0;ch<=31;ch+) /* 定義循環(huán)通道數(shù) */ base=0x300; /* 設(shè)板基地址300H */ o
32、utportb(base,ch); /* 送通道代碼 */ for(i=0;i<1000;i+); /* 延時(shí),常數(shù)由機(jī)型決定 */ outportb(base+1,0); /* 啟動(dòng)AD,所送數(shù)值無關(guān) */ do /* 查詢AD轉(zhuǎn)換狀態(tài) */ ; while(inportb(base+2)>=128); dh=inportb(base+2); /* 轉(zhuǎn)換結(jié)束,讀高4位結(jié)果 */ dl=inportb(base+3); /* 讀低8位結(jié)果 */ valuech=(dh*256+dl)*10.0/4096.0-5.0; /* 將結(jié)果轉(zhuǎn)換為十進(jìn) 制數(shù)據(jù) */ /* 下一個(gè)通道 */ f
33、or(ch=0;ch<=31;ch+) /* 顯示結(jié)果 */ printf("%f",valuech); 73 在 Windows 95/98/NT 環(huán)境下,使用 MicroSoft Visual Basic 6.0 開發(fā)環(huán)境,采用調(diào)用驅(qū)動(dòng)程序的輸出函數(shù)的方法對(duì)8253及8255進(jìn)行操作。 注意: 在VB 6.0 中, 數(shù)據(jù)類型 Integer 為 16 位帶符號(hào)整數(shù), Long 為32 位帶符號(hào)整數(shù)。'計(jì)數(shù)器Private Declare Sub CT6501Start Lib "pc6000.dll" (ByVal nAdd As In
34、teger, ByVal nChip As Integer, ByVal nClock As Integer, ByVal nPreLoad As Long, ByVal nMode As Integer)Private Declare Sub CT6501Lock Lib "pc6000.dll" (ByVal nAdd As Integer, ByVal nChip As Integer, ByVal nClock As Integer, ByVal nMode As Integer)Private Declare Function CT6501Read Lib &qu
35、ot;pc6000.dll" (ByVal nAdd As Integer, ByVal nChip As Integer, ByVal nClock As Integer) As Long'數(shù)字量Private Declare Function DI6501Bit Lib "pc6000.dll" (ByVal nAdd As Integer, ByVal nBit As Integer) As BytePrivate Declare Function DI6501All Lib "pc6000.dll" (ByVal nAdd As
36、 Integer) As BytePrivate Declare Sub DO6501Bit Lib "pc6000.dll" (ByVal nAdd As Integer, ByVal nBit As Integer, ByVal nState As Byte)Private Declare Sub DO6501All Lib "pc6000.dll" (ByVal nAdd As Integer, ByVal nGroup As Byte)Dim nState As BooleanPrivate Sub Form_Load() Dim i, j As
37、 Byte For i = 0 To 4 For j = 0 To 2 Call CT6501Start(256, i, j, 65535, 2) '初始化8253的所有通道 Next j Next iEnd SubPrivate Sub Timer1_Timer() '多通道輸出 Call DO6501All(256, DoOutValue) If DoOutValue = 0 Then AoOutValue = 255 Else AoOutValue = 0 '改變數(shù)字量輸出狀態(tài). End If '單通道輸出 For i = 0 To 7 Call DO65
38、01Bit(256, i, nState) nState = Not nState Next i '多通道輸入 Text1 = DI6501All(256) '單通道輸入 For i = 0 To 7 Text2(i) = DI6501Bit(256, i) Next i '從計(jì)數(shù)器讀取數(shù)據(jù) For i = 0 To 4 For j = 0 To 2 Call CT6501Lock(256, i, j, 2) '鎖住該通道 Text3(i * 3 + j) = CT6501Read(256, i, j) Next j Next i End Sub7.4 設(shè)本卡基
39、地址為0260H,設(shè)置U1(8253)計(jì)數(shù)器2通道以方式0工作,計(jì)數(shù)值的寫入順序是先低位后高位,計(jì)數(shù)操作采用二進(jìn)制。其控制字格式為:SC1SC0RL1RL0M2M1M0BCD10110000 B0H 設(shè)計(jì)數(shù)值為0280H,程序?yàn)椋?MOV DX, 0263H ;設(shè)端口地址為U1控制寄存器地址 MOV AL, B0H ;設(shè)U1(8253)控制字為 B0H MOV DX, AL ;送控制字 B0H 到控制寄存器內(nèi) DEC DX ;端口地址為 U1 2通道地址 MOV AL, 80H ;準(zhǔn)備低字節(jié)數(shù)據(jù) 80H OUT DX, AL ;送數(shù)據(jù)于 2通道低字節(jié)寄存器中 MOV AL, 02H ;準(zhǔn)備高字
40、節(jié)數(shù)據(jù) 02H OUT DX, AL ;送數(shù)據(jù)于 2通道高字節(jié)寄存器中 寫入計(jì)數(shù)值后,U1的CLK2輸入端開始接收脈沖,控制端GATE2(U1)接高電平時(shí),計(jì)數(shù)器2開始計(jì)數(shù),計(jì)數(shù)到0后,輸出端OUT2(U1)輸出高電平。7.5 設(shè)本卡基地址為0300H,將U1的三個(gè)計(jì)數(shù)器通道串接起來,對(duì)1MHz基準(zhǔn)分頻,產(chǎn)生1次秒的方波輸出。三個(gè)計(jì)數(shù)器均采用方式3,按十進(jìn)制計(jì)數(shù),先低后高寫數(shù)據(jù)。(硬件需按前述方法連接好)。通道0:SC1SC0RL1RL0M2M1M0BCD00110111 數(shù)據(jù)為37H ( 十進(jìn)制為55 ) 通道1:SC1SC0RL1RL0M2M1M0BCD01110111 數(shù)據(jù)為77H (
41、十進(jìn)制為119 ) 通道2:SC1SC0RL1RL0M2M1M0BCD10110111 數(shù)據(jù)為0B7H ( 十進(jìn)制為183 ) 10 CLS ;清屏 20 BASE=H300 ;設(shè)卡基地址為 0300H 30 OUT(BASE+3),55 ;設(shè)通道 0 工作方式 40 OUT(BASE+0),0 ;送通道 0 低 8 位數(shù)據(jù) 50 OUT(BASE+0),1 ;送通道 0 高 8 位數(shù)據(jù) 60 OUT(BASE+3),119 ;設(shè)通道 1 工作方式 70 OUT(BASE+1),0 ;送通道 1 低 8 位數(shù)據(jù) 80 OUT(BASE+1),1 ;送通道 1 高 8 位數(shù)據(jù) 90 OUT(BASE+3),183 ;設(shè)通道 2 工作方式 100 OUT(BASE+2),0 ;送通道 2 低 8 位數(shù)據(jù) 110 OUT(BASE+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 手術(shù)室護(hù)理指南:手術(shù)隔離技術(shù)
- 勝任才是硬道理培訓(xùn)教材
- 中班健康:身體上的寶貝
- 糖尿病合并高血壓個(gè)案護(hù)理
- 轉(zhuǎn)移性骨腫瘤的護(hù)理及管理
- 2025年品質(zhì)培訓(xùn)資料
- 住宅小區(qū)停車庫租賃合同
- 辦公家具定制化設(shè)計(jì)與售后服務(wù)承諾書
- 城市綠化帶場(chǎng)地?zé)o償使用與生態(tài)維護(hù)協(xié)議
- 電力設(shè)備與廠房使用權(quán)轉(zhuǎn)讓合同
- 2025年熔化焊接與熱切割作業(yè)中考試練習(xí)題(100題)附答案
- 2025年下半年廣州市荔灣區(qū)招考社區(qū)居委會(huì)專職工作人員招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 國家職業(yè)技術(shù)技能標(biāo)準(zhǔn) 6-16-02-08 天然氣開采工 人社廳發(fā)202226號(hào)
- 緊缺人才培育與集成電路產(chǎn)業(yè)發(fā)展趨勢(shì)
- 95式自動(dòng)步槍對(duì)不動(dòng)目標(biāo)的射擊動(dòng)作要領(lǐng)上課講義
- 建設(shè)領(lǐng)域信息技術(shù)應(yīng)用基本術(shù)語標(biāo)準(zhǔn)
- 地暖保護(hù)層合同協(xié)議
- 講好法院故事:消息寫作與新聞攝影實(shí)戰(zhàn)指南
- 2025-2030中國納豆激酶行業(yè)現(xiàn)狀調(diào)查與發(fā)展前景趨勢(shì)預(yù)測(cè)研究報(bào)告
- 慢性病管理與公共衛(wèi)生試題及答案
- 2025年04月中國熱帶農(nóng)業(yè)科學(xué)院橡膠研究所第一批公開招聘16人(第1號(hào))筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
評(píng)論
0/150
提交評(píng)論