文档库 最新最全的文档下载
当前位置:文档库 › 按键识别方法

按键识别方法

按键识别方法
按键识别方法

《单片机原理及应用》大作业设计

学院班级:

姓名:

学号

按键识别方法

一.设计任务:

每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。

二.电路原理图:

图1

三.系统板上硬件连线:

1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;

2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。

四.程序设计方法:

其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说,当我们按下一个按键时,总希望某个命令只执行一次,而在按键按下的过程中,不要有干扰进来,因为,在按下的过程中,一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。因此在按键按下的时候

图2

要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉,一般情况下,我们可以采用电容来滤除掉这些干扰信号,但实际上,会增加硬件成本及硬件电路的体积,这是我们不希望,总得有个办法解决这个问题,因此我们可以采用软件滤波的方法去除这些干扰。

信号,一般情况下,一个按键按下的时候,总是在按下的时刻存在着一定的干扰信号,按下之后就基本上进入了稳定的状态。具体的一个按键从按下到释放的全过程的信号图如上图所示,从图中可以看出,我们在程序设计时,从按键被识别按下之后,延时5ms以上,从而避开了干扰信号区域,我们再来检测一次,看按键是否真得已经按下,若真得已经按下,这时肯定输出为低电平,若这时检测到的是高电平,证明刚才是由于干扰信号引起的误触发,CPU就认为是误触发信号而舍弃这次的按键识别过程。从而提高了系统的可靠性。由于要求每按下一次,命令被执行一次,直到下一次再按下的时候,再执行一次命令,因此从按键被识别出来之后,我们就可以执行这次的命令,所以要有一个等待按键释放的过程,显然释放的过程,就是使其恢复成高电平状态。

对于按键识别的指令,我们依然选择如下指令JB BIT,REL指令是用来检测BIT是否为高电平,若BIT=1,则程序转向REL处执行程序,否则就继续向

下执行程序。或者是JNB BIT,REL指令是用来检测BIT是否为低电平,若BIT =0,则程序转向REL处执行程序,否则就继续向下执行程序。

对程序设计过程中按键识别过程的框图如下图所示:

图3

五.程序框图:

图4

六.汇编源程序:

ORG 0

START: MOV R1,#00H ;初始化R1为0,表示从0开始计数

MOV A,R1 ;

CPL A ;取反指令

MOV P1,A ;送出P1端口由发光二极管显示

REL: JNB P3.7,REL ;判断SP1是否按下

LCALL DELAY10MS ;若按下,则延时10ms左右

JNB P3.7,REL ;再判断SP1是否真得按下

INC R1 ;若真得按下,则进行按键处理,使

MOV A,R1 ;计数内容加1,并送出P1端口由

CPL A ;发光二极管显示

MOV P1,A ;

JNB P3.7,$ ;等待SP1释放

SJMP REL ;继续对K1按键扫描

DELAY10MS: MOV R6,#20 ;延时10ms子程序

L1: MOV R7,#248

DJNZ R7,$

DJNZ R6,L1

RET

END

七.小结:

在学习了选修课《单片机原理及应用》以及自己课后学习的基础上,我通过使用AT89S51单片机,采用软件滤波的方法去除相关干扰,较为简单有效地实现了按键识别的功能。在整个设计过程中,不仅加强了自己对于单片机的认识与使用,而且增强了自己的动手能力与思考能力,该次设计让自己学到了很多,受益匪浅。

识别串并联电路的4种方法

识别串并联电路的4种方法 1.使用定义法识别串并联电路:若电路中的各元件是逐个顺次连接起来的,则电路为串联电路,若各元件“首首相接,尾尾相连”并列地连在电路两点之间,则电路就是并联电路。 2.使用电流流向法识别串并联电路:从电源的正极(或负极) 出发,沿电流流向,分析电流通过的路径。若只有一条路径通过所 有的用电器,则这个电路是串联的(如图l所示);若电流在某处 分支,又在另一处汇合,则分支处到汇合处之间的电路是并联的(如 图2所示)。 电流流向法是电路分析中常用的一种方法。 例1.分析下图所示电路中,开关闭合后,三盏灯的连接形式, 并分析开关的作用。 分析:用“电流流向法”来判断.在图甲所示的电路中,从电源的正极出发,电流依次通过了灯L1、L2和L3,电路中没有出现“分叉”,见图3的虚线所示,所以这三盏灯是串联的.在串联电路中,一个开关可以控制所有的用电器。 为识别图乙所 示电路的连接方式, 可以先用虚线将电 流通过的所有路径 在图中画出来,在图 中可看出,电流的流 向是: 由此可看出灯L1、L2和L3分别在三条支路上,所以这三盏灯是并联的。其中通过灯L1、L2的电流通过了开关S1,当开关S1断开时,灯L1、L2中 没有电流通过,两灯熄灭,因此开关S1控制L1、L2两盏 灯泡。开关S2在干路上,控制三盏灯。 在如图所示电路中用“电流流向法”画出了图丙中 的电流流向。见图4的虚线所示,电流有三条通路,且 每一流线上只有一个用电器,则此电路为并联电路。开 关S在干路上,控制三盏灯。

