第04讲-并行IO输入-矩阵键盘
- 格式:ppt
- 大小:148.50 KB
- 文档页数:1
矩阵键盘工作原理矩阵键盘是一种常见的计算机输入设备,它的工作原理是通过一组排列成矩阵的按键和电路来实现数据输入。
在我们日常使用的电脑键盘中,就采用了矩阵键盘的设计原理。
下面我们来详细了解一下矩阵键盘的工作原理。
首先,矩阵键盘由多个按键组成,这些按键通常被排列成矩阵的形式,每个按键都对应着一个电路。
当用户按下某个按键时,这个按键所在的电路就会被闭合,产生一个电信号。
这个信号会被传输到计算机的主板上,然后由主板进行识别和处理。
其次,矩阵键盘的工作原理是基于键盘扫描的。
在键盘扫描过程中,计算机会通过轮流地对每行和每列的电路进行检测,以确定哪些按键被按下。
具体来说,当用户按下某个按键时,它所在的行和列的电路就会连接起来,计算机就能够通过扫描检测到这个按键的存在。
然后,一旦计算机检测到有按键被按下,它就会根据按键所在的行和列的位置来确定这个按键的具体标识。
这个标识会被转换成相应的ASCII码或者其他编码方式,然后传输到计算机的操作系统中。
操作系统会根据接收到的编码来识别用户按下的是哪个按键,并进行相应的处理,比如在屏幕上显示相应的字符或者执行相应的功能。
最后,需要注意的是,矩阵键盘的工作原理是基于按键的电路连接来实现的。
因此,它对于多个按键同时按下的情况可能会存在一定的限制。
一般来说,矩阵键盘能够支持同时按下一定数量的按键,但是如果同时按下的按键超出了它的限制,就有可能会出现按键冲突的情况,导致计算机无法准确识别用户的输入。
总的来说,矩阵键盘是一种通过按键和电路排列成矩阵来实现数据输入的计算机输入设备。
它的工作原理是基于键盘扫描和按键电路连接来实现的,能够准确地识别用户的按键输入,并将输入的数据传输到计算机进行处理。
然而,需要注意的是,矩阵键盘在处理多个按键同时按下的情况时可能会存在一定的限制,需要用户在使用时注意避免按键冲突的情况发生。
矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组.矩阵键盘原理图编辑本段1.矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,上图中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。
这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。
具体的识别及编程方法如下所述。
矩阵键盘编辑本段2、矩阵式键盘的按键识别方法<1>确定矩阵式键盘上何键被按下介绍一种“行扫描法”。
行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状态。
只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。
若所有列线均为高电平,则键盘中无键按下。
2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。
其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。
在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。
若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。
下面给出一个具体的例子:图仍如上所示。
矩阵键盘
设备简介:
系统控制键盘是监控系统重要的人机对话设备,它根据操作员的键入指令对系统中的视频切换设备、音频切换设备、摄像机解码设备以及报警控制设备进行操作,并接收和检测系统中各种设备发出的回送信息。
液晶屏能显示输入的数据以及各种设备的运行状态。
主控键盘能控制网络矩阵,用于控制多台网络型联接的矩阵主机。
主控键盘是用于系统控制和系统编程的综合键盘。
主控键盘是按照人机原理进行设计的系统控制键盘,可以非常方便的控制云台转动和镜头动作,变速操纵杆能控制多种类型的智能高速球,能控制画面分割器、数字录像机。
它能完成矩阵系统的全部操作和编程设置功能。
主控键盘与矩阵系统通过RS-485接口连接,控制距离达1200米。
设备特性:
·液晶显示屏显示摄像机图像号码
·用户密码输入、操作安全可靠
·云台镜头控制、变速操纵杆控制变速球型摄像机
·内置多款控制协议,可直接控制不同厂家球机和云台
·监视器/摄像机选择,液晶显示屏显示运行状态
·控制解码器、画面分割器、数字录像机
·多至16个系统键盘联机工作
·控制多台网络矩阵、系统菜单综合设置
·报警布防、撤防、报警联动功能
·通过编程可设定系统规模、控制范围
·总线自动巡更线路故障报警功能。
矩阵键盘的应用原理什么是矩阵键盘矩阵键盘是一种常见的输入设备,它由多行多列的按键组成,可以通过按下不同的按键来输入不同的字符和命令。
矩阵键盘通常被用于计算机、电子设备和智能家居等领域。
矩阵键盘的工作原理矩阵键盘的工作原理非常简单,它通过将按键排列成行和列的形式,并使用矩阵的方式进行扫描和识别。
下面是矩阵键盘的工作原理的步骤:1.按键排列:矩阵键盘的按键被排列成多行多列的矩阵。
每个按键都与一个特定的行和列相连。
2.按键扫描:当用户按下某个按键时,这个按键所在的行和列都会被激活。
矩阵键盘会依次扫描每一行并检测是否有按键被按下。
3.按键识别:当矩阵键盘检测到某一行被激活时,它会继续扫描该行的每一列。
如果某一列也被激活,矩阵键盘就可以确定用户按下了特定的按键。
4.字符输入:根据按键识别的结果,矩阵键盘可以将相应的字符或命令发送给计算机或其他设备进行处理。
矩阵键盘的优势矩阵键盘相比其他类型的键盘有以下优势:•节省空间:由于按键被排列成矩阵的形式,矩阵键盘相对于其他键盘类型来说更加紧凑,占用空间更少。
•便于集成:矩阵键盘可以很容易地与其他电子设备集成在一起,其扁平化的设计也使得它更容易嵌入到各种设备中。
•多功能性:通过合理的布局和设计,矩阵键盘可以实现多种功能,例如数字输入、控制命令和快捷键等。
•灵活性:矩阵键盘的按键布局可以灵活调整,适应不同的应用场景和用户需求。
矩阵键盘的应用领域矩阵键盘在各种领域都有广泛的应用,其中包括:1.计算机:矩阵键盘是计算机最常见的输入设备之一,用于输入字符、命令和快捷键等。
2.电子设备:矩阵键盘也被广泛用于电子设备,如手机、平板电脑、数字相机等,用于输入字符、控制命令和菜单导航等。
3.智能家居:矩阵键盘可以作为智能家居控制面板的一部分,用于控制灯光、温度、音响等设备。
4.工业自动化:在工业自动化领域,矩阵键盘通常被用于控制面板和操作界面,用于操作和控制各种设备和机械。
5.安防系统:矩阵键盘还可用于安防系统中的控制面板,例如安全门、门禁系统和监控设备等。
矩阵键盘程序设计矩阵键盘程序设计1.引言2.矩阵键盘的工作原理矩阵键盘由多行多列的按键组成,每个按键都与行线和列线相交。
当按下某一个按键时,行线和列线会形成一个闭合电路,通过这个闭合电路来传递按键的信号。
通过扫描行线和列线的状态,可以确定用户按下了哪个按键。
3.矩阵键盘的程序设计在程序设计中,需要初始化矩阵键盘的引脚配置,即将每个行线和列线连接到相应的引脚上。
然后,通过循环扫描行线和列线的状态,判断用户是否按下了某个按键。
一般情况下,矩阵键盘的扫描速度比较快,可以采用中断的方式来进行扫描,提高响应速度。
以下是一个简单的矩阵键盘程序设计示例:import RPi.GPIO as GPIO初始化引脚配置row_pins = [11, 13, 15, 16] 行引脚col_pins = [18, 22, 24, 26] 列引脚GPIO.setmode(GPIO.BOARD)设置行引脚为输出模式,列引脚为输入模式for pin in row_pins:GPIO.setup(pin, GPIO.OUT)for pin in col_pins:GPIO.setup(pin, GPIO.IN)循环扫描矩阵键盘while True:for row in row_pins:设置当前行引脚为低电平GPIO.output(row, GPIO.LOW)for col in col_pins:判断当前列引脚是否为高电平,即判断用户是否按下了某个按键if GPIO.input(col) == GPIO.HIGH:处理按键事件print(\。
矩阵键盘程序设计一、介绍矩阵键盘是一种常见的输入设备,通常由多个行和列组成。
每个键都和一个特定的行列交叉点相连,通过检测行和列的连接状态来判断按下的是哪个键。
本文档将介绍如何设计一个基于矩阵键盘的程序。
二、硬件要求为了实现矩阵键盘程序,我们需要以下硬件设备:1-矩阵键盘:包括行和列连接点,每个键与一个特定行列连接。
2-微控制器:用于检测行列的连接状态,并处理按键输入。
3-连接线:连接矩阵键盘和微控制器的电缆。
三、程序设计步骤设计一个矩阵键盘程序的基本步骤如下:1-初始化:设置微控制器的输入输出引脚,并配置矩阵键盘的行列连接点。
2-扫描键盘:循环扫描每个连接点,判断是否有按键按下。
3-按键处理:如果有按键按下,触发相应的事件或执行相应的操作。
4-循环:重复进行扫描和处理,实现实时响应。
四、初始化设置在程序的启动阶段,需要进行初始化设置以准备矩阵键盘的使用。
1-设置输入输出引脚:将微控制器上的引脚设置为输入或输出模式,以便连接矩阵键盘和其他设备。
2-配置连接点:设置行和列的连接点,将矩阵键盘的每个键与特定的行列连接。
五、扫描键盘扫描矩阵键盘是检测按键状态的关键步骤。
1-选定一行:将矩阵键盘的行连接点设置为高电平,其他行连接点设置为低电平。
2-读取列状态:读取每一列连接点的状态,判断是否有按键按下。
3-判断按键:根据读取到的列状态,确定按下的是哪个键。
可以使用一个矩阵或查找表来管理键和行列交叉点之间的对应关系。
六、按键处理一旦检测到按键按下,程序需要触发相应的事件或执行相应的操作。
1-事件处理:例如,如果按下的是数字键,则触发相应数字的事件。
2-操作执行:例如,如果按下的是功能键,则执行相应的功能。
七、附件本文档涉及的附件包括以下内容:1-矩阵键盘的电路图:详细描述了键盘的连接方式和连接点的布局。
2-微控制器的引脚分配表:列出了微控制器上各个引脚与矩阵键盘的连接方式。
八、法律名词及注释1-版权:对于矩阵键盘的设计,可能涉及版权保护的内容,需要遵守相关法律法规。
单片机外接键盘电路一、原理简介键盘接口电路是单片机系统设计非常重要的一环,作为人机交互界面里最常用的输入设备。
我们可以通过键盘输入数据或命令来实现简单的人机通信。
在设计键盘电路与程序前,我们需要了解键盘和组成键盘的按键的一些知识。
1. 按键的分类一般来说,按键按照结构原理可分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关等;另一类是无触点式开关按键,如电气式按键,磁感应按键等。
前者造价低,后者寿命长。
目前,微机系统中最常见的是触点式开关按键(如本学习板上所采用按键)。
按键按照接口原理又可分为编码键盘与非编码键盘两类,这两类键盘的主要区别是识别键符及给出相应键码的方法。
编码键盘主要是用硬件来实现对键的识别,非编码键盘主要是由软件来实现键盘的识别。
全编码键盘由专门的芯片实现识键及输出相应的编码,一般还具有去抖动和多键、窜键等保护电路,这种键盘使用方便,硬件开销大,一般的小型嵌入式应用系统较少采用。
非编码键盘按连接方式可分为独立式和矩阵式两种,其它工作都主要由软件完成。
由于其经济实用,较多地应用于单片机系统中(本学习板也采用非编码键盘)。
2. 按键的输入原理在单片机应用系统中,通常使用机械触点式按键开关,其主要功能是把机械上的通断转换成为电气上的逻辑关系。
也就是说,它能提供标准的TTL 逻辑电平,以便与通用数字系统的逻辑电平相容。
此外,除了复位按键有专门的复位电路及专一的复位功能外,其它按键都是以开关状态来设置控制功能或输入数据。
当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能。
因此,键信息输入是与软件结构密切相关的过程。
对于一组键或一个键盘,通过接口电路与单片机相连。
单片机可以采用查询或中断方式了解有无按键输入并检查是哪一个按键按下,若有键按下则跳至相应的键盘处理程序处去执行,若无键按下则继续执行其他程序。
3. 按键的特点与去抖机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。
矩阵键盘原理
矩阵键盘是一种常见的电子设备输入方式,它采用了特殊的矩阵排列方式来实现按键的检测和输入功能。
矩阵键盘由一组按键(通常是按钮或开关)和一个矩阵电路组成。
按键按下时,通过矩阵电路将相应的信号发送到微控制器或其它输入设备,从而完成按键输入的操作。
矩阵键盘使用了行、列的交叉排列方式,将多个按键组织成一个矩阵状的结构。
每一行和每一列都连接到矩阵电路中的引脚。
当按键按下时,通过按下的行和列所在的引脚的连接,电流可以流过相应的按键,使得微控制器能够检测到按键按下的信号。
矩阵键盘的原理是利用了按键形成的矩阵结构的特点,通过行和列的扫描方式,实现简明高效的按键检测。
常用的实现方式是使用多路开关电路来连接按键和引脚,使得每个按键的状态可以被准确地检测到。
在矩阵键盘的工作过程中,微控制器通过逐行或逐列扫描的方式检测按键的状态。
当检测到按键按下时,微控制器会在相应的引脚上读取到低电平信号,从而确定按键被按下的位置。
矩阵键盘常用于计算机、电子设备以及各种控制系统中,它在输入效率和使用成本方面都有一定的优势。
通过合理设计矩阵的大小和按键的布局,可以满足不同应用场景的需求。
总体来说,矩阵键盘是一种可靠、经济且比较常见的输入方式。
史上最详细矩阵键盘原理
矩阵键盘是一种常见的电子设备,用于输入和控制计算机、电子设备和其他设备。
它是由一组列和一组行的开关组成的,每个开关都与一个唯一的输入或输出终端相关联。
通过将列和行连接到控制电路上的开关,可以对矩阵键盘进行编码,以便在输入时可以确定哪些开关被触发并识别对应的输入字符。
矩阵键盘原理基于电路中的行列交叉点进行输入波形的检测。
它将所有的按键都排在矩阵的交点处。
按键通过与某一行和某一列交汇的方式与电子电路相连接,然后,由输入的电压产生的波形会经过行或列的输入电路,同时输出电路也会在状态改变时检测到输入电压的变化而进行处理。
电子电路会识别输入的字符,并且转换为电子信号,以便于计算机或其他设备进行处理。
矩阵键盘常用的解码方式可以是硬件解码和软件解码。
硬件解码通过使用物理设备以处理输入信号。
从而减少了计算机CPU的负载,但是会增加板上设备的数量和复杂度。
软件解码将输入信号传输到计算机CPU上处理,以便软件可以识别所输入的字符,但是会增加CPU的负载。
在使用矩阵键盘时,通过按下相应的按键,可以在键盘控制电路中产生相应的电子信号来操纵计算机或其他设备。
计算机通过检测信号的状态来确定哪个按键被按下,并将其转换为关联的字符来处理。
这种方法可以极大地简化输入过程,并大大提高输入效率。
总的来说,矩阵键盘原理比较简单,通过建立行列交叉点来与电子电路连接,将输入信号转换为电子信号,以操纵计算机或其他设备。
硬件解码和软件解码用于解析输入信号以识别字符。
矩阵键盘是一种广泛应用的输入设备,它被广泛使用于计算机、电子设备和其他应用中。
矩阵式键盘工作原理
矩阵式键盘的工作原理是基于矩阵电路的设计。
该键盘由一组键开关组成,这些键开关呈现出行和列的网格状布局。
每个键开关都连接到一个行列交叉点。
在键盘上按下某个按键时,该按键对应的行列交叉点位置会发生变化。
这种变化可以通过键盘控制器或芯片中的扫描电路进行检测。
扫描电路会按顺序扫描每个行和列的交叉点,检测到键按下的时候会产生一个电信号。
当键盘的控制器检测到有按键按下时,它会将该按键的信息发送到计算机。
计算机接收到按键信息后,会根据键盘映射表将按键转换为对应的字符或功能。
这样,用户通过按下键盘上的按键,就能够输入字符或执行特定的功能。
整个矩阵式键盘的工作原理可以归纳为以下几个步骤:
1. 初始化:键盘控制器配置为扫描矩阵键盘。
2. 扫描:控制器按顺序扫描每个行和列的交叉点,检测到按键按下的时候产生一个电信号。
3. 检测:键盘控制器检测到按键按下的电信号后,将其转换为对应的按键信息。
4. 传输:键盘控制器将按键信息传输给计算机。
5. 转换:计算机根据键盘映射表将按键信息转换为对应的字符或功能。
6. 执行:计算机执行输入的字符或功能。
通过这样的工作原理,用户可以通过按下矩阵式键盘上的按键,实现对计算机的输入操作。
矩阵键盘工作原理
矩阵键盘是一种常见的电子键盘结构,主要由键盘矩阵、控制电路和键盘驱动器组成。
键盘矩阵是由若干个按键组成的矩阵状排列。
通常情况下,键盘的输入信号是通过行和列的交叉点来确定的。
每个按键都位于一个特定的位置,通过按下按键使行与列连接,从而形成一个通路。
控制电路负责处理键盘的输入信号。
它会扫描键盘的矩阵,检测按键的状态变化,并将按键的输入状态转化为对应的键码或信号输出。
键盘驱动器则负责将控制电路的输出信号传递给计算机或其他设备。
它将按键的键码信息进行编码,并通过某种通信协议传输给计算机,以实现对键盘输入的识别和响应。
在实际使用时,当按下某个按键时,键盘矩阵会相应地闭合对应的行和列之间的电路,从而使行与列之间的交叉点形成一个闭合的电路。
这个闭合的电路会被控制电路检测到,并输出相应的信号。
键盘驱动器接收到信号后,会进行相应的处理和传输。
计算机或其他设备通过接收到的键码信息来识别用户的输入,并根据键码信息执行相应的操作。
总的来说,矩阵键盘工作原理是通过检测按键闭合电路的状态变化,并将其转换为键码信号,实现键盘输入的识别和响应。
这种结构设计有效地减少了键盘的复杂性,提高了键盘的可靠性和可用性。
单片机矩阵按键原理
单片机矩阵按键的原理主要是通过行列结构来识别按键。
具体来说,它使用4条I/O线作为行线,4条I/O线作为列线,形成了一个4x4的矩阵。
在行线和列线的每个交叉点上,设置一个按键。
当某个按键被按下时,对应的行线和列线会被连通,导致行线和列线的电平发生变化。
单片机通过逐行扫描或逐列扫描的方式,读取I/O口的电平变化,从而确定哪个按键被按下。
具体来说,在行列扫描中,单片机先从P1口的高四位(四个行)输出高电平,低四位(四个列)输出低电平,如果有按键按下,从P1口的高四位读取键盘状态,判断高四位的四行哪一行变成了低电平,就知道是第几行。
然后从P1口的低四位(四个列)输出高电平,高四位(四个行)输出低电平,从P1口的低四位读取键盘状态,判断低四位的四列哪一行变成了低电平,就知道是第几列。
将两次读取结果组合起来就可以得到当前按键的特征编码。
使用这种行列结构能够有效地提高单片机系统中I/O口的利用率,节约单片机的资源。
以上内容仅供参考,建议查阅关于单片机矩阵按键的书籍或者咨询专业技术人员获取更准确的信息。
矩阵键盘嵌入式移动设备的应用越来越广,以其体积小、重量轻、便于携带等特点而备受青睐。
键盘是一种最为普遍使用的输入工具,但嵌入式移动设备因其体积小的特点决定了它的键盘不大可能采用普通PC机上的标准键盘,因而大多数采用键数相对较少的矩阵键盘。
利用矩阵键盘用户可以很方便的实现对嵌入式移动设备进行相应的操作,是极方便的人机交互设备。
随着微软的嵌入式操作系统Windows CE的普及,Windows CE的矩阵键盘开发得到了越来越多开发者的重视,本文与大家分享我在开发矩阵键盘的一些总结。
1.Windows CE驱动分类Windows CE提供了许多用于开发设备驱动的模型,这些驱动程序模型使得Windows CE 能适应大部分的内部和外围设备。
因此,在深入探讨Windows CE矩阵键盘驱动程序之前,先了解在WinCE平台上使用的两种设备:内建设备和可安装设备。
因此,从驱动加载方式来看WinCE可分为本机设备驱动(Built-In Driver)、可加载驱动(Loadable Driver)。
本机设备驱动即Native Device Drivers,WinCE设计成可直接使用内建设备,这些设备由本机驱动过程控制。
本机驱动程序是与WinCE的核心组件紧密相连,这些驱动对应的设备通常在系统启动时,在GWES的进程空间内被加载,因此它们不是以独立的DLL形式存在。
可加载设备是指可与平台连接和分离的第三方接口设备,可由用户随时安装和卸载这些驱动,可以在系统启动时或者和启动后的任何时候由设备管理器动态加载。
通常这类驱动是以DLL动态链接库的形式存在,系统加载后这些驱动程序是以用户态的角色运行,这种外围设备的驱动也被称为流驱动。
两者的差别在于它们提供的编程接口不同:本地设备驱动可以根据具体设备的需求提供本机的相应接口;而流接口驱动则是提供一组通用接口即流接口函数,应用程序可以通过流接口提供的接口函数来访问外围设备。
2.嵌入式矩阵键盘驱动原理嵌入式设备上的键盘受设备本身体积影响,键盘设计大多数采用矩阵形式。
矩阵键盘程序流程图详细介绍推荐文章电脑键盘鼠标基础设置方法介绍热度:键盘功能使用方法详细介绍热度:键盘空格键的使用方法介绍热度:清洗键盘的方法介绍热度:电脑键盘基本知识及其功能详细介绍热度:[摘要]矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。
下面小编给大家介绍一下矩阵键盘程序流程图。
矩阵键盘是单片机外部设备中所使用的排布类似于矩阵的键盘组。
下面小编给大家介绍一下矩阵键盘程序流程图。
矩阵键盘的按键按N行M列排列,每个按键占据行列的一个交叉点,需要的I/0口数目是N+M,容许的最大按键数是N*M。
显然,矩阵键盘可以减少与单片机的1/0口和连线数,简化了结构,是一般单片机应用系统中常采用的键盘结构,正如上面PIC单片机RB端口电平变化中断方设计4*4矩阵键盘。
现介绍一种新型键盘的硬件和软件实原理,这里用同样的单片机同样的RB端口8条I/0绂可实现7*7=49个按键的键盘电路(下图),不同的是电路的设计采用到RBO口的外围接口中断(INT中断设为下降沿中断),而未采用前面提到的RB电平变化中断。
由下图可见,硬件部分分为两块:一块是普通键盘矩阵、电阻R8、R9和三极管Q组成,它们在电路中对NPN型三极管的基极构成“或”运算,对单片机进行初始化,除了RBO要求有中断功能外,其于的端口均设为高电平输出。
这样当有按键按下时三极管基极为正向导通状态,集电极由高变低,向单片机发出中断请求,从而启动键盘扫描程序。
在启动键扫描程序以前首先要对单片机进行初如化,包括中断、I/0口初始化。
下面的程序流程图是假定键盘电路也有按键按下时的键扫描程序流程图。
7*7矩阵键盘程序清单定义为PIC-KEY3.ASM,程序流程图如下图:以上是矩阵键盘程序流程图介绍。
DSP的通用IO口做矩阵键盘的接口的一个简单应用首先关于矩阵键盘的扫描方式就不在这里细说了,我在这里利用了一般扫描矩阵键盘的方法之一,成为行扫描法,对于不明白其原理的同学可以参考相关资料。
了解行扫描的基本原理。
其实利用DSP的IO口做矩阵键盘和单片机的不同之处:首先,在DSP利用IO口之前,首先:要先配置GPXMUX寄存器,将该寄存器的利用的相应位置为0;既然配置为通用IO口后就要配置器方向是作为输入还是作为输出的,这些都要在初始化中配置,一般用到行扫描是使四个位置为输出,四个位置为输入。
配置为方向后就要扫描了。
而在MCS-51中IO口就不要配置,要作为输出时候,直接给他相应位赋个值就可以了,要作为输入时候,只要先软件置“1”,然后就可以读取相应位的状态了。
所以在MCS-51中IO口在输入和输出之间的切换时不用设置什么寄存器的,而在DSP中要改变当前IO口的工作方式,就要重新打开写保护,然后配置方向,左后在关闭写保护。
才可以。
所以这是一个DSP与单片机IO口的第一点不同之处。
其次,就是在程序中的问题了,你按照MCS-51的写法和例程在写程序的时候,你发现程序运行不正确或者说就是没有反应,而且在单步调试的时候又可以,每个键都是按照你的要求扫描进去的。
这是为什么呢?我也摸索了两天才弄明白这是为什么了.造成的这个的主要原因不是逻辑的错误,因为单步调试可以,而是DSP的速度太快。
因为你在键盘扫描中肯定有一条语句是先给IO口赋个值,然后读取IO口的状态,然后判断和你原先给的值一样不,如果不一样说明有键按下,这样的逻辑没有任何错误,错误在哪里?就在你给IO口赋值的时候,由于DSP执行的速度太快,如果你没有延时,而是马上读取IO的状态就要可能造成,IO的电平还没有完成变化的时候你就读取,这样就造成了你没有把当前的状态读取造成错误。
所以,这就是我要说的第二点,在用DSP做IO口来扫描矩阵键盘的时候,给IO 口赋个值后,一定要延时哪怕是一条i++;指令也可以完成。