在VB中通過(guò)串行口進(jìn)行A/D轉換
一般的計算機測量系統中都需要配備一塊專(zhuān)用的數據采集接口卡,在我們研制的平均粒度測定儀中同樣也需有一塊數據采集接口卡。那么,能否利用微機現有的串行接口對這種對速度要求不是太高的數據進(jìn)行采樣呢?經(jīng)實(shí)驗證明,答案是肯定的。
本文引用地址:http://dyxdggzs.com/article/20613.htm1 串行口簡(jiǎn)介
微機的串行口通常為9針的d型接口,其各個(gè)引腳的定義如表1所示。 異步串行通信接口一般只使用txd、rxd和gnd三個(gè)引腳,由于a/d轉換器多數是并行的,需要的信號線(xiàn)較多,故這里我們采用其它的幾根信號線(xiàn)。我們選用了tlc1549這個(gè)具有10位數據輸出的串行a/d轉換器,它與串行通信接口的連接電路見(jiàn)圖1。

2 程序設計
由于在vb中沒(méi)有對硬件接口電路進(jìn)行直接操作的函數,因此,對串行接口的使用不能直接進(jìn)行,而是利用由microsoft提供的串行通信接口控件mscomm32.ocx來(lái)間接完成。這里使用了通信控件的這樣幾個(gè)屬性:
dtrenable 作為a/d轉換的片選信號線(xiàn),rtsenable 作為a/d轉換的時(shí)鐘信號線(xiàn)。若要使其為高電平 ,則為其賦值 true,若要使其為低電平,則為其賦值 false。dsrholding 為a/d轉換結果輸出信號線(xiàn),為true時(shí)表明輸出的是高電平,為false則表明輸出的是低電平。
下面是一段a/d轉換程序,它建立在計時(shí)器事件中,大約為一秒進(jìn)行一次a/d轉換。根據輸入的參考電壓值,計算出測得的相應電壓值并進(jìn)行顯示。

在使用中要注意,使用串行口前一定要先打開(kāi),可采用下面的方法:

圖2就是程序執行后得到的畫(huà)面。

以上所介紹的只是串行通信接口應用于非通信領(lǐng)域的一個(gè)簡(jiǎn)單例子,基于這種設計思想,我們還成功地完成了智能加密ic卡讀寫(xiě)系統等多個(gè)項目,收到了很好的效果。這種方法的成功使用,極大地減少了應用系統的復雜性,因而有廣泛的推廣價(jià)值。
評論