3.使用节点法识别串并联电路节点法:就是在识别电路 的过程中,不论导线有多长,只要其间没有电源、用电器等, 导线两端点均可以看成同一个点,从而找出各用电器两端的 公共点。以图丙为例,具体方法:先在图中各接点处用字母 表示出来,如图5所示。 由“节点法”可知,导线的a端和c端看成一个点,导 线的b端和d端看成一个点,这样L1、L2和L3的一端重合为 一个点,另一端重合为另一个点,由此可知,该电路有三条支路,并由“电流流向法”可知,电流分三条叉,因此这个电路是三盏电灯的并联,等效电路如下图所示。 “节点法”主要用于不规范的复 杂电路的识别,有一定的难度。识别 电路也还有其他方法,但无论什么方 法都需要同学们在加强练习的基础上 不断总结识别电路的技巧。 对于电路中有三个用电器,而只有 两条电流路径的情况,那么就会有一个 用电器在干路上,或者有两个用电器串 联在一条支路上,这个电路一定是混联。 这两种情况分别如图中甲、乙所示。 4. 使用拆除法识别串并联电路 拆除法是识别较难电路的一种重要方法。它的原理就是串联电路中各用电器互相影响,拆除任何一个用电器,其他用电器中就没有电流了;而并联电路中,各用电器独立工作,互不影响,拆除任何一个或几个用电器,都不会影响其他用电器。 例2.如图所示,两个灯泡通过灯座装在一个木匣子上,A、B、C、D分别是连接两灯泡灯座的接线柱。E、F两接线柱间接上电源后,两灯泡发光。如何判断两灯泡是串联还是并联?简要叙述你的判断过程。 分析:根据串、并联电路特点进行分析.串联电路只有一 个电流的路径,只要一处断开,整个电路断路,即其他用 电器不能工作;并联电路有两个或两个以上电流的通路, 其中一个支路断开,其他支路的用电器仍然工作,即各用 电器件互不影响。因此可用断路法进行判断。 答案:拧下一只灯泡,若另一只灯泡熄灭则两灯串联, 否则两灯并联。

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

9.3.1 矩阵键盘的工作原理和扫描确认方式 来源:《AVR单片机嵌入式系统原理与应用实践》M16华东师范大学电子系马潮 当键盘中按键数量较多时,为了减少对I/O 口的占用,通常将按键排列成矩阵形式,也称为行列键盘,这是一种常见的连接方式。矩阵式键盘接口见图9-7 所示,它由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,MCU 通过检测行或列线上的电平变化可以确定哪个按键被按下。 图9-7 为一个 4 x 3 的行列结构,可以构成12 个键的键盘。如果使用 4 x 4 的行列结构,就能组成一个16 键的键盘。很明显,在按键数量多的场合,矩阵键盘与独立式按键键盘相比可以节省很多的I/O 口线。 矩阵键盘不仅在连接上比单独式按键复杂,它的按键识别方法也比单独式按键复杂。在矩阵键盘的软件接口程序中,常使用的按键识别方法有行扫描法和线反转法。这两种方法的基本思路是采用循环查循的方法,反复查询按键的状态,因此会大量占用MCU 的时间,所以较好的方式也是采用状态机的方法来设计,尽量减少键盘查询过程对MCU 的占用时间。 下面以图9-7 为例,介绍采用行扫描法对矩阵键盘进行判别的思路。图9-7 中,PD0、PD1、PD2 为3 根列线,作为键盘的输入口(工作于输入方式)。PD3、PD4、PD5、PD6 为4根行线,工作于输出方式,由MCU(扫描)控制其输出的电平值。行扫描法也称为逐行扫描查询法,其按键识别的过程如下。 √将全部行线PD3-PD6 置低电平输出,然后读PD0-PD2 三根输入列线中有无低电平出现。只要有低电平出现,则说明有键按下(实际编程时,还要考虑按键的消抖)。如读到的都是高电平,则表示无键按下。 √在确认有键按下后,需要进入确定具体哪一个键闭合的过程。其思路是:依

小键盘按键识别(微机原理课程设计)

微机原理与接口技术课程设计报告 专业: 班级: 姓名: 学号: 小键盘按键识别

一.课题任务与要求 实验箱上有一个24键小键盘,出厂时按键接点已经按图所示连接。小键盘有8根横向引出线。实验前将8根横向引出线与PA0~PA7相连,3根纵向引出线与PB0~PB2相连,再从“I/O口地址译码器”选择一个译码器输出连接到8255的片选端,做好上述连接之后,就构成了以8255为核心的键盘输入电路要求: 在实际的自动控制系统中,键盘输入电路的作用是输入数据(0~9,A~F)或者输入控制信号(G,M,P,R,W,X,Y,S)。实现上述功能的核心程序是“按键识别”。 本实验要求设计按键识别程序,当按下小键盘上某一个键的时候,主机屏幕显示闭合键的键名,按下小键盘“R”键之后停止演示。 二.完成任务的方法或方案简介 本程序显示数字0到9,刚刚开始提出两中解决方案一是用跳转法直接显示数值,二是用查找法间接显示数值,本程序是用第一种方案,虽然程序多了些,但直观容易理解,故采纳第一种方案。 DISPLAY函数用来将BUFFER中的键值显示在数码管上。 设定A口方式0输出,B口方式0输入。 GETINPUT函数通过行值和列值查出输入的键值,并将它保存在AL中,如果输入是R,则AL赋值为FFH;如果输入非法字符,则AL赋值为0AH。 设定如果是R则退出程序. CHANGE函数用来改变BUFFER中保存的键值,将BUFFER中的键值移位,最后一位加入AL中的新键值。 CLOSEALL此函数用在退出程序时将数码管关闭. 以上是主题函数,在设计过程中还碰到了一些细节问题,例数码管的显示才用延迟20MS的办法解决,具体方案在DISPLAY函数中。

按键识别方法

《单片机原理及应用》大作业设计 学院班级: 姓名: 学号

按键识别方法 一.设计任务: 每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。 二.电路原理图:

图1 三.系统板上硬件连线: 1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上; 2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。 四.程序设计方法: 其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说,当我们按下一个按键时,总希望某个命令只执行一次,而在按键按下的过程中,不要有干扰进来,因为,在按下的过程中,一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。因此在按键按下的时候

图2 要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉,一般情况下,我们可以采用电容来滤除掉这些干扰信号,但实际上,会增加硬件成本及硬件电路的体积,这是我们不希望,总得有个办法解决这个问题,因此我们可以采用软件滤波的方法去除这些干扰。 信号,一般情况下,一个按键按下的时候,总是在按下的时刻存在着一定的干扰信号,按下之后就基本上进入了稳定的状态。具体的一个按键从按下到释放的全过程的信号图如上图所示,从图中可以看出,我们在程序设计时,从按键被识别按下之后,延时5ms以上,从而避开了干扰信号区域,我们再来检测一次,看按键是否真得已经按下,若真得已经按下,这时肯定输出为低电平,若这时检测到的是高电平,证明刚才是由于干扰信号引起的误触发,CPU就认为是误触发信号而舍弃这次的按键识别过程。从而提高了系统的可靠性。由于要求每按下一次,命令被执行一次,直到下一次再按下的时候,再执行一次命令,因此从按键被识别出来之后,我们就可以执行这次的命令,所以要有一个等待按键释放的过程,显然释放的过程,就是使其恢复成高电平状态。 对于按键识别的指令,我们依然选择如下指令JB BIT,REL指令是用来检测BIT是否为高电平,若BIT=1,则程序转向REL处执行程序,否则就继续向 下执行程序。或者是JNB BIT,REL指令是用来检测BIT是否为低电平,若BIT =0,则程序转向REL处执行程序,否则就继续向下执行程序。

识别电路的常用方法有电流流向法

识别电路的常用方法有电流流向法(电流跟踪法)、摘表法(去表法)、直线法 和节点法。在识别电路的过程中,往往是几种方法并用。 ??? 1.电流流向法 电流流向法是指用描绘电流流向的方法来分析电阻连接方式的方法。这是一种 识别电路最直观的方法,也是连接实物电路时必须遵循的基本思路。具体步骤是: 从电源正极出发,沿着电流的方向描绘出电流通过电阻的各条路经,一直达到电源 的负极。 2.摘表法 摘表法的基本思路和步骤:从电路中摘去电压表和电流表后,电压表所在支路 用断路替代,电流表所在位置用导线替代。如果需要进一步对电路进行分析讨论, 原电压表、电流表所测量的电压和电流则应在简化后的电路上标出。 3.直线法 直线法是一种普遍适用的 简化电路的方法,是在上述两 种方法的基础上,把不规范电 路简化成规范电路的方法。在识别电路、分析电路变化等方面有不可替代的的作用。 具体方法步骤是:将电路从电源正负极处 ....断开,结合电流流向法,拉长和缩短某一 段导线,使各组元器件都在一条直线上,一次不成,可逐次分步完成。 ? 4.节点法 节点法是一种将不规范电路快速简化、改化为规范电路的方法。具体做法是:从电源正极开始,把电阻之 间的连接导线缩减成点,

相同的点用同一个字母表示。如果一个电路中的点多于两个,可以将这些点排在一条直线上,再把相应的电阻补充到这些点之间,节点法和直线法有着相辅相成的关系。大多数时间比直线法来得更直接、更简洁。 ??? 例4:图5(甲)所示电路中,三个电阻是__联的;电流表A1测量的是通过电阻___的电流。电流表A2测量的是___的电流。 二、动态电路分析与判断 动态电路分析题和电路故障分析题对学生有较高的能力要求,是初中学生物理学习过程中的难点。进行电路故障分析,要以电路动态分析能力作为基础,而电路故障分析又是电路动态分析的载体。 分析动态电路的一般思路是:根据引起电路变化的原因(开关通断、变阻器滑片移动、电路故障),分析判断电路中电阻的变化,根据欧姆 定律分析电路中电流的变化(电流表示数变化),再根据欧姆定律变形式U=IR(或串并联电路电压特点)进一步判断电路中部分电路中电压的变化(电压表示数变化)或其它物理量的变化。 1、滑动变阻器滑片P的位置的变化引起电路中电学物理量的变化 (1).串联电路中滑动变阻器滑片P的位置的变化引起的变化 2、开关的断开或闭合引起电路中电学物理量的变化 (1).串联电路中开关的断开或闭合引起的变化

