本文从本人的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图

转载于:https://www.cnblogs.com/helesheng/p/9853229.html

用NI的数据采集卡实现简单电子测试之6——数字I/O及测试平台相关推荐

  1. 用NI的数据采集卡实现简单电子测试之1——USB-6009简介

    本文从本人的163博客搬迁至此. 几年以来,一直担任学校"虚拟仪器"课程教师.以前上课都以介绍LabVIEW编程为主,硬件实验一直没有开展.这次借"西部高校实力提升工程& ...

  2. 用NI的数据采集卡实现简单电子测试之4——半导体温度传感器

    本文从本人的163博客搬迁至此. 为了展示NImax(Measurement & Automation explorer)的强大配置功能,做了一个半导体温度传感器测试的示例. 一.半导体温度传 ...

  3. 盘活NI DAQmx数据采集卡—使用DAQWare for DAQmx工具软件

    DAQWare for DAQmx是一个用于NI DAQmx驱动的数据采集卡的数据采集软件,可以帮助用户在没有LabVIEW编程基础的情况下更好的使用NI数据采集卡. DAQWare for DAQm ...

  4. 用C语言给NI公司数据采集卡编程序进行电压数据采集

    NI公司有很多款性能比较好的数据采集卡,我实验室有数据采集卡6353和USB-6210,都是USB连接电脑,只是供电方式不同,通道数目不同,我都编过一些程序,程序编写是一样的,都是调用NI公司提供的D ...

  5. 高速数据采集卡——西安慕雷之产品

    高速数据采集卡--西安慕雷之产品 高速数据采集卡是完成传感器模拟或数字电压模拟信号转换成数字信号,并把数字信号传输至计算机的电路板卡的一种装置.高速数据采集卡是相对低速数据采集卡而言的,但高速数据采集 ...

  6. Labview软件、NI数据采集卡、汽车发动机数据采集学习总结(四)-------发动机上的传感器详解

    系列文章目录 第一章:汽车发动机数据采集上位机环境的搭建 第二章:Labview中的DAQ助手中器件详解 第三章:利用labview和NI数据采集卡采集汽车发动机中温度传感器的电压信号并处理 第四章: ...

  7. python数据采集仪_数据采集卡支持python么深入理解Python生成器(Generator)

    我们可以通过列表生成式简单直接地创建一个列表,但是受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,而且如果我们仅仅需要访问前面几个元素,那后面绝大多 ...

  8. LabVIEW数据采集卡

    CSDN话题挑战赛第2期 参赛话题:学习笔记 博客写作背景----项目中解决的问题 最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用lab ...

  9. 超宽带高速记录回放系统的分类和使用方法的高速数据采集卡的分类和使用方法

    8bit 1GS/s 高速数据采集卡 产品编号:HSDAQ9870 规 格:8bit 1GS/s 高速数据采集卡 及专用高性能磁盘阵列服务器系统 产品类别:高速数据采集卡 Product charac ...

最新文章

  1. C语言编程语言科技 c语言中的= 和= =有什么区别?(精华篇)
  2. fedora25安装virtualbox虚拟机
  3. 截图工具当前未在计算机运行
  4. 我的C3P0的一些配置心得
  5. Swift之深入解析Key Paths的功能与应用
  6. OpenCV中Mat的属性
  7. HTML---HTML简介
  8. shell 将两行内容合并到同一行
  9. 用U盘给苹果电脑装Win7系统教程
  10. java http 面试题_Java面试高级篇—说说TCP,UDP和socket,Http之间联系和区别面试题12期...
  11. encodeURI() 的用法
  12. MS SQL Server对表的设计修改时不允许保存
  13. 易语言lol自动接受源码分享以及lolApi相关使用教程
  14. 制造业各细分行业数据库(2000-2019年)
  15. node的学习过程(菜鸟)
  16. 启发式搜索 :A*算法详解
  17. 【Matlab学习笔记】数据拟合polyfit与polyval
  18. C语言青蛙跳台阶详解
  19. 迅歌KTV服务器各型号,2017年ktv必点歌曲排行榜
  20. 力扣牛客每日刷题(Python解法持续更新)

热门文章

  1. 计算机数字音乐小酒窝,小酒窝数字简谱哪有?
  2. 10年程序员经历总结及后续规划
  3. java数据结构-栈
  4. Eigen构造稀疏矩阵
  5. vue 百度地图 + 定位
  6. CSDN学霸课表——学习NodeJS第一天
  7. 赞:凤凰卫视之黄永玉访谈
  8. 安卓开发的SQLite操作
  9. Parentheses Balance UVA - 673(模拟)
  10. Unity基础——光源类型