实验三 按键模块
目录
实验三 按键模块
一、实验目标
1.熟悉按键原理;
2.调用EPI提供的子vi编写读取按键状态程序;
二、硬件介绍
2.1 LITE104数字接口
逻辑接口和串行IO是复用管脚.
逻辑管脚说明
2.2 按键模块
按键模块提供开关信号,按键和电阻串联,需要外部供电,按键不按时是高电平,按下后输出低电平。
传感器有 3 个管脚,“S” 是按键管脚一端,“-”按键管脚另一端,中间管脚是连在电阻端。
名称 | 功能 |
---|---|
S | 按键管脚一端(接5v) |
供电gnd | |
按键管脚另一端 |
2.3 管脚说明
因为Digital和GroupA共用管脚。下表列处对应关系
Digital管脚 | GroupA对应管脚 |
---|---|
DIN7 | GroupA_IO0 |
DIN8 | GroupA_IO1 |
DIN9 | GroupA_IO2 |
DIN10 | GroupA_IO3 |
Digital和GroupB共用管脚。下表列处对应关系
Digital管脚 | GroupB对应管脚 |
---|---|
DO4 | GroupB_IO0 |
DO5 | GroupB_IO1 |
DO6 | GroupB_IO2 |
DO7 | GroupB_IO3 |
DO8 | GroupB_IO4 |
DO9 | GroupB_IO5 |
DO10 | GroupB_IO6 |
DO11 | GroupB_IO7 |
按键使用到了5V,GND,和GPIOA_IO2。下表列处对应关系
插孔名称 | 说明 |
---|---|
GPIOA2 | GPIO 口,读取按键端口电平状态 |
+5V | 传感器的供电,易派开启对外供电后会输出 5V |
GND | 电路的公共参考点 |
三、实验步骤
3.1 DIN管脚和按键连接
将LITE104通过usb线和电脑连接,将LITE104的DIN9连到按键模块管脚。
电路板连接如图所示:
设备连接图
3.2 运行程序
Labview运行后,按下按键可以观察上位机按键状态变化。
按键未按下状态 按键按下状态
四、LabVIEW程序解读
程序使用 E-PI
提供的接口函数通过软件编程实现传感器控制/测量。主要使用“设备初始化.vi”、“GroupA_独立
IO.vi”、“电源.vi” 。
实例在程序实现中采用了“顺序帧”模式,按照时间先后发生的事即可使用“顺序帧”
模式。如在本实例中首先需要配置 E-PI
通信端口并且打开电源对外供电功能,之后程序需要循环读取按键端口电平状态,事件的发生存在先后顺序,故可使用“顺序帧”结构,同时可以使程序变得更加可读。当然在实现代码时也可以使用“状态机”模式:如将实例分成初始状态和读取状态。“状态机”模式可见“三色
LED 模块”介绍。
4.1 整体框图
下图展示了本例程的运行界面和程序框图。
按键未按下状态 按键按下状态
整体程序框图
4.2 程序流程图
实例流程图
4.3 第一帧程序
第一帧程序实现 E-PI
通信端口设置和电源配置。程序框图可见下图第一帧。其中使用了两个接口函数:设备初始化.vi
和电源.vi。
设备初始化.vi:该 VI 会自动查找 E-PI
的通信端口,找到后其会设置该端口参数,并返回一个端口资源;若未找到端口返回的
boolean 值为 false,返回一个错误。
电源.vi:该 VI 是一个多态
VI,在使用时需要在其下拉列表中选择“电源配置”功能。设置使能端口为“True”可开启
E-PI 对外供电。
在程序上如果E-PI 存在,即“设备初始化.vi”设置 E-PI 通信端口成功则boolean
值返回true,该值直接作为“电源.vi”的输入,即开启了 E-PI 对外供电功能;如果 E-PI
不存在,“设备初始化.vi”boolean 值返回 false
并且携带一个错误返回,此时“电源.vi”不会开启对外供电功能,同时程序第二帧循环部分将不再执行,最后弹出错误提示。
端口设置和电源配置
4.4 第二帧程序
第二帧程序实现按键端口(GroupA_IO2)的电平状态读取。当按键为按下时该端口为高电平,“GroupA_独立
IO.vi”的 boolean 返回值为“true”;按键按下时改端口为低电平,“GroupA_独立 IO.vi”的
boolean 返回值为“false”。程序前面板(界面)使用 LED 表示按键按下状态,由于
LED“true”时灯亮,“false”时灯灭,程序添加取反操作后,使用 LED
灯亮来表示按键按下;灯灭表示按键未按下。程序如下:
端口电平状态读取