小键盘按键识别(微机原理课程设计)

微机原理与接口技术 课程设计报告 专业: 班级: 姓名: 学号: 小键盘按键识别 一.课题任务与要求 实验箱上有一个24键小键盘,出厂时按键接点已经按图所示连接。小键盘有8根横向引出线。实验前将8根横向引出线与PA0~PA7相连,3根纵向引出线与PB0~PB2相连,再从“I/O口地址译码器”选择一个译码器输出连接到8255的片选端,做好上述连接之后,就构成了以8255为核心的键盘输入电路要求: 在实际的自动控制系统中,键盘输入电路的作用是输入数据(0~9,A~F)或者输入控制信号(G,M,P,R,W,X,Y,S)。实现上述功能的核心程序是“按键识别”。 本实验要求设计按键识别程序,当按下小键盘上某一个键的时候,主机屏幕显示闭合键的键名,按下小键盘“R”键之后停止演示。

二.完成任务的方法或方案简介 本程序显示数字0到9,刚刚开始提出两中解决方案一是用跳转法直接显示数值,二是用查找法间接显示数值,本程序是用第一种方案,虽然程序多了些,但直观容易理解,故采纳第一种方案。 DISPLAY函数用来将BUFFER中的键值显示在数码管上。 设定A口方式0输出,B口方式0输入。 GETINPUT函数通过行值和列值查出输入的键值,并将它保存在AL中,如果输入是R,则AL赋值为FFH;如果输入非法字符,则AL赋值为0AH。 设定如果是R则退出程序. CHANGE函数用来改变BUFFER中保存的键值,将BUFFER中的键值移位,最后一位加入AL中的新键值。 CLOSEALL此函数用在退出程序时将数码管关闭. 以上是主题函数,在设计过程中还碰到了一些细节问题,例数码管的显示才用延迟20MS的办法解决,具体方案在DISPLAY函数中。 三.实现系统 1、程序框图:

按键控制键盘检测原理与应用

按键控制键盘检测原理与应用 一、任务目标: 认知目标 1、 掌握按键分类及工作原理 2、 掌握IF 条件选择结构和使用方法 3、 掌握循环结构和使用原理 4、 掌握独立按键子函数的编写原理及方法 1、独立键盘 在简单的单片机应用系统中,往往只需要几个功能键就能满足要求, 此时,可采用独立 式按键结构。 独立式按键是直接用 I/O 口线构成的单个按键电路,其特点是每个按键单独占用一根 I/O 口线,每个按键的工作不会影响其它 I/O 口线的状态。独立式按键的典型应用如图 1.2.1 所示。 独立式按键示意图 独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根 I/O 口线,因此, 在按键较多时,I/O 口线浪费较大,不宜采用。 程序开始,检测按键是否被按下,若按下,则移动机器人启动,未被按下,继续检测。 这里将程序分成三个部分,分别是延时子函数、按键子函数、主函数。 延时子函数,通过参数 t 设置延时时间;按键模块子函数需用到延时函数,对按键进行 消抖;主函数主要调用按键检测程序,实现对移动机器人的控制。程序流程图如图 1.2.2所 示 xnu Lnu Jnu L] iu lu o 1 3 4 5 6 - IL I 」 IL IL IL IL IL IL- PPPPFFPP 3 S-I

程序示例: 在编写程序开始的部分,将系统头文件“STC89C52RC.H ”包含进来,对常用的变量类 型进行宏定义,规划各函数和变量,对变量进行定义和初始化,对自定义子函数进行声明并添加相应标注,程序开始部分如下 sbit IN仁P1A0; sbit IN2=P1A1; Void key(); 编写主函数,在主函数中就是调用按键检测函数。 Void mai n() { key(); } 编写key()按键检测函数,按键按下,输出低电平,通过if语句检测低电平,延时10ms 后,再次检测,若检测为高电平,则表示为机械抖动,若检测到低电平表示按键按下。 Void key() { if(IN1==0) { delay_ms(10); if(IN 仁=0) { while(IN 仁=0); IN2=~IN2 ; } } } 在上面的程序中,就只有一个检查按键扫描的函数key(),key()函数是检查有没有按键

电路的几种分析方法

几种常见电路分析方法浅析 摘要:对电路进行分析的方法很多,如叠加定理、支路分析法、网孔分析法、结点分析法、戴维南和诺顿定理等。根据具体电路及相关条件灵活运用这些方法,对基本电路的分析有重要的意义。现就具体电路采用不同方法进行如下比较。 关键词:电路分析电流源支路电流法网孔电流法结点分析法叠加定理戴维宁定理与诺顿定理 Several Commonly Used Analytical Methods in Circuit Abstract: on the circuit analysis methods, such as superposition theorem, branch analysis method, mesh analysis method, nodal analysis method, Thevenin and Norton's theorem. According to the specific circuit and related conditions of flexibility in the use of these methods, the basic circuit analysis has important significance. The specific circuit using different methods are compared. Key words :Circuit Analysis of voltage source current source branch current method mesh current method nodal analysis method of superposition theorem and David theorem and Norton theorem in Nanjing. 引言:每种电路的分析方法,一般都有其适用范围。应用霍夫定律求解适用于求多支路的电流,但电路不能太复杂;电源法等效变换法适用于电源较多的电路;节点电位法适用于支路多、节点少的电路;网孔分析法使适用于支路多、节点多、但网孔少的电路;戴维宁定理和叠加定理适用于求某一支路的电流或某段电路两端电压。上面例题的电路比较简单,可选择任意一种方法求解,对于一些比较复杂但有一

