用NI的數據采集卡實現簡單電子測試之6——數字I/O及測試平台


本文從本人的163博客搬遷至此。

前面幾個例子介紹了NI數據采集卡的模擬輸入和輸出功能,本例則集中介紹USB-6009的數字輸入輸出功能。本例包括基本數字IO電路及在LabVIEW中控制USB-6009的數字IO的方法。作為"用NI的數據采集卡實現簡單電子測試"系列的結束,本文最后還介紹了本系列博文的實驗板/平台。

一、數字I/O電路

1、數字輸入電路

為了形象的展示I/O口的輸入功能,使用了圖1a所示的電路,其中的DIP_SW是四位撥碼開關(又稱DIP開關或平撥開關),P1.0~P1.3被直接連接到USB-6009的數字輸入端口。

       

圖1a 數字輸入電路圖                         圖1b四位撥碼開關

四位撥碼開關外形如圖1b所示,向上撥動則開關導通,向下撥動則開關斷開。為使開關向上撥時輸出高電平,采用了圖1a所示的電阻下拉電路。值得注意的是,如本系列第一篇所述,USB-6009的I/O口在即使在輸入狀態下也具有4.7K歐姆的上拉電阻,為使撥動開關斷開時獲得低電平輸出,電路采用了1K歐姆的下拉電阻——與普通單片機電路不同。

2、數字輸出電路

數字I/O的輸出功能,可由數字輸出I/O連接的LED的亮或滅得到展示。但當USB-6009的I/O口被配置為輸出功能時,也只能提供4.7K歐姆的上拉——如果只用於點亮一只普通的LED燈則不夠明亮。如果反過來用USB-6009的灌電流來電量LED,則與學生"高電平亮,低電平滅"的思維習慣相左。因此我采用了圖2所示的LED驅動電路。

 

圖2 數字輸出電路

二、測試程序

1、數字輸入程序

數字輸入程序框圖如下圖所示。 

 

圖3 數字輸入程序框圖

輸入的二進制值時以數組的形式從讀取函數中輸出的,采用"數組索引"函數將其分解為單個二進制值,最后再分別送到前面板顯示控件,如下圖所示。

圖4 數字輸入程序運行圖

2、數字輸出程序

數字輸出控制程序框圖如下圖所示。 

 

圖5 數字輸出控制程序  

其中"P0.0控制"、"P0.1控制"……"P0.7控制"為八個二進制開關輸入控件。它們全部被一個事件結構所控制,只在波動二進制開關輸入控件數組變化時,才被統一置位和清零。運行時前面板如下圖所示。  

 

圖6 數字輸出控制程序運行效果

三、本系列的實驗平台

為完成上述基於數據采集卡的測試實驗,我設計了一塊面積為78×68mm的雙層實驗電路板,PCB圖和實物圖如下所示。  

 

圖7 實驗平台PCB圖

 

 

 

 

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM