3-9矩阵键盘

合集下载

矩阵键盘的使用流程解

矩阵键盘的使用流程解

矩阵键盘的使用流程解析1. 简介矩阵键盘是一种常见的输入设备,用于输入数字、字母和符号等文本信息。

它由一组按键组成,通常排列成矩形的形式。

本文将介绍使用矩阵键盘的详细流程和注意事项。

2. 连接矩阵键盘在开始使用矩阵键盘之前,首先需要将其连接到计算机或其他设备。

通常,矩阵键盘使用USB接口进行连接。

只需要将键盘的USB插头插入计算机的USB接口即可完成连接。

3. 检查键盘状态在使用矩阵键盘之前,我们需要确保键盘状态正常。

检查键盘是否接通电源,以及是否有任何损坏或松动的按键。

确保键盘的线缆与接口连接良好。

4. 输入文本信息使用矩阵键盘输入文本信息非常简单。

按下键盘上相应的按键即可输入相应的字符。

例如,按下数字键1会输入数字1,按下字母键A会输入字母A。

根据需要,可以使用矩阵键盘输入各种类型的字符,包括数字、字母、标点符号等。

通过按下不同的键盘按键,可以输入相应的字符。

5. 切换输入模式一些矩阵键盘还具有切换输入模式的功能,允许用户在不同的输入模式之间进行切换。

例如,可以切换为大写字母模式、小写字母模式或数字模式等。

切换输入模式通常通过特定的按键组合完成。

具体的切换方式可以参考键盘的说明文档或者在键盘上寻找切换模式的标识。

6. 使用快捷键矩阵键盘通常还配有一些快捷键,用于执行常见的操作或调整特定的功能。

这些快捷键可以提高工作效率和便利性。

快捷键的使用方法可以参考键盘的使用手册或者在互联网上搜索相关的资料。

通过学习和使用矩阵键盘的快捷键,可以更快速、高效地完成各种任务。

7. 注意事项在使用矩阵键盘时,需要注意以下几点:•键盘操作的力度应适中,避免过重或过轻按键,以免影响操作效果。

•避免在键盘上敲击过快,以免出现漏键或误输入的情况。

•定期清洁键盘,以保持按键的灵敏度和正常的使用寿命。

•在长时间使用键盘时,适当休息并放松手指、手腕和手臂,以防止过度疲劳和不适。

8. 小结本文介绍了矩阵键盘的使用流程,并提供了一些注意事项。

第10章行列式(矩阵式)键盘接口

第10章行列式(矩阵式)键盘接口

AJMP
LKP
LTW0:JB MOV AJMP LTHR:JB MOV LKP: ADD PUSH LK3: ACALL
A.2,LTHR A,#10H LKP Acc.3,NEXT A,#18H A,R4 A DIR
;2行线为高,无键闭合,跳LTHR, ;转判3行 ;2行有键闭合,首键号10H→A ;跳LKP,计算键号 ;3行线为高,无键 ;闭合,跳NEXT,准备下一列扫描 ;3行有键闭合,首键号18H→A ;计算键号:首键号+列号=键号 ;键号进栈保护 ;调用显示子程序,延时6ms ;调用判有无键闭合子程序,延时 ;6ms ;判键释放否,未释放,则循环 ;键已释放,键号出栈→A
ACALL KS1 JNZ POP RET LK3 A
NEXT:INC
R4
;列计数器加1,为下一列扫描作准备
MOV JNB
RL MOV AJMP KND: AJMP KS1: MOV “0”→ MOV MOVX
A,R2 ;判是否已扫到最后一列(最右一列) Acc.7,KND ;键扫描已扫到最后一列,跳KND,
(2)按键的识别方法
a. 扫描法 图10-10(b)中3号键被按下为例,来说明此键 时如何被识别出来的。
识别键盘有无键被按下的方法,分两步进行: 第1步:识别键盘有无键按下; 第2步:如有键被按下,识别出具体的按键。 把所有列线置0,检查各行线电平是否有变化,如 有变化,说明有键按下,如无变化,则无键按下。 上述方法称为扫描法,即先把某一列置低电平, 其余各列为高电平,检查各行线电平的变化,如果某 行线电平为低,可确定此行列交叉点处的按键被按 下。 b. 线反转法
原则:即要保证能及时响应按键操作,又不要过多占 用CPU的工作时间。 通常,键盘工作方式有3种,即编程扫描、定时扫 描和中断扫描。 1. 编程扫描方式 只有当单片机空闲时,才调用键盘扫描子程序, 扫描键盘。 工作过程:

4.2 中断方式矩阵键盘

4.2 中断方式矩阵键盘

d
E
F
第3行
C1
30pF
R5
10k
C2
30pF
U1 X1 19 XTAL1
CRYSTAL 18 XTAL2
9 RST
C3
10uF
29 30 31
PSEN ALE EA
U2
P1.0 18 P1.1 17 P1.2 16 P1.3 15 P1.4 14 P1.5 13 P1.6 12
11
B0 B1 B2 B3 B4 B5 B6 B7


子上的电话铃响了。

➢她读或写完正在读或写的字或 电话铃响
接 电

句子后,去接电话。
➢听完电话以后,她又从打断的
批 文

地方继续读或写。
单片机 应用技术
项目四 键盘的设计与实现
认识中断
中断
1. 当CPU正在执行某个程序时,由单片机内部 主
或外部的原因引起的紧急事件,向CPU发出 请求处理的信号;
项目四 键盘的设计与实现
中断方式矩阵键盘电路
ROL0 ROL1 ROL2 ROL3 COL0 COL1 COL2 COL3
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6
第0列
R4
10k
第1列
R3
10k
第2列
第3列
R2
R1
10k
10k
0
1
2
3
第0行
4
5
6
7
第1行
8
9
A
b
第2行
C
设计一个4×4中断方式矩阵键盘
任务要求
1. 当键盘无键按下时,单片机正常工作,不执行键盘扫 描程序;

经典的矩阵键盘扫描程序

经典的矩阵键盘扫描程序

经典的矩阵键盘扫描程序查找哪个按键被按下的方法为:一个一个地查找。

先第一行输出0,检查列线是否非全高;否则第二行输出0,检查列线是否非全高;否则第三行输出0,检查列线是否非全高;如果某行输出0时,查到列线非全高,则该行有按键按下;根据第几行线输出0与第几列线读入为0,即可判断在具体什么位置的按键按下。

下面是具体程序:void Check_Key(void){unsigned char row,col,tmp1,tmp2;tmp1 = 0x10; //tmp1用来设置P1口的输出,取反后使P1.4~P1.7中有一个为0for(row=0;row<4;row++) // 行检测{P1 = 0x0f; // 先将p1.4~P1.7置高P1 =~tmp1; // 使P1.4~p1.7中有一个为0tmp1*=2; // tmp1左移一位if ((P1 & 0x0f) < 0x0f) // 检测P1.0~P1.3中是否有一位为0,只要有,则说明此行有键按下,进入列检测{tmp2 = 0x01; // tmp2用于检测出哪一列为0for(col =0;col<4;col++) // 列检测{if((P1 & tmp2)==0x00) // 该列如果为低电平则可以判定为该列{key_val =key_Map[ row*4 +col ]; // 获取键值,识别按键;key_Map为按键的定义表return; // 退出循环}tmp2*=2; // tmp2左移一位}}}} //结束这是一种比较经典的矩阵键盘识别方法,实现起来较为简单,程序短小精炼。

4*4矩阵键盘扫描程序/*设置行线为输入线,列线为输出线*/uchar KeyScan(); //按键扫描子程序void delay10ms(); //延时程序uchar key_free(); //等待按键释放程序void key_deal(); //键处理程序//主程序void main(){while(1){KeyScan();key_free();key_deal();}}//按键扫描子程序uchar KyeScan(){unsigned char key,temp;P1=0xF0;if(P1&0xF0!=0xF0){delay10ms(); //延时去抖动if(P1&0xF0!=0xF0){P1=0xFE; //扫描第一列temp=P1;temp=temp&0xF0;if(temp!=0xF0) //如果本列有键按下{switch(temp){case 0xE0: //第一行有键按下key=1;break;case 0xD0: //第二行有键按下key=4;break;case 0xB0: //第三行有键按下key=8;break;case 0x70: //第四行有键按下key=12;break;}}P1=0xFD; //扫描第二列temp=P1;temp&=0xF0;if(temp!=0xF0){switch(temp){case 0xE0: //第一行有键按下key=1;break;case 0xD0: //第二行有键按下key=5;break;case 0xB0: //第三行有键按下key=9;break;case 0x70: //第四行有键按下key=13;break;}}P1=0xFb; //扫描第三列temp=P1;temp&=0xF0;if(temp!=0xF0){switch(temp){case 0xE0: //第一行有键按下key=2;break;case 0xD0: //第二行有键按下key=6;break;case 0xB0: //第三行有键按下key=10;break;case 0x70: //第四行有键按下key=14;break;}}P1=0xF7; //扫描第四列temp=P1;temp&=0xF0;if(temp!=0xF0){switch(temp){case 0xE0: //第一行有键按下key=3;break;case 0xD0: //第二行有键按下key=7;break;case 0xB0: //第三行有键按下key=11;break;case 0x70: //第四行有键按下key=15;break;}}}return(key);}}//延时程序void delay10ms(){unsigned char i,j;for(i=0;i<10;b++)for(j=0;j<120;j++)//延时1ms{}}//等待按键释放程序uchar key_free(){key=key_scan(); //取扫描到的键值P1=0xF0;//置行线全为高电平,列线全为低电平wheile(P1&0xF0!=0xF0) //如果仍有键按下{}return(key);//返回键值}51单片机矩阵键盘扫描、数码管显示键值实验/***********************************************程序名称:矩阵键盘扫描显示键值简要说明:P1口接矩阵键盘:低四位列,高四位行使用共阳型数码管:P0口输出数码管段码,P2口输出数码管位码编写:***********************************************/#include <AT89x52.h>#define uchar unsigned char;uchar key_val=0; //定义键值,初始默认为0uchar code TAB[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xa1,0x86,0x8e}; //0~F 共阳数码管显示段码/*****按键扫描*****/void Check_Key(void){unsigned char row,col,tmp1,tmp2;tmp1 = 0x10; //tmp1用来设置P1口的输出,取反后使P1.4~P1.7中有一个为0for(row=0;row<4;row++) // 行检测{P1 = 0x0f; // 先将p1.4~P1.7置高P1 =~tmp1; // 使P1.4~p1.7中有一个为0tmp1*=2; // tmp1左移一位if ((P1 & 0x0f) < 0x0f) // 检测P1.0~P1.3中是否有一位为0,只要有,则说明此行有键按下,进入列检测{tmp2 = 0x01; // tmp2用于检测出哪一列为0for(col =0;col<4;col++) // 列检测{if((P1 & tmp2)==0x00) // 该列如果为低电平则可以判定为该列{key_val = row*4 +col; // 获取键值,识别按键return; // 退出循环}tmp2*=2; // tmp2左移一位}}}}/*****主函数,显示键值*****/void main(){P2=0x00; //位码,这里全部置低,点亮8位数码管(见视频效果)while(1){Check_Key();P0=TAB[key_val]; //显示}}实验7 矩阵按键识别技术矩阵按键部分由16个轻触按键按照4行4列排列,连接到JP50端口。

矩阵键盘的使用流程

矩阵键盘的使用流程

矩阵键盘的使用流程1. 引言矩阵键盘是一种常见的输入设备,广泛应用于各种电子产品中。

本文将介绍矩阵键盘的使用流程,包括连接矩阵键盘、矩阵键盘的工作原理以及如何进行按键操作。

2. 连接矩阵键盘连接矩阵键盘的步骤如下:1.确认矩阵键盘的接口类型:矩阵键盘通常使用USB或者PS/2接口。

查看键盘背面标签或者说明书,确认键盘的接口类型。

2.准备相应的连接线:根据键盘接口类型准备相应的连接线,如USB线或者PS/2转接器。

3.将键盘与计算机连接:将键盘的接口与计算机的相应接口进行连接。

如果使用USB接口,直接将USB线插入计算机的USB接口;如果使用PS/2接口,将PS/2转接器插入计算机的PS/2接口,然后将键盘的接口插入转接器。

4.等待操作系统自动识别:计算机会自动识别新连接的键盘,并进行适配。

稍等片刻,操作系统会完成键盘的安装。

3. 矩阵键盘的工作原理矩阵键盘的工作原理是基于一种矩阵排列的按键结构。

它将键盘按键分为行列交叉的网格,行对应按键上的触点,列则对应键盘电路中的控制信号。

当按下某个按键时,该按键所在的行和列会产生接触,触点与控制信号连接,信息传递给计算机,实现按键的输入。

4. 按键操作矩阵键盘的按键操作非常简单,只需按照以下步骤进行:1.先确认你要按下的按键所在的行和列位置。

可以参考键盘的布局图或者记住按键的位置。

2.将手指放在预定的按键上,稍微用力按下。

注意不要按错位置,避免误操作。

3.松开手指后,可以观察到键盘上对应的字符会在屏幕上显示出来。

或者,按键可能会触发电脑中的某个功能,如音量控制、页面切换等。

5. 常见问题及解决方法在使用矩阵键盘过程中,可能会遇到一些问题。

以下是一些常见问题及其解决方法:1.按键无法正常输入字符:检查键盘连接是否松动,重新连接键盘,或者尝试使用其他USB接口或者PS/2转接器进行连接。

2.按键反应迟缓:可能是键盘连接出现问题,重新连接一次或者更换连接线尝试,或者检查计算机的处理器负载情况。

矩阵键盘完整使用说明书.docx

矩阵键盘完整使用说明书.docx

键盘控制器( KEYBOARD CONTROLLER )使用说明书Operation InstructionCopyright 2003-2009. All Rights Reserved.温馨提示:感谢您使用本公司产品。

为了让您能够尽快熟练的操作本机,请您仔细阅读我们为您配备内容详细的使用说明书,从中您可以获取有关产品安全注意事项、产品介绍以及产品使用方法等方面的知识。

当您阅读完说明书后,请将它妥善保存好,以备日后参考。

如果您在产品的使用过程中发现什么问题,请联系产品技术服务人员。

谢谢您的合作!申明:在编写此说明书时我们非常小心谨慎,并认为此说明书中所提供的信息是正确可靠的,然而难免会有错误和疏漏之处,请您多加包涵并热切欢迎您的指正。

但是我们将不对本手册可能岀现的问题和疏漏负责。

同时,由于我们无法控制用户对本手册可能造成的误解,因此,将不负责在使用本手册的过程中岀现的事故或由此引起的损坏。

对于因使用本产品所造成的任何损坏第三方的索赔不负责任。

对于因软件的误操作、产品维修、或其它意外情况等引起资料的删改或丢失不负任何责任,也不对由此造成的其它间接损失负责。

本产品的发行和销售由原始购买者在许可协议条款下使用。

未经允许,任何单位和个人不得将本说明书全部或部分复制、再生或翻译成其它机器可读形式的电子媒介。

本说明书若有任何修改恕不另行通知。

因软件版本升级而造成的与本说明书不符,以软件为准。

注:本设备在岀厂前已经过严格的质量测试,符合国家电磁辐射标准。

第一部刀键盘操作,,,,,,,,,,,,,,,,,,,,J4 1.1设备概述,,,,,,,,,,,,,,,,,,,,,,,4 1.2开机运行X I Iz U I -J )))5 JJJJJJJJJJJJJJJJJJJ6 1.3乍键盘登^录,,,,,,,,,,,,,,,,,,,,,,,6 1.4键盘注销,,,,,,,,,,,,,,,,,,,,,,,6第二部分控制监控主机6 2.1选择监视器,,,,,,,,,,,,,,,,,,,,,,6 2.2选择图像,,,,,,,,,,,,,,,,,,,,,,,7 2.3向前、向后切换图像,,,,,,,,,,,,,,,,,,7 2.4图像保持,,,,,,,,,,,,,,,,,,,,,,,7 2.5主机自由切换,,,,,,,,,,,,,,,,,,,M7 2.6主机程序切换,,,,,,,,,,,,,,,,,,,,,8 2.7主机同步切换,,,,,,,,,,,,,,,,,,,,,9 2.8主机群组切换,,,,,,,,,,,,,,,,,,,,,10 2.9屏幕分割控制,,,,,,,,,,,,,,,,,,,,,10 2.10屏幕拼接控制,,,,,,,,,,,,,,,,,,,,,10 2.11保存主机当前设置,,,,,,,,,,,,,,,,,,,11 2.12网络主机控制,,,,,,,,,,,,,,,,,,,,,11 2.13监控主机菜单设置,,,,,,,,,,,,,,,,,,,11第三部分控制摄像机12 3.1选择摄像机,,,,,,,,,,,,,,,,,,,,,,12 3.2控制摄像机方向,,,,,,,,,,,,,,,,,,,,12 3.3控制摄像机镜头,,,,,,,,,,,,,,,,,,M13 3.4预置位操作,,,,,,,,,,,,,,,,,,,,,,13 3.5图像返回,,,,,,,,,,,,,,,,,,,,,,,14 3.6自动巡^视,,,,,,,,,,,,,,,,,,,,,,,14 3.7轨迹扫描,,,,,,,,,,,,,,,,,,,,,,,14 3.8域扫扌田,,,,,,,,,,,,,,,,,,,,,,,15 3.9厶台自动扫描,,,,,,,,,,,,,,,,,,,,,15 3.10操作辅助功能,,,,,,,,,,,,,,,,,,,,,16 3.11智能摄像机菜单设置,,,,,,,,,,,,,,,,,,16第四部分控制报警主机164.1选择警占八、、164.2防区警点设防、撤防,,,,,,,,,,,,,,,,,,164.3报警应答-J 1×>- I==T Z—1- I_I ))))5 JJJJJJJJJJJJJJJJJJ17 4.4警点状态查询17 4.5报警联动开、关17 4.6报警联动时间17第五部分控制数字录像机17 5.1选择数字录像机17 5.2图像监控,,,,,,,,,,,,,,,,,,,,,,,18 5.3多画面监控,,,,,,,,,,,,,,,,,,,,,,18 5.4图像浏览,,,,,,,,,,,,,,,,,,,,,,,18 5.5图像抓拍,,,,,,,,,,,,,,,,,,,,,,,18 5.6图像播放、暂停18 5.7图像快退、快进18 5.8图像段首、段末18 5.9图像帧退、帧进18 5.10图像录制19 5.11图像停止,,,,,,,,,,,,,,,,,,,,,,,19 5.12彳口息显,,,,,,,,,,,,,,,,,,,,,,J19 5.13录像机菜单设置19 5.14退岀控制数字录像机,,,,,,,,,,,,,,,,M19第八部分宏指令功冃匕”””””””””19 6.1宏指令在单级系统的应用,,,,,,,,,,,,,,,,19 6.2宏指令在多级系统的应用,,,,,,,,,,,,,,,,196.3宏指令操作/∕~∖ J H y J/卜 I \ ))JJJJJJJJJJJJJJJJJJJJ 20第七部分键盘设置,,,,,,,,,,,,,,,,,,,21 7.1通讯速率设置,,,,,,,,,,,,,,,,,,,,,21 7.2控制协议设置,,,,,,,,,,,,,,,,,,,,,21 7.3操作员设置,,,,,,,,,,,,,,,,,,,,,,22 7.4吊规设置,,,,,,,,,,,,,,,,,,,,,,,22 7.5!口言选,,,,,,,,,,,,,,,,,,,,,,,24 7.6版本信口丿,,,,,,,,,,,,,,,,,,,,,,J24 7.7退岀∕*i<--1 ' I )5 JJJJJJJJJJJJJJJJJJJJJJJ24第八部分键盘连接,,,,,,,,,,,,,,,,,,,25 8.1键盘与智能摄像机、解码器连接示意图,,,,,,,,,,25 8.2键盘与监控主机连接示意图,,,,,,,,,,,,,,,26 8.3键盘与报警主机连接示意图,,,,,,,,,,,,,,,27 8.4键盘与数字录像机连接示意图,,,,,,,,,,,,,,28安全事项―I_*- √丿、)5 JJJJJJJJJJJJJJJJJJJJJJ29主键盘控制器KEYBoARD CoNTRoLLER第一部分键盘操作1.1设备概述:主键盘控制器是以操作控制安防监控主机、智能摄像机、数字录像机、报警主机为特色的操作设备。

矩阵键盘

矩阵键盘

FPGA学习心得——矩阵键盘1、行列式键盘概述为了减少键盘与单片机接口时所占用I/O口线的数目,在键数较多时,通常都将键盘排列成行列矩阵式,行列式键盘又叫矩阵式键盘。

用带有I/O口的线组成行列结构,按键设置在行列的交点上。

例如用2*2的行列结构可以构成4个键的键盘,4*4的行列结构可以构成有16个键的键盘。

这样,当按键数量平方增长时,I/O口线只是线性增长,这样就可以节省I/O口线。

2、行列式键盘原理教研室已有薄膜矩阵键盘,其实物图如图所示。

其电路原理图如下图所示。

由行列式键盘的原理可以知道,要正确地完成按键输入工作必须有按键扫描电路产生keydrv3~keydrv0信号。

同时还必须有按键译码电路从keydrv3~keydrv0信号和keyin3~keyin0信号中译码出按键的键值。

此外,一般还需要一个按键发生标志信号用于和其他模块接口,通知其它模块键盘上有按键动作发生,并可以从键盘模块中读取按键键值。

由于各个模块需要的时钟频率是不一样的,因此时钟产生模块就是用于产生各个模块需要的时钟信号。

因此得到键盘接口电路的结构如图2所示。

图2 键盘接口电路结构图行列式键盘电路的FPGA实现主要解决三个问题,一是如何检测是否有按键按下并防止采集到干扰信号;二是在按键闭合时如何防止抖动;三是如何判断为哪一个按键位动作,并对其进行译码。

因此,为了解决这些问题,程序中使用不同的进程分别实现键盘扫描信号的产生、键盘去抖以及键盘的译码。