矩阵键盘识别

4 x 4矩阵键盘识别 发表日期:2008-6-5 在单片机应用系统中,键盘是人机对话不可缺少的组件之一。在按键比较少时,我们可以一个单片机I/O口接一个按键,但当按键需要很多,I/O资源又比较紧张时,使用矩阵式键盘无疑是最好的选择。 4 x 4矩阵键盘是运用得最多的键盘形式,也是单片机入门必需掌握的一种键盘识别技术,下面我们就以实例来说明一下4 x 4矩阵键盘的识别方法。如下图所示,我们把按键接成矩阵的形式,这样用8个I/O口就可以对16个按键进行识别了,节省了I/O口资源。 我们的识别思路是这样的,初使化时我们先让P1口的低四位输出低电平,高四位输出高电平,即让P1口输出0xF0。扫描键盘的时候,我们读P1口,看P1是否还为0xF0,如果仍为0xF0,则表示没有按键按下;如果不0xF0,我们先等待10ms左右,再读P1口,再次确认是否为0xF0,这是为了防止是抖动干扰造成错误识别,如果不是那就说明是真的有按键按下了,我们就可以读键码来识别到底是哪一个键按下了。 识别的过程是这样的,初使化时我们让P1口的低四位输出低电平,高四位输出高电平,确认了真的有按键按下时,我们首先读P1口的高四位,然后P1口输出0x0F,即让P1口的低四位输出高电平,高四位输出低电平,然后读P1口的低四位,最后我们把高四位读到的值与低四位读到的值做或运算就得到了该按键的键码。就可以知道是哪个键按下了。 以0键为例,初使化时P1输出0xF0,当0键按下时,我们读高四位的状态应为1110,即P1为0xE0,然后让P1输出0x0F,读低四位产状态应为0111,即P1为0x07,让两次读数相与得0xE7。 现在我们在P0口和P2口分别接一个共阳极的数码管,用来显示我们按下去的键的键值,P0口接的是个位,P2口接的是十位。如0键按下显示00,1键按下显示01,15键按下显示15……,实现的程序如下: #include unsigned char num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阳极LED 段码0~9 unsigned char k; /*************延时Xms*****************/ void Delay_nms(unsigned int n) //延时程序

单片机按键识别方法之一