3、源程序[plain]view plaincopy1.----------------------------------------------------------------------------------2.-- Company:3.-- Engineer:4.--5.-- Create Date: 08:46:57 07/31/20126.-- Design Name:7.-- Module Name: MatrixKeyboard - Behavioral8.-- Project Name:9.-- Target Devices:10.-- Tool versions:11.-- Description:12.--13.-- Dependencies:14.--15.-- Revision:16.-- Revision 0.01 - File Created17.-- Additional Comments:18.--19.----------------------------------------------------------------------------------20.library IEEE;e IEEE.STD_LOGIC_1164.ALL;e IEEE.STD_LOGIC_ARITH.ALL;e IEEE.STD_LOGIC_UNSIGNED.ALL;24.25.---- Uncomment the following library declaration if instantiating26.---- any Xilinx primitives in this code.27.--library UNISIM;28.--use UNISIM.VComponents.all;29.30.entity MatrixKeyboard is31. Port ( Clk : in STD_LOGIC;32. Reset : in STD_LOGIC;33. KeyIn : in STD_LOGIC_VECTOR (3 downto 0);34. KeyScan : out STD_LOGIC_VECTOR (3 downto 0);35. LED : out STD_LOGIC_VECTOR (3 downto 0)36. );37.end MatrixKeyboard;38.39.architecture Behavioral of MatrixKeyboard is40.41.Signal Clk_scan : STD_LOGIC := '0';42.Signal Clk_5ms : STD_LOGIC := '0';43.Signal Clk_2ms : STD_LOGIC := '0';44.Signal Key_Scan : STD_LOGIC_VECTOR(3 downto 0);45.Signal Key_Decode : STD_LOGIC_VECTOR(7 downto 0);46.47.Type State_Key is(st_key1,st_key2,st_key3,st_key4);48.Signal Current_Key : State_Key := st_key1;49.50.Type State_Scan is(st_scan1,st_scan2,st_scan3,st_scan4);51.Signal Current_Scan : State_Scan := st_scan1;52.53.begin54.55. Proc_Clk_5ms : process(Clk)56. variable cnt_clk : integer range 0 to 250000 := 0;57. begin58. if(rising_edge(Clk)) then59. if(cnt_clk < 125000) then60. cnt_clk := cnt_clk + 1;61. Clk_scan <= '0';62. elsif(cnt_clk < 249999) then63. cnt_clk := cnt_clk + 1;64. Clk_scan <= '1';65. else66. cnt_clk := 0;67. end if;68. Clk_5ms <= Clk_scan;69. end if;70. end process Proc_Clk_5ms;71.72. Proc_Clk_2ms : process(Clk)73. variable cnt_clk : integer range 0 to 100000 := 0;74. begin75. if(rising_edge(Clk)) then76. if(cnt_clk < 50000) then77. cnt_clk := cnt_clk + 1;78. Clk_2ms <= '0';79. elsif(cnt_clk < 99999) then80. cnt_clk := cnt_clk + 1;81. Clk_2ms <= '1';82. else83. cnt_clk := 0;84. end if;85. end if;86. end process Proc_Clk_2ms;87.88.89. Proc_Scan:process(Clk_5ms)90. begin91. if(rising_edge(Clk_5ms)) then92. case Current_Scan is93. when st_scan1 =>94. Key_Scan <= "1110";95. Current_Scan <= st_scan2;96. when st_scan2 =>97. Key_Scan <= "1101";98. Current_Scan <= st_scan3;99. when st_scan3 =>100. Key_Scan <= "1011";101. Current_Scan <= st_scan4;102. when st_scan4 =>103. Key_Scan <= "0111";104. Current_Scan <= st_scan1;105. end case;106. end if;107.108. end process Proc_Scan;109.110. KeyScan <= Key_Scan;111. Key_Decode <= Key_Scan & Keyin;112.113. Proc_Keyboard:process(Clk_2ms,Reset)114. variable cnt_btn : integer range 0 to 50000 := 0;115. begin116. if(Reset = '1') then117. LED <= x"1";118. Current_Key <= st_key1;119. elsif(falling_edge(Clk_2ms)) then120. case Current_Key is121. when st_key1 => --Check whether any keys are p ressed122. if((Keyin and "1111") = "1111") then123. Current_Key <= st_key1;124. else125. Current_Key <= st_key2;126. end if;127. when st_key2 => --keys debouncing128. if((Keyin and "1111") = "1111") then129. Current_Key <= st_key1;130. else131. case Key_Decode is132. when "11101110" => LED <= "0001";133. when "11101101" => LED <= "0010";134. when "11101011" => LED <= "0011";135. when "11100111" => LED <= "1010";136. when "11011110" => LED <= "0100";137. when "11011101" => LED <= "0101";138. when "11011011" => LED <= "0110";139. when "11010111" => LED <= "1011";140. when "10111110" => LED <= "0111";141. when "10111101" => LED <= "1000";142. when "10111011" => LED <= "1001";143. when "10110111" => LED <= "1100";144. when "01111110" => LED <= "1110";145. when "01111101" => LED <= "0000";146. when "01111011" => LED <= "1111";147. when "01110111" => LED <= "1101";when others => null;148. end case;149. end if;150. Current_Key <= st_key3;151. when st_key3 => --Check whether the pressed keys a re released152. if((Keyin and "1111") /= "1111") then153. Current_Key <= st_key3;154. else155. Current_Key <= st_key4;156. end if;157. when st_key4 => --keys debouncing158. if((Keyin and "1111") /= "1111") then159. Current_Key <= st_key3;160. else161. LED <= x"0";162. Current_Key <= st_key1;163. end if;164. end case;165. end if;166. end process Proc_Keyboard;167.168.end Behavioral;169.薄膜键盘矩阵键盘4x4 ,单片机开发配件,机械手按键。

LMD507语音模块说明书

LMD507语音模块说明书

语音模块使用说明书(型号:LMD507)LMD507语音模块是蓝马电子推出的LMD系列语音模块之一。

集输入控制、音频存储、功放于一身。

特点是输出功率大、双路输出、稳定可靠、可重复录音、开关触点控制、体积小等。

主要控制放音方式有:通过10组触点控制、485总线控制、无线遥控。

主要应用范围:厂区、矿山、广场、住宅小区、旅游景区、营房、铁路道口等场所的安装工程、报警提示功能。

1.产品特性●板载功放模块,最高可输出功率达50W,双路输出、声音宏亮。

●板载音量调节,可根据实际安装需求进行调整。

●全新电路设计,抗干扰能力强。

●体积更小 65*52mm●全新音频播放控制算法,音质更好。

●支持多种采样格式,最多可存储24分钟声音(采样率11025Hz 16位采样),声音可任意分段,每段声音可以是任意长度。

●语音信息可分段录制、分段播放。

并可随时更换语音信息●控放音方式有:485总线控制,可以控制200段声音播放。

指令简单,工作波特率可设。

低电平触发方式(按键接地或单片机IO口置低),可接入9路常开或常闭触点控制9段声音。

无线遥控解方式,需要外接无线接收模块。

(请咨询厂家技术支持)还可以根据客户需求,开发您需要的控制方式。

●板载FLASH存储器。

成本更低,可靠性更好。

●防止误动作,内部多种保护措施。

●新增待机模式,待机状态工作电流仅8mA。

2.产品图片、接口介绍及典型应用示意图2.1产品外形图2-1 LMD507产品正面图图2-2 LMD507背板图2.2接口介绍2.2.1引脚功能引脚功能说明备注VCC 直流电源正极9~24V 宽范围电源GND 直流电流负极A 485+ 485通讯线。

录音和控制。

B 485+ 485通讯线。

录音和控制。

R- 右声道输出R+ 右声道输出L- 左声道输出L+ 左声道输出1~9 触点输入可直接按制9路声音。

1-9路触点与COM接通,即可播放声音。

10/COM 触点输入公共端JP1 485终端电阻短接此点,终端电阻接入。

矩阵键盘使用说明

矩阵键盘使用说明

矩阵键盘使用说明矩阵键盘是一种特殊设计的键盘,其按键布局呈矩阵状,与传统的直排键盘有所不同。

矩阵键盘的按键分布更加紧凑,使得用户的手指在按键时的移动距离更小,可以提高打字的速度和准确性。

在本篇文章中,将介绍矩阵键盘的基本使用说明。

1.连接键盘:2.打字基本操作:和传统键盘相比,矩阵键盘的按键布局有所不同。

在开始打字之前,需要了解矩阵键盘的按键分布。

通常情况下,矩阵键盘的按键分布为4行,每行有10个按键,共40个按键。

每个按键上标有一个字母、数字或符号,用户通过按下相应的按键来输入字符。

由于按键的布局更加紧凑,用户在使用矩阵键盘时需要稍微调整手指的位置。

一般来说,用户应该将手指放置在键盘上,使得拇指位于空格键上,食指、中指和无名指分别位于第一行、第二行和第三行按键上,小指位于第四行按键上。

这样可以更加灵活地操作按键,并提高打字的速度和准确性。

当需要输入字符时,用户可以按下相应的按键,即可将字符输入到计算机中。

和传统键盘类似,用户可以通过长按Shift键来输入大写字母,并通过按下Caps Lock键来锁定大写输入模式。

此外,矩阵键盘通常还具备一些特殊功能按键,例如功能键、控制键等。

用户可以通过按下这些特殊按键来完成一些特定的操作,例如切换输入法、调节音量等。

3.高级功能:除了基本的打字功能外,矩阵键盘通常还具备一些高级功能。

例如,一些矩阵键盘支持多键触发功能,即用户可以同时按下多个按键,以实现一些复杂的操作。

例如,在游戏中,用户可以同时按下多个按键来触发组合技能。

此外,一些矩阵键盘还支持自定义按键功能。

用户可以通过软件设置,将一些按键映射为其他功能键或字符,以满足个性化的需求。

一些高端的矩阵键盘还具备背光功能。

用户可以通过调节键盘的背光亮度和颜色,以适应不同的环境需求。

4.清洁和维护:和其他键盘一样,矩阵键盘也需要定期进行清洁和维护。

由于矩阵键盘的按键间隙较小,容易积累灰尘和污垢。

用户可以使用软刷或气泡喷射器清洁键盘表面和按键间隙。

史上最详细矩阵键盘原理

史上最详细矩阵键盘原理

case(0Xd0): KeyValue=KeyValue+8;break;
case(0Xe0): KeyValue=KeyValue+12;break;
}
while((a<50)&&(GPIO_KEY!=0xf0)) //检测按键松手检测
{
delay(1000);
a++;
//a 的作用是用于去抖动,重复检测 50 次//
}
}
}
}
void main()
{
LSA=0; //给一个数码管提供位选//
LSB=0; //给一个数码管提供位选//
LSC=0; //给一个数码管提供位选//
while(1)
//无限循环//
{
KeyDown();
//调用按键判断函数//
GPIO_DIG=smgduan[KeyValue]; //将按键数值赋给 P0 口,控制锁存器//
当接收到的数据低四位不全为高电平时说明有按键按下然后通过接收的数据值判断是哪一列有按键按下然后再反过来高四位输出高电平低四位输出低电平然后根据接收到的高四位的值判断是那一行有按键按下这样就能够确定是哪一个按键按下了
史上最详细单片机矩阵键盘原理 广东阳西福达名苑梁智钧 20180131 一、矩阵按键扫描原理 方法一: 逐行扫描:我们可以通过高四位轮流输出低电平来对矩阵键盘进行逐行扫描,当低四位接收到的数据不全为 1 的 时候,说明有按键按下,然后通过接收到的数据是哪一位为 0 来判断是哪一个按键被按下。 方法二: 行列扫描:我们可以通过高四位全部输出低电平,低四位输出高电平。当接收到的数据,低四位不全为高电平时, 说明有按键按下,然后通过接收的数据值,判断是哪一列有按键按下,然后再反过来,高四位输出高电平,低四位输 出低电平,然后根据接收到的高四位的值判断是那一行有按键按下,这样就能够确定是哪一个按键按下了。 二、原理图:

矩阵键盘

矩阵键盘

矩阵键盘目录1.矩阵式键盘的结构与工作原理2、矩阵式键盘的按键识别方法矩阵键盘是单片机编程中所使用的键盘.矩阵键盘原理图编辑本段1.矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。

在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。

这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。

由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

具体的识别及编程方法如下所述。

矩阵键盘编辑本段2、矩阵式键盘的按键识别方法<1>确定矩阵式键盘上何键被按下介绍一种“行扫描法”。

行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。

1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。

只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。

若所有列线均为高电平,则键盘中无键按下。

2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。

其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。

在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。

若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。

矩阵键盘工作原理

矩阵键盘工作原理

矩阵键盘工作原理1.按键扫描:矩阵键盘是由多个按键组成的,这些按键被排列成一个矩阵的形式。

在进行按键扫描时,会依次逐行或逐列地检测按键的状态,看是否有按键被按下。

通常,每行和每列都会有一个针脚来连接按键。

当按下一个按键时,该按键所在的行和列之间就会出现电性连通,形成一个按键矩阵电路。

2.按键编码:在按键扫描中,通过检测按键的行列连通状态可以确定哪个具体的按键被按下。

然而,矩阵键盘的针脚数量有限,无法通过直接连接给每一个按键独立编码的方式来实现,因此需要对按键信号进行编码。

一种常用的编码方式是使用行列编码器。

行列编码器通过感知具体的按键被按下的行和列连通状态来判断该按键的位置,并将该按键位置信息转化为一个对应的码值。

这个码值可以被传递给设备控制器或处理器,进而被进一步处理。

行列编码器通常通过矩阵按键的行列针脚输入来判断按键连通状态,然后将结果输出给设备控制器或处理器。

在实际应用中,矩阵键盘一般采用扫描式工作方式,即按键的行和列依次进行扫描。

具体工作步骤如下:1.首先,设备控制器或处理器会向矩阵键盘的行线输出一个低电平信号,同时将列线设置为输入状态。

2.然后,设备控制器或处理器会逐列检测按键的状态。

当有按键被按下时,该行和列之间会有电性连通,此时检测到的列的状态会改变。

设备控制器或处理器会将该连通的行列位置信息传递给行列编码器进行编码。

3.接下来,设备控制器或处理器会依次递增行的编号,重复上述步骤进行按键扫描,并实时更新按键状态信息,直到按键扫描完成。

总结起来,矩阵键盘的工作原理即通过扫描按键的行和列连通状态来检测按键是否被按下,然后通过行列编码器将按键位置信息编码为一个码值,最后将该码值传递给设备控制器或处理器进行处理。

通过这样的工作原理,矩阵键盘可以实现多个按键的同时检测和编码,为用户提供方便、高效的输入方式。

矩阵键盘及技术参数

矩阵键盘及技术参数

TC-87M V3系列智能网络矩阵型号:TC-8748-16M-V3:48路输入16路输出小型化结构全功能配置产品简介:TC-87M系列矩阵为中小规模的专业级视频监控系统提供强大灵活的智能管理,在模块化结构设计、单机视频容量、通讯控制方式、宏指令操作、字符叠加技术、矢量变速控制、多业务功能集成、多机网络级联、用户权限管理、报警联动处理、图像显示处理、系统可靠性保护等方面的创新设计,更贴近用户的实际使用,更符合技术发展的未来潮流。

功能特性:✓高密度的视频输入输出:单机箱48路输入16路输出,单机箱扩展64路视频输入32路视频输出,全交叉视频切换,可扩充为128×16。

视频信号实现板间最小路径传输,降低了多机箱扩展导致的视频衰减和信号干扰,图像指标得到最大保证,适合城市安防等大规模视频集中监控场所。

✓先进的以太网通讯处理引擎:标准以太网接口,数据通讯全IP化,矩阵采用网络方式与键盘、码分器、报警主机等外设通讯,支持100个网络外设连接,传输速率快,准确性高,误码率低,部署灵活,便于系统集成,不受距离和环境限制,适合城市跨地域联网治安管理。

WEB集控管理,虚拟键盘控制,通过IE浏览器可以在任意网络终端实现对矩阵的编程设置、日志查询、数据备份和升级维护,增强型批量设置,系统配置更简单,支持板卡状态自检网页显示。

✓灵活的多业务集成平台:创新MSIP技术,提供基于通用视频高速总线背板的扩展组件结构,CPU单元、码分器、网络交换机、电源模块全部内置,支持网络视频输出单元等多业务模块集成,可实现数字模拟混合切换和远程显示,无需复杂连接和繁琐调试即可上线,一体化集成型矩阵系统使得用户安装使用更加方便。

✓领先的字符叠加技术:OSDⅢ自主专利芯片技术,16×16点阵中文字符显示,显示更清晰,视觉更舒适,支持浏览器网页输入提交和键盘拼音输入法提交,内置国家二级字库,可叠加2行16个汉字字符信息,完整诠释监控点状态,适合对庞杂地域的准确标识。

4-1 矩阵键盘

4-1 矩阵键盘

Page 4
矩阵键盘的识别
键扫描就是要判断有无键按下,当扫描到有键
按下时再进行下一步处理,否则退出键盘处理程序。 独立式键盘扫描只需读取IO口状态,而矩阵式键盘 描通常有两种实现方法:逐行扫描法和线反转法。
Page 5
逐行扫描法
逐行扫描法 依次从第一至最末行线上发出低电平信号, 如果 该行线所连接的键没有按下的话, 则列线所接的端
0 4 8 12 1 5 9 13 2 6 10 14 3 7 11 15
Page 8
键盘接口的控制方式
在单片机的运行过程中,何时进行键盘扫描和处理, 可有下列三种情况: 1.查询方式:单片机通过调用键盘扫描子程序,查询
有无键按下。
2.定时扫描方式:每隔一定时间执行一次键盘扫描子 程序。 3.中断方式:每当有键闭合时才向CPU发出中断请求, 中断服务时进行键盘扫描和处理。
Page 12
合肥宏晶信息科技有限公司 ITek-Training Co.,Ltd.
Web: Add: 安徽省合肥市高新区中国科学技术大学先进技术研究院未来中心4楼
Thanks
Page 6
1 1 1 1
1 1
0 1 1 1
闭合键的一种常用方法, 该法比行扫描速度快, 但 在硬件上要求行线与列线外接上拉电阻。 先将行线作为输出线, 列线作为输入线, 行线输出全“0”信号, 读入列 线的值, 那么在闭合键所在的列线上的值必为0;然后从列线输出全“0” 信号,再读取行线的输入值,闭合键所在的行线值必为 0。这样,当一个 设第2行第 键被按下时, 必定可读到一对唯一的行列值。再由这一对行列值可以求 4列键按下 出闭合键所在的位置。
Page 9
短按及长按
短按:轻触一次,立即弹开。软件判断完成一项功能。 长按:按住不放,持续一段时间。软件判断完成另一项功能。

矩阵式键盘工作原理

矩阵式键盘工作原理

矩阵式键盘工作原理
矩阵式键盘的工作原理是基于矩阵电路的设计。

该键盘由一组键开关组成,这些键开关呈现出行和列的网格状布局。

每个键开关都连接到一个行列交叉点。

在键盘上按下某个按键时,该按键对应的行列交叉点位置会发生变化。

这种变化可以通过键盘控制器或芯片中的扫描电路进行检测。

扫描电路会按顺序扫描每个行和列的交叉点,检测到键按下的时候会产生一个电信号。

当键盘的控制器检测到有按键按下时,它会将该按键的信息发送到计算机。

计算机接收到按键信息后,会根据键盘映射表将按键转换为对应的字符或功能。

这样,用户通过按下键盘上的按键,就能够输入字符或执行特定的功能。

整个矩阵式键盘的工作原理可以归纳为以下几个步骤:
1. 初始化:键盘控制器配置为扫描矩阵键盘。

2. 扫描:控制器按顺序扫描每个行和列的交叉点,检测到按键按下的时候产生一个电信号。

3. 检测:键盘控制器检测到按键按下的电信号后,将其转换为对应的按键信息。

4. 传输:键盘控制器将按键信息传输给计算机。

5. 转换:计算机根据键盘映射表将按键信息转换为对应的字符或功能。

6. 执行:计算机执行输入的字符或功能。

通过这样的工作原理,用户可以通过按下矩阵式键盘上的按键,实现对计算机的输入操作。

矩阵键盘按键的数码管显示矩阵键盘按键的数码管显示

矩阵键盘按键的数码管显示矩阵键盘按键的数码管显示

一、矩阵键盘按‎键的数码管‎显示1.实验目的(1)掌握VHD‎L语言的语‎法规范,掌握时序电‎路描述方法‎(2)掌握多个数‎码管动态扫‎描显示的原‎理及设计方‎法2.实验所用仪‎器及元器件‎计算机一台‎实验板一块‎电源线一根‎扁平线一根‎下载线一根‎3.实验任务要求设计出‎4*4矩阵键盘‎对某一按键‎按下就在数‎码管显示一‎个数字。

按键从左上‎角到右下角‎依次为1,2, (16)4.实验原理按键模块原‎理键盘扫描的‎实现过程如‎下:对于4×4键盘,通常连接为‎4行、4列,因此要识别‎按键,只需要知道‎是哪一行和‎哪一列即可‎,为了完成这‎一识别过程‎,我们的思想‎是,首先固定输‎出4行为高‎电平,然后输出4‎列为低电平‎,在读入输出‎的4行的值‎,通常高电平‎会被低电平‎拉低,如果读入的‎4行均为高‎电平,那么肯定没‎有按键按下‎,否则,如果读入的‎4行有一位‎为低电平,那么对应的‎该行肯定有‎一个按键按‎下,这样便可以‎获取到按键‎的行值。

同理,获取列值也‎是如此,先输出4列‎为高电平,然后在输出‎4行为低电‎平,再读入列值‎,如果其中有‎哪一位为低‎电平,那么肯定对‎应的那一列‎有按键按下‎。

键盘键值的‎获取:键盘上的每‎一个按键其‎实就是一个‎开关电路,当某键被按‎下时,该按键的接‎点会呈现0‎的状态,反之,未被按下时‎则呈现逻辑‎1的状态。

扫描信号由‎r o w进入‎键盘,变化的顺序‎依次为11‎10-1101-1011-0111-1110。

每一次扫描‎一排,依次地周而‎复始。

例如现在的‎扫描信号为‎1011,代表目前正‎在扫描9,10,11,12这一排‎的按键,如果这排当‎中没有按键‎被按下的话‎,则由col‎umn读出‎的值为11‎11;反之当9这‎个按键被按‎下的话,则由col‎u mn读出‎的值为11‎10。

根据上面所‎述原理,我们可得到‎各按键的位‎置与数码关‎系如表所示‎:1110 1110 1110 1110 1101 1101 1101 1101row1110 1101 1011 0111 1110 1101 1011 0111 colum‎n1 2 3 4 5 6 7 8键值row 1011 1011 1011 1011 0111 0111 0111 0111colum‎n1110 1101 1011 0111 1110 1101 1011 0111键值9 10 11 12 13 14 15 16动态显示原‎理为使得输入‎控制电路简‎单且易于实‎现,采用动态扫‎描的方式实‎现设计要求‎。

矩阵键盘的工作原理和扫描确认方式

矩阵键盘的工作原理和扫描确认方式
在该方式中要使用mcu的一个定时器使其产生一个10ms的定时中断mcu响应定时中断执行键盘扫描当在连续两次中断中都读到相同的按键按下间隔10ms作为消抖处理mcu才执行相应的键处理程序中断方式
9.3.1 矩阵键盘的工作原理和扫描确认方式
来源:《AVR 单片机嵌入式系统原理与应用实践》M16 华东师范大学电子系 马潮 当键盘中按键数量较多时,为了减少对 I/O 口的占用,通常将按键排列成
矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图 9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交 点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行 或列线上的电平变化可以确定哪个按键被按下。
图 9-7 为一个 4 x 3 的行列结构,可以构成 12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个 16 键的键盘。很明显,在按键数量多的场合,矩 阵键盘与独立式按键键盘相比可以节省很多的 I/O 口线。
File name
: demo_9_3.c
Chip type
: ATmega16
Program type
: Application
Clock frequency
: 4.000000 MHz
// 输出行线电平 // 必须送 2 次!!!(注 1 // 读列电平 // 没有按键,继续扫描
// 有按键,停止扫描 // 转消抖确认状态
// 再次读列电平, // 与状态 0 的相同,确认按键 // 键盘编码,返回编码值
case 0b01000110:
key_return = K4_1;
break;
它们不仅与键盘的硬件连接有关系,同时还要注意他们在程序中是如何使用的, 其值的保存等等。

PLC矩阵输入

PLC矩阵输入

1 引言与其它工业控制系统相比,PLC控制系统具有可靠性高、抗干扰能力强等突出优点,因而广泛应用于工业控制领域。

对于那些不必采用上位机监控+PLC现场控制的简易控制系统,操作面板的完善与否直接影响到整个系统的智能化程度高低。

对小型控制系统而言,在满足功能的前提下,高性价比一直是设计人员追求的目标,若采用触摸屏(如SIEMENS的TP270)+组态软件(如PROTOOL)的方式组成人机界面,势必使整个系统的性价比大为降低,因此,提出基于PLC的矩阵式键盘设计方案具有较大的实际意义。

2 矩阵式键盘工作原理矩阵式键盘是相对于独立式键盘而言的,也叫行列式键盘,是当键数较多时为节省I/O点而采取的一种结构。

在微机系统中,矩阵式键盘的构成方式如图1所示。

图1 矩阵式键盘结构图首先,判断整个键盘上有无键按下。

方法是:将列全输出为0,然后读入行的状态,如果行读入的状态全为1,则无键按下,不全为1则有键按下。

其次,若有键按下则逐列扫描。

方法是:依次将列线送低电平0,检查对应行线的状态;若行线全为1,则按键不在此列;若不全为1,则按键必在此列,且是与0电平行线相交的那个键。

最后,确定键值,并进入键处理程序。

3 矩阵式键盘硬件设计在PLC系统中设计矩阵式键盘不仅要用到输入口,而且也要用到输出口,因此,了解PLC I/O口内部电路的结构以及工作原理是十分重要的。

下面以S7-200的DC输入、输出模块为例,简要说明其工作原理。

3.1 输入模块如图2所示,为PLC的DC输入模块,其中,K1-输入开关;M-公共端;I0.0-输入点;R1、R2的典型值为5.6K、1K。

图2 直流输入模块电路图工作原理:若输入开关K1闭合,则输入信号经RC滤波和光电隔离后,转换为PLC的CPU所需的电平(一般为5V),再经过输入选择器与CPU的总线相连,从而将外部输入开关的“ON”状态输入到PLC内部,此时输入指示灯亮,且与该输入点对应的输入映像寄存器为“1”。

数字矩阵网络键盘使用手册

数字矩阵网络键盘使用手册

数字矩阵拼接键盘使用手册网络矩阵控制方法:将键盘和矩阵连接在同一局域网,然后查看矩阵解码卡ID是否配置好。

矩阵出厂时ID都是从1开始按顺序往后移。

(我们公司的网络键盘只能控制我们公司的网络矩阵)一,键盘协议选择按键盘“A”+“确认”,进入选择模式,选择“1-CODE1”摇杆向右摇动,如图再选择“2-Network”摇杆向右摇动,如图再选择“4-9600”摇杆向右摇动,如图选择好了以后,键盘屏幕显示如下,如图V5.3为键盘软件版本ID:0 为键盘自身ID,无需设置DEC:001为当前所控解码卡的ID。

ENT:为键盘输入字符显示。

NET:9600 代表,键盘当前为网络矩阵协议,波特率9600PTZ:STOP表示摇杆当前状态。

二,常用操作:1,选择受控解码卡:“监视器/设备”+“N”+“确认”。

“N”表示受控解码可的ID号2,单画面切换为四分割/九分割画面:“运行”+“4”/“9”+“确认”3,四分割画面切换为单画面:“摄像机/通道”+“N”+“确认”(N为1~4任意数字)上下掰动摇杆,可上翻或下翻当前四通道中的某一通道。

此种切换只支持当也的几个通道切换。

4,任意画面的切换:“预置/返回”+“N”+“确认”(非PTZ模式下)5,控制云台:将云台所在通道切换为单画面,按键盘“报警”监视器左下方会出现云台控制图标。

通过键盘摇杆可以对其进行操作。

6,设置预置位:将所要设置预置位的球机切换到单面面,然后进入PTZ模式下进行一下操作;“设置/进入”+“N”+“确认”7,调用预制位: PTZ模式下输入“预置/返回”+“N”+“确认”8,进主菜单:非PTZ状态下输入“主菜单”左右摇动摇杆可以选择不同的子菜单,选中之后按“确认”键进入,“返回”键返回上一级菜单。

9,设置自动轮询:非PTZ状态下按键盘“下一页/轮巡”键,进入自动轮巡模式。

10,如何锁屏:按键盘“辅助/锁”键,可将矩阵当前解码卡上锁。

监视器右上角会出现图标。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2 REG
110 C EMPTY2 3 EXEC
111 D
KIN3KIN0
1110 1101 1011 0111 1110 1101 1011 0111 1110 1101 1011 0111 1110 1101 1011
对应按键
MEM 8 E EMPTY4 ESC 9 F SHIFT 4 A NEXT NONE 5 B ENTER
采用这种矩阵结 构只需M根行输出 线和N根列输入线, 就 可 连 接 M×N 个 按键。
4×8矩阵键盘电路原理图
4 矩阵式键盘的按键识别方法 ——“行扫描法”
行扫描法又称为逐行扫描查询法, 是一种最常用的按键识别方法,如上 图所示键盘,介绍过程如下。 1)判断键盘中有无键按下
将全部行线置低电平,然后检测列线 的状态。只要有一列的电平为低,则 表示键盘中有键被按下,若所有列线 均为高电平,则键盘中无键按下。
这是所有机械触点式按键在状态 输出时的共性问题,抖动的时间长 短取决于按键的机械特性与操作状 态,一般为10~100ms,此为键盘 处理设计时要考虑的一个重要参数。
键盘的抖动示意图
键按下
键释放
前沿抖动
闭合稳定
后沿抖动 释放稳定
6 键盘抖动干扰的消除方法
按键的抖动会造成按一次键产生的 开关状态被可编程逻辑器件误读几次。 为了使可编程逻辑器件能正确地读取按 键状态,必须在按键闭合或断开时,消 除产生的前沿或后沿抖动,去抖动的方 法有硬件方法和软件方法两种。
控制逻辑原理图
6 键盘的抖动问题
由于机械触点的弹性振动,按键 在按下时不会马上稳定地接通而在弹 起时也不能一下子完全地断开,因而 在按键闭合和断开的瞬间均会出现一 连串的抖动,这称为按键的抖动干扰, 其产生的波形如下图所示,当按键按 下时会产生前沿抖动,当按键弹起时 会产生后沿抖动。
6 键盘的抖动问题
6.1 硬件方法
硬件方法是设计一个滤波延时电路或 单稳态电路等硬件电路来避开按键的 抖动时间。下图是由R和C组成的滤波 延时消抖电路,设置在按键S与CPU数 据线Di之间。按键S未按下时,电容两
端电压为0,即与非门输入Vi为0,输 出Vo为1。
当S按下时,由于C两端电压不能突变,
充电电压Vi在充电时间内未达到与非门 的开启电压,门的输出Vo将不会改变, 直到充电电压Vi大于门的开启电压时, 与非门的输出Vo才变为0。
2)判断闭合键所在的位置 在确认有键按下后,即可进入确定
具体闭合键的过程。其方法是:依次将 行线置为低电平,即在置某根行线为低 电平时,其它线为高电平。在确定某根 行线位置为低电平后,再逐行检测各列 线的电平状态。若某列为低,则该列线 与低电平的行线交叉处的按键就是闭合 的按键。
5 键盘译码电路
键盘功能表
SEL2-SEL0
000 001 010 011
KIN3-KIN0
1110 1101 1011 0111 1110 1101 1011 0111 1110 1101 1011 0111 1110 1101 1011
对应按键 SEL2-SEL0
0 6
100 LAST CTRL
1 7
101 STEP EMPTY1
2、键盘及分类
• 键盘是一种最常用的输入设备,它是一组
按键的集合,作用是输入数据与命令,查
询和控制系统的工作状态,实现简单的人
机对话。
键盘 分类
编码键盘
独立键盘
非编码键盘
矩阵式键盘
编码键盘采用硬件编码电路来实现键的 编码,每按下一个键,键盘便能自动产生 按键代码。编码键盘主要有BCD码键盘、 ASCII码键盘等类型。
7 实验 矩阵键盘控制接口设计
7.1实验要求 设计并实现一个4×8矩阵键盘接口控
制器,含有时序产生电路、键盘扫描电路、 键盘译码及显示电路。要求当按下某一个 键时,在数码管上实现该键对应的键值。
7.2实验内容 (1)时序产生电路
分频器DCLK
(2)键盘扫描电路
键盘扫描信号的变化顺序为000-001010-011-100-101-110-111,依次循环 变化来扫描8列按键。
非编码键盘仅提供按键的通或断状态, 按键代码的产生与识别由软件完成。
编码键盘的特点是使用方便,键盘码 产生速度快,占用CPU时间少,但对按 键的检测与消除抖动干扰是靠硬件电路 来完成的,因而硬件电路复杂、成本高。 而非编码键盘硬件电路简单,成本低, 但占用CPU的时间较长。
3、矩阵式键盘
矩阵式键盘又叫行列式键盘,是用I/O 口线组成的行、列矩阵结构,在每根行线与 列线的交叉处,二线不直接相通而是通过一 个按键跨接接通。
a<=kin3&kin2&kin1&kin0; b<=sel2&sel1&sel0;
Y<="1111110"when (b="000" and a="1110" ) else "1011111"when (b="000" and a="1101" ) else "0110000"when (b="001" and a="1110" ) else "1110000"when (b="001" and a="1101" ) else "1101101"when (b="010" and a="1110" ) else "1001110"when (b="010" and a="1011" ) else "1111001"when (b="011" and a="1110" ) else "1111110"when (b="011" and a="1011" ) else "1111111"when (b="100" and a="1101" ) else "1001111"when (b="100" and a="1011" ) else "1111011"when (b="101" and a="1101" ) else "1000111"when (b="101" and a="1011" ) else "0110011"when (b="110" and a="1110" ) else "1110111"when (b="110" and a="1101" ) else "1011011"when (b="111" and a="1110" ) else "0011111"when (b="111" and a="1101" ) else "0000000"; end yima_arch;
控制逻辑原理图
• 总体仿真图形
8 小结
• 介绍了键盘组成结构 • 重点是键盘识别方法 • 键盘抖动的原理及消除方法 • 实验安排
键盘中的按键可分为数字键和功能键。 数字键主要用来输入数字,但从上述内容发
现,键盘所产生的输出KIN3~KIN0无法拿来 直接使用;另外不同的数字按键也担负不同的 功能,因此必须由键盘译码电路来规划某个按 键的输出形式,以便执行相应的动作。
有了键盘参数表 ,要写出键盘译码电路的 VHDL程序就非常容易了,尤其针对有表可以 对照的电路设计,只要使用CASE-WHEN或 WHEN-ELSE语句,便可轻松完成设计。
第三章
利用可编程逻辑器件进行 现代电子系统的设计
第9节 利用可编程逻辑器件进行 矩阵键盘控制接口的设计
1 什么是键盘?
在控制系统中,除了与生产过程进 行信息传递的过程输入输出设备以外, 还有与操作人员进行信息交换的常规输 入设备和输出设备。键盘是一种最常用 的输入设备,它是一组按键的集合,从功 能上可分为数字键和功能键两种,作用 是输入数据与命令,查询和控制系统的 工作状态,实现简单的人机对话。
(Di) Vo
Vi R2
R1
+5V
S
V1 (Di) V2
图 5-3 滤波延时消抖电路
滤波延时消抖电路图
6.2 软件方法
软件方法是指编制一段时间大于 100ms的延时程序,在第一次检测到有 键按下时,执行这段延时子程序使键的 前沿抖动消失后再检测该键状态,如果 该键仍保持闭合状态电平,则确认为该 键已稳定按下,否则无键按下,从而消 除了抖动的影响。同理,在检测到按键 释放后,也同样要延迟一段时间,以消 除后沿抖动,然后转入对该按键的处理。
process(clk) variable cn:std_logic_vector(2 downto 0); begin
if clk'event and clk='1' then if cn="111" then cn:="000"; else cn:=cn+1; end if;
end if;
sel0<=cn(0); sel1<=cn(1); sel2<=cn(2); end process; end cnt_arch;
sel2,sel1,sel0:in std_logic; Y:out std_logic_vector(6 downto 0)); end yima; architecture yima_arch of yima is signal a:std_logic_vector(3 downto 0); signal b:std_logic_vector(2 downto 0); begin
相关文档
最新文档