单片机按键识别方法之一 1.实验任务 每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。 2.电路原理图 图4.8.1 3.系统板上硬件连线 (1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上;

(2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。 4.程序设计方法 (1.其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说, 当我们按下一个按键 时,总希望某个命令只 执行一次,而在按键按 下的过程中,不要有干 扰进来,因为,在按下的过程中,一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。 因此在按键按下的时候,图4.8.2 要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除掉,一般情况 下,我们可以采用电容来滤除掉这些干扰信号,但实际上,会增加硬件成本及 硬件电路的体积,这是我们不希望,总得有个办法解决这个问题,因此我们可 以采用软件滤波的方法去除这些干扰信号,一般情况下,一个按键按下的时候, 总是在按下的时刻存在着一定的干扰信号,按下之后就基本上进入了稳定的状 态。具体的一个按键从按下到释放的全过程的信号图如上图所示: 从图中可以看出,我们在程序设计时,从按键被识别按下之后,延时5ms以上,从而避开了干扰信号区域,我们再来检测一次,看按键是否真得已经按下,若真得已经按下,这时肯定输出为低电平,若这时检测到的是高电平,证明刚才是由于干扰信号引起的误触发,CPU 就认为是误触发信号而舍弃这次的按键识别过程。从而提高了系统的可靠性。 由于要求每按下一次,命令被执行一次,直到下一次再按下的时候,再执行一次命令,因此从按键被识别出来之后,我们就可以执行这次的命令,所以要有一个等待按键释放的过程,显然释放的过程,就是使其恢复成高电平状态。

键盘矩阵的按键识别方法

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,在矩阵键盘中每条水平线和垂直线在交叉处不直接相连,而是通过一个按键相连接,这样在由N条水平线和M条垂直线最多可以有N *M 个按键,大大的减少了对于芯片I/O的占用。 键盘矩阵的按键识别方法 图1 矩阵键盘的结构 方法一行扫描法 1、判断键盘中有无键按下将全部行线P1.4-P1.7置低电平,当然P1.0-P1.3为高电平(或许芯片内部已经将这些引脚它上拉),然后检测列线的状态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键按下。 2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。 方法 二 先从P1口的高四位输出低电平,低四位输出高电平,从P1口的低四位读取键盘状态。再从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。 在I.MX27中keypad模块的实现

Keypad port 相关引脚说明: 在keypad模块中总共有16个引脚(8个行引脚 8个列引脚) KP_COL[7:0] 其中[5:0] 作为键盘模块的列引脚如果未使用也可以做为通常的GPIO口使用 [7:6]两引脚复用可以作为键盘模块的列引脚 7脚还可以用做串口2的UART2_CTS 引脚 6脚还可以当做串口2 的UART2_TXD脚使用 6脚有时还做为芯片内部的测试引脚 KP_ROW[5:0] 其中[5:0] 作为键盘模块的行引脚如果未使用也可以做为通常的GPIO口使用 [7:6]两引脚复用可以作为键盘模块的行引脚 7脚还可以用做串口2的UART2_RTS 引脚 6脚还可以当做串口2 的UART2_RXD脚使用 keypad port 相关的寄存器 KPCR 键盘控制寄存器

51单片机C语言实验及实践教程_8.按键识别方法之一

51单片机C语言实验及实践教程_8.按键识别方法之一 发布: 2009-4-04 12:57 | 作者: 孙青安 | 查看: 88次 1.实验任务 I/O并行口直接驱动LED显示 每按下一次开关SP1,计数值加1,通过AT89S51单片机的P1端口的P1.0到P1.3显示出其的二进制计数值。 2.电路原理图 图4.8.1 3.系统板上硬件连线

(1.把“单片机系统”区域中的P3.7/RD端 口连接到“独立式键盘”区域中的SP1端口上; (2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求,P1.0连接到 L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到L4上。 4.程序设计方法 (1.其实,作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说,当我们按下一个按键时,总希望某个命令只执行一次,而 在按键按下的过程中,不要有干扰进来,因为,在按下的过程中, 一旦有干扰过来,可能造成误触发过程,这并不是我们所想要的。因 此在按键按下的时候,图4.8.2 要把我们手上的干扰信号以及按键的机械接触等干扰信号给滤除 掉,一般情况下,我们可以采用电容来滤除掉这些干扰信号,但实际 上,会增加硬件成本及硬件电路的体积,这是我们不希望,总得有个 办法解决这个问题,因此我们可以采用软件滤波的方法去除这些干扰 信号,一般情况下,一个按键按下的时候,总是在按下的时刻存在着 一定的干扰信号,按下之后就基本上进入了稳定的状态。具体的一个 按键从按下到释放的全过程的信号图如上图所示: 从图中可以看出,我们在程序设计时,从按键被识别按下之后,延时5ms 以上,从而避开了干扰信号区域,我们再来检测一次,看按键是否真得已经按下,若真得已经按下,这时肯定输出为低电平,若这时检测到的是高电平,证明刚才是由于干扰信号引起的误触发,CPU就认为是误触发信号而舍弃这次的按键识别过程。从而提高了系统的可靠性。 由于要求每按下一次,命令被执行一次,直到下一次再按下的时候,再执行一次命令,因此从按键被识别出来之后,我们就可以执行这次的命令,所以要有一个等待按键释放的过程,显然释放的过程,就是使其恢复成高电平状态。

九年级物理 电路的识别方法

电路的识别方法 解电学问题的关键是分清电路的结构,判断电路的连接方式。但对较复杂的电路,初学者往往感到无从下手,本文介绍几种识别电路的方法。 一、电流法:先确定电流经过的路径分几个支路,每个支路上有几个用电器。如果电流顺次经过几个用电器,这几个用电器是串联关系;如果电流在某处分成几个支路,每个支路只有一个用电器,且流过这些支路的电流又在某处汇合,这些支路上的用电器是并联关系;如果电流先经过用电器再分成几个支路,或先分成几个支路再经过用电器,或支路上不止一个用电器,则这些用电器组成混联电路。 例1:试判断图1中三灯的连接方式。 [解析]由图可以看出,从电源正极流出的电流在a点分成三部分。一部分流过灯L1,一部分流过灯L2,一部分流过灯L3,然后在b点汇合流入电源的负极,从并联电路的特点可知此三灯并联。 二、断路法:使电路中任一用电器与电路断开,若其它用电器都没有电流通过,则所有用电器串联;若对其它用电器没有影响,则所有用电器并联。若使电路中某一用电器与电路断开,对某些用电器有影响,而断开另一用电器又出现另一种情况,则这些用电器组成混联电路。 例2:判断图2中三个电阻的连接方式。 [解析]当开关K闭合后,假设R处短路,这时没有电流通过R1,但此时电流仍经过AC到达C点,再从C点分成两条支路分别经过R2和R3流回电源负极,R1不影响R2和R3的工作。同理,R2不影响R1和R3的工作,R3不影响R1和R2的工作,所以R1、R2、R3并联 三、结点法:电路中三条或三条以上支路的交叉点,称为结点。利用结点排列的规范化来作出等效的电路图,以确定电路的连接方式,这种方法称为结点法。

识别电路结构方法大盘点

识别电路结构方法大盘点 【摘要】初中物理学习阶段,判断电路的结构是电学的基础,是解决各类电学问题的起始点。对于初学电学的学生来说,掌握几种简易的识别电路的方法至关重要。 【关键词】电路结构;串联并联 初中物理学习阶段,判断电路的结构是电学的基础,是解决各类电学问题的起始点。对于初学电学的学生来说,掌握几种简易的识别电路的方法至关重要;对于进一步讨论电学问题,掌握几种特殊的识别电路的方法,则对解决电学问题起到“开闸放水”的作用。 1.定义法 指直接根据串联、并联电路的定义判断。若电路中各元件(指用电器)是按顺次首尾相连的,此电路就是串联电路;若各元件是按“首首相连,尾尾相连”并列连接在电路的两点间,这样的电路就是并联电路。(“首”指电流流入用电器的那一端,用“+”表示,“尾”指电流流出用电器的那一端,用“-”表示。)此方法适用于简单电路的识别,如图一a和b,也可以用于较难电路的识别,如图一c。在c图中,灯L1与电动机首尾相连是串联,灯L1、L2左端尾尾相连右端首首相连是并联,电铃与两灯都是首尾相连是串联,故电路的总体情况是灯L1先与电动机串联后与灯L2并联再与电铃串联。 (图一) 2.电流流向法 根据串联、并联电路电流特点判断。指按照外部电路中的电流流向,从电源正极出发,经过各用电器回到负极,只有唯一的一条通路的电路是串联,如果电流在某处分成几支,再在某处汇合,这几支电流流过的用电器就是并联。如图二。 (图二) 3.节点跟踪法 对于较为复杂的电路特别是对点与点用导线连通的电路用此方法判断较为快捷。在识别不规范电路过程中,不论导线有多长,只要导线上没有任何用电器、电源等,导线两端均可看成同一点,从而找出各用电器两端的公共点。如图三甲,节点a、b都是分流点可合成为一点,节点c、d都是汇合点可合成为一点,则可将原电路改画为图三乙,容易看出灯L1、L2、L3是并联。 甲(图三)乙

一键多功能按键识别技术

1.实验任务 如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键 盘”区域中的SP1端口上; (2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连 接到“八路发光二极管指示模块”区域中的“L1-L8”端口上; 要求,P1.0连接到L1,P1.1连接到L2,P1.2连接到L3, P1.3连接到L4上。 4.程序设计方法

(1.设计思想由来 在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。 (2.设计方法 从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。下面给出有关程序设计的框图。 5.程序框图

识别电路的四种方法

识别电路常用的的三种方法 1.使用定义法识别串并联电路 若电路中的各元件是逐个顺次连接起来的,则电路为串联电路,若各元件“首首相接,尾尾相连”并列地连在电路两点之间,则电路就是并联电路。 2.使用电流流向法识别串并联电路 从电源的正极(或负极)出发,沿电流流向,分析电流通过的路径。若只有一条路径通过所有的用电器,则这个电路是串联的(如图l所示);若电流在某处分支,又在另一处汇合,则分支处到汇合处之间的电路是并联的(如图2所示)。 电流流向法是电路分析中常用的一种方法。 例1.分析下图所示电路中,开关闭合后,三盏灯的连接形式,并分析开关的作用。 分析:用“电流流向法”来判断.在图甲所示的电路中,从电源的正极出发,电流依次通过了灯L1、L2和L3,电路中没有出现“分叉”,见图3的虚线所示,所以这三盏灯是串联的.在串联电路中,一个开关可以控制所有的用电器。 为识别图乙所示电路的连接方式,可以先用虚线将电流通过的所有路径在图中画出来,在图中可看出,电流的流向是:

由此可看出灯L1、L2和L3分别在三条.`支路上,所以这三盏灯是并联的。其中通过灯L1、L2的电流通过了开关S1,当开关S1断开时,灯L1、L2中没有电流通过,两灯熄灭,因此开关S1控制L1、L2两盏灯泡。开关S2在干路上,控制三盏灯。 在如图所示电路中用“电 流流向法”画出了图丙中的电流流向。见图4的虚线所示,电流有三条通路,且每一流线上只有一个用电器,则此电路为并联电路。开关S在干路上,控制三盏灯。 3.使用节点法识别串并联电路 节点法:就是在识别电路的过程中,不论导线有多长,只要其间没有电源、用电器等,导线两端点均可以看成同一个点,从而找出各用电器两端的公共点。以图丙为例,具体方法:先在图中各接点处用字母表示出来,如图5所示。 由“节点法”可知,导线的a端和c端看成一个点,导线的b端和d端看成一个点,这样L1、L2和L3的一端重合为一个点,另一端重合为另一个点,由此可知,该电路有三条支路,并由“电流流向法” 可知,电流分三条叉,因此这个电路是三盏电灯的并联,等效电路如下图所示。 “节点法”主要用于不规范的复杂电路的识别,有一定的难度。识别电路也还有其他方法,但无论什么方法都需要在加强练习的基础上不断总结识别电路的技巧。

一键多功能按键识别技术

9.一键多功能按键识别技术 1.实验任务 如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式 键盘”区域中的SP1端口上;

(2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线 连接到“八路发光二极管指示模块”区域中的“L1-L8” 端口上;要求,P1.0连接到L1,P1.1连接到L2,P1.2连 接到L3,P1.3连接到L4上。 4.程序设计方法 (1.设计思想由来 在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。 (2.设计方法 从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。下面给出有关程序设计的框图。 5.程序框图

键多功能按键识别.(DOC)

一键多功能按键识别 1.实验任务 如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1.把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘” 区域中的SP1端口上; (2.把“单片机系统”区域中的P1.0-P1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“L1-L8”端口上;要求, P1.0连接到L1,P1.1连接到L2,P1.2连接到L3,P1.3连接到 L4上。

4.程序设计方法 (1.设计思想由来 在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。 (2.设计方法 从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的ID号我们就能够完成上面的任务了。下面给出有关程序设计的框图。 5.程序框图

按键识别控制

XXXXX 大学单片机最小应用系统 设 计 报 告 指导老师:XXXXX 学生:XXXX 学号:XXXX XXXXX学院 XXX年XX月

单片机最小应用系统设计报告 一、设计题目 (1) 二、设计内容与要求 (1) 三、设计目的意义 (1) 3.1设计目的 (1) 3.2系统设计意义 (1) 四、系统硬件电路图 (2) 五、系统流程图与源程序 (3) 5.1 系统程序流程图 (3) 5.2 系统汇编源程序 (4) 六、系统功能分析与说明 (4) 6.1 MCS-51单片机结构和原理 (4) 6.2时钟电路 (7) 6.3复位电路 (8) 6.4键盘的工作原理 (9) 6.5独立式按键 (11) 6.6实训设备与元器件 (11) 6.7设计步骤 (12) 6.8电路板的制作 (12) 6.9系统连线说明 (13) 6.10系统PCB图设计 (14) 6.11系统功能分析与说明 (14) 七、设计体会 (15) 八、参考文献 (15)

一、设计题目 按键识别控制 二、设计内容与要求 用8031单片机控制用一键实现多功能按键识别。将开关SP1接P3.7,P1口接四个发光二极管。上电时,接P1.0 的发光二极管亮;按下开关SP1时,接P1.1 的发光二极管亮;再按下开关SP1时,接P1.2 的发光二极管亮;再按下开关SP1时,接P1.3 的发光二极管亮。再按下开关SP1时,接P1.0 的发光二极管亮,如此循环。 三、设计目的意义 3.1设计目的 (1)了解单片机的基本组成及功能 (2)通过最小应用系统实例了解单片机的基本工作过程 (3)掌握指令格式及表示方法 (4)掌握常用指令的功能及应用 (5)掌握汇编语言的基本结构 (6)了解汇编语言程序设计的基本方法和思路 (7)了解按键识别方法 3.2系统设计意义 (1)在系统掌握单片机相应基础知识的前提下,熟悉单片机最小应用系统的设计方法及系统设计的基本步骤。 (2)完成所需单片机最小应用系统原理图设计绘制的基础上完成系统的电路图设计。(3)完成系统所需的硬件设计制作,在提高实际动手能力的基础上进一步巩固所学知识。(4)进行题目要求功能基础上的软件程序编程,会用相应软件进行程序调试和测试工作。(5)通过单片机应用系统的设计将所学的知识融会贯通,锻炼独立设计、制作和调试单片机应用系统的能力;领会单片机应用系统的软、硬件调试方法和系统的研制开发过程,为进一步的科研实践活动打下坚实的基础。

识别串并联电路的四种方法

1.使用定义法识别串并联电路 若电路中的各元件是逐个顺次连接起来的,则电路为串联电路,若各元件“首首相接,尾尾相连”并列地连在电路两点之间,则电路就是并联电路。 2.使用电流流向法识别串并联电路 从电源的正极(或负极)出发,沿电流流向,分析电流通过的路径。若只有一条路径通过所有的用电器,则这个电路是串联的(如图l所示);若电流在某处分支,又在另一处汇合,则分支处到汇合处之间的电路是并联的(如图2所示)。 电流流向法是电路分析中常用的一种方法。 例1.分析下图所示电路中,开关闭合后,三盏灯的连接形式,并分析开关的作用。

从电源的正极(或负极)出发,沿电流流向,分析电流通过的路径。若只有一条路径通过所有的用电器,则这个电路是串联的(如图l所示);若电流在某处分支,又在另一处汇合,则分支处到汇合处之间的电路是并联的(如图2所示)。 电流流向法是电路分析中常用的一种方法。 例1.分析下图所示电路中,开关闭合后,三盏灯的连接形式,并分析开关的作用。

分析:用“电流流向法”来判断.在图甲所示的电路中,从电源的正极出发,电流依次通过了灯L1、L2和L3,电路中没有出现“分叉”,见图3的虚线所示,所以这三盏灯是串联的.在串联电路中,一个开关可以控制所有的用电器。 为识别图乙所示电路的连接方式,可以先用虚线将电流通过的所有路径在图中画出来,在图中可看出,电流的流向是: 由此可看出灯L1、L2和L3分别在三条支路上,所以这三盏灯是并联的。其中通过灯L1、L2的电流通过了开关S1,当开关S1断开时,灯L1、

L2中没有电流通过,两灯熄灭,因此开关S1控制L1、L2两盏灯泡。开关S2在干路上,控制三盏灯。 在如图所示电路中用“电流流向法”画出了图丙中的电流流向。见图4的虚线所示,电流有三条通路,且每一流线上只有一个用电器,则此电路为并联电路。开关S在干路上,控制三盏灯。 3.使用节点法识别串并联电路 节点法:就是在识别电路的过程中,不论导线有多长,只要其间没有电源、用电器等,导线两端点均可以看成同一个点,从而找出各用电器两端的公共点。以图丙为例,具体方法:先在图中各接点处用字母表示出来,如图5所示。

相关文档
相关文档 最新文档