8 键盘接口技术

合集下载

键盘接口技术

键盘接口技术

理 想 旳 按 键 输 出
因为触点旳弹性作用,一种按键开关在闭合和断开旳瞬间都有一连串旳 抖动,抖动时间旳长短由按键特征决定,一般为5~10ms。
抖动消除方法
• 硬件方法:滤波或状态锁定, 只适用于按键数目较少的情况。
• 软件方法:用软件延时(10ms20ms)后再确认,适合按键数 目较多时。
软件去抖动程序流程
•键盘与计算机的连接方式 •硬件连接 •软件功能
有没有键按下?
• 判断触点的通、断 • 抖动处理
工作流程
哪个键按下?
• 编码键盘:由硬件逻辑电路完成 • 非编码键盘:由软件根据返回的行列
信息完成
执行相应键功能
• 直接散转:根据键码直接执行相应操 作
• 状态散转:同一按键在不同情况下可 以执行不同的功能
以上取0值的位
重键的处理
•一般情况下作为废键处理, 即不响应
•特殊情况可酌情处理,如仅 执行先按下或先释放的按键
程序流程
连击
连击
• 正常情况下,按下某个键时执行对 应的功能
• 如果按键没有被释放,则对应的功 能就会反复被执行,好像操作者在 连续操作该键一样,这种现象称为 连击
连击的处理
•利用连击:部分功能键, 如连加/连减
3个环节
键盘接口设计要点
按键状态旳确认
按键确认原则
• 键的闭合与否取决于其状态,反映在 电压上就是呈现出高电平或低电平。
• 如果高电平表示断开的话,那么低电 平则表示闭合,所以通过对电平高低 状态的检测,便可以确认键按下与否。
抖动旳概念
抖动过程引起电平信号旳波动,有可能令CPU误解为屡次按键操作而引起 误处理。为确保CPU对一次按键动作只确认一次,必须消除抖动旳影响。

第8章 LED显示器及键盘接口技术

第8章 LED显示器及键盘接口技术

8.1 LED显示器的接口技术 显示器的接口技术
LED( Diode) LED ( Light Emitting Diode ) 数码管是由发光二极管构 成的。 成的。 LED显示原理 8.1.1 LED显示原理 • 常见的LED数码管为 字型的, 常见的LED数码管为“8”字型的,共计8段。每一段对应 LED数码管为“ 字型的 共计8 一个发光二极管。 有共阳极和共阴极两种,如图8 一个发光二极管 。 有共阳极和共阴极两种 , 如图 8-1 所 共阴极发光二极管的阴极连在一起,通常公共阴极 示。共阴极发光二极管的阴极连在一起,通常公共阴极 接地。当阳极为高电平时,发光二极管发光。 接地。当阳极为高电平时,发光二极管发光。 同样,共阳极发光二极管的阳极连接在一起, 同样,共阳极发光二极管的阳极连接在一起,公共阳极 接正电压,当某个发光二极管的阴极接低电平时, 接正电压,当某个发光二极管的阴极接低电平时,发光 二极管发光,显示相应的段。 二极管发光,显示相应的段。
N位LED数码管的结构原理图 图8-3 N位LED数码管的结构原理图
1.LED静态显示方式 LED静态显示方式 无论多少位LED数码管,同时处于显示状态。 LED数码管 无论多少位LED数码管,同时处于显示状态。 静态显示方式, 各位的共阴极( 或共阳极) 静态显示方式 , 各位的共阴极 ( 或共阳极 ) 连接在一 每位的段码线( dp) 起并接地( 或接+ 起并接地 ( 或接 +5V ) ; 每位的段码线 ( a ~ dp ) 分别与一 位的I/O口锁存器输出相连。如果送往各个LED I/O口锁存器输出相连 LED数码管所 个8位的I/O口锁存器输出相连。如果送往各个LED数码管所 显示字符的段码一经确定,则相应I/O I/O口锁存器锁存的段码 显示字符的段码一经确定,则相应I/O口锁存器锁存的段码 输出将维持不变, 直到送入另一个字符的段码为止。因此, 输出将维持不变 , 直到送入另一个字符的段码为止 。 因此 , 静态显示方式的显示无闪烁 亮度都较高, 显示无闪烁, 静态显示方式的 显示无闪烁 , 亮度都较高 , 软件控制比较 容易。 容易。 静态显示器电路, 各位可独立显示, 静态显示器电路 , 各位可独立显示 , 静态显示方式接 口编程容易,但是占用口线较多。如果要显示4 口编程容易,但是占用口线较多。如果要显示4位,则要占 I/O口 因此在显示位数较多的情况下, 用4个8位I/O口。因此在显示位数较多的情况下,由于这种 方式占用的I/O口太多。所以在实际应用中, I/O口太多 方式占用的I/O口太多。所以在实际应用中,一般不采用静 态显示方式,而是采用动态显示方式。 态显示方式,而是采用动态显示方式。

2.2 键盘接口技术

2.2 键盘接口技术

+ 5V 8088 D7 CPU D0 RD INTR INTRa 8255A D7 D0 RD PC3 PC4 INT 8259A IR3 STBa PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
S0 S1 S2
独立式键盘中断法接口电路 图 5-6 独立式键盘中断法接口电路
工作过程如下:当CPU对8255A初始化后,CPU即 执行主程序。当按下S0键即表示要进入自动控制状态, 此时与之相连的I/O口线呈现为低电平的同时,与非 门输出为高电平,经反相器变为低电平,使8255A端 口A的选通输入信号PC4 有效,则PA0~PA2引脚接收 并存入3个按键的“0”或“1”状态,经TSIT时间, 8255A的PC3发出INTRa中断请求信号,经中断控制器 8259A向CPU申请中断,CPU响应中断后,即转到中断 服务程序中。中断服务程序依次查询按键的通断状态, 当查询到是自动/手动(即S0=0)时,则转到自动/手 动控制子程序的入口地址,从而使系统进入自动控制 状态。如果没有键按下,则相应的I/O口线均为高电 平,也不会产生中断信号,CPU继续运行主程序为低电平 N
有键按下否? Y 延时100ms
输出所有行为低电平
N
有键按下吗? Y 输出某行为低电平
此行有键按下? N 行键值加08
Y
列键值加1
求出下一行为低电平 N 各行扫描完? Y 返回
列值右移1位
N
进位位为0吗? Y 计算键值
键值送缓冲单元

矩阵键盘扫描及键处理程序流程图
键盘接口电路可分为编码键盘和非编码键盘两种 类型。编码键盘采用硬件编码电路来实现键的编码, 每按下一个键,键盘便能自动产生按键代码。编码键 盘主要有BCD码键盘、ASCII码键盘等类型。非编码键 盘仅提供按键的通或断状态, 按键代码的产生与识别 由软件完成。

8 键盘接口技术

8 键盘接口技术

表示出来,最后再去写代码,这样,才能快速有效地写好
代码。
实践与思考
1. 设计一个简单3个按键的键盘来控制一组发光二极管,使 这组发光二极管可以以6种不同的花色循环点亮。
2. 改用单键实现题1所示功能。
矩阵式键盘接口
• 矩阵式键盘的结构与工作原理
• 矩阵式键盘按键的识别
• 键盘的编码
• 键盘的工作方式
按键开关的抖动问题
单片机系统中应用的一般是由机械触点构成的按键。当机械触点 断开、闭合时,会有抖动,如下图所示。在触点抖动期间检测按键的 通与断状态,可能导致判断出错。即按键一次按下或释放被错误地认
为是多次操作,这种情况是不允许出现的。
常用的去抖动的方法有两种:
1.硬件方法
2.软件方法
硬件方法
在硬件上可采用在键输出端加R-S触发器(双稳态触 发器)或单稳态触发器构成去抖动电路,如图所示 。
况下,通常不对按键释放的后沿进行处理,实践证明,也能满足一定
的要求。当然,在实际应用中,对按键的要求也是千差万别的,要根 据不同的需要来编制处理程序,但以上是消除按键抖动的原则。
简单键盘接口
• 简单键盘的工作原理
• 简单键盘的接口电路与编程 • 实践与思考
简单键盘的工作原理
如果系统只需几个按键,可直接采用I/O线构成单个按键电路,各个按 键之间相互独立,一根线上的按键状态不会影响其他输入线上的工作状态, 又称独立式键盘接口电路。
键盘扫描程序一般应包括以下内容:
(1)判别有无键按下。 (2)键盘扫描取得闭合键的行、列值。 (3)用计算法或查表法得到键值。 (4)判断闭合键是否释放,如没释放则继续等待。 (5)将闭合键键号保存,同时转去执行该闭合键的功能。

一种8位I/O口的单片机显示器和键盘接口

一种8位I/O口的单片机显示器和键盘接口

一种8位I/O口的单片机显示器和键盘接口
杜永泰
【期刊名称】《单片机与嵌入式系统应用》
【年(卷),期】2002(000)012
【摘要】单片机应用系统中,多用LED数码管作为显示装置,以矩阵键盘作为输入装置.常用的单片机与显示器、键盘的接口有2种方式:并行方式和串行方式.并行方式以单片机的并行口(或扩展I/O口)通过一定的驱动装置连接LED数码管的段、位驱动器和矩阵式键盘,进行动态显示和扫描查询键盘.其电路简单,但占用的I/O口位较多.串行方式采用单片机的串行口连接移位寄存器,再驱动LED的段和矩阵式键盘.这种电路虽然所占的I/O口位较少,但接口芯片的数量将随LED数码管数量的增加而增加,电路比较复杂.本文介绍的接口电路,属并行方式,采用了合适的芯片进行硬件译码和驱动,故电路更为简单.与通常所用的并行方式相比,在连接相同数量的LED 显示器和输入键的情况下,所占用的I/O口位较少,能满足一般单片机应用系统的需要.
【总页数】2页(P68-69)
【作者】杜永泰
【作者单位】石家庄陆军学院
【正文语种】中文
【中图分类】TP368.1
【相关文献】
1.基于单片机的硬件编码键盘控制及显示器接口电路设计 [J], 唐颖;阮文海
2.一种8位I/O口的单片机显示器和键盘接口 [J], 杜永泰
3.MCS-51单片机系统键盘与显示器接口的一种设计 [J], 邵思飞
4.多片8279与单片机及键盘/显示器接口电路设计 [J], 熊庆国;贺风云
5.8031单片机与键盘,显示器的一种接口方法 [J], 陈大本
因版权原因,仅展示原文概要,查看原文内容请购买。

键盘接口技术

键盘接口技术
第六章
单片机显示和键 盘接口
主要内容
键盘接口技术:键盘接口技术概述 、 键盘接口的实现。
6.2
单片机键盘接口技术
一、概述
键盘由一系列按键开关组成,它是
单片机系统中最常用的人机联系的一 种输入设备。用户通过键盘可以向 CPU输入数据、地址和命令。
键码:每个按键都被赋予一个代码。
1.键盘分类
按键值编码方式:编码键盘与非编码键盘 编码键盘: 采用专用的编码/译码器件,被按 下的键由该器件译码输出相应的键码/键值。 特点:增加了硬件开销,编码因选用器件而 异,编码固定,但编程简单。适用于规模大 的键盘。
RETI
特点: 此子程序采用中断查询不会漏判,省时。 键的优先级由指令顺序决定。 为防止一次按键多次中断,在功能子程
序里应安排“关/开中断指令”并“延
时”。
独立连接式键盘实验1: 条件:按K1:30H加1,K2:30H减1。 K1 EQU P1.0 K2 EQU P1.1 主程序流程:
调用键盘子程序
2.反转法 行列线交换输入、输出,两步获取按 键键号。
按键处理程序: 有按键输入? 延时消抖
确有按键?
键扫描求键号
延时等待 按键释放?
键译码求键值 是数字键?
修改显示缓冲区
跳转各功能程序
KEY:
JB JB MOV RL JNB
K1,LP1 K1,LP1 A,K1 A K1,$
CALL DELAY
MOV K1,A SJMP FH
LP1:
JB
JB MOV RR JNB
K2,FH
K2,FH A,K2 A K2,$
CALL DELAY
MOV K2,A FH: RET
DELAY: MOV R7,#5

new 8(键盘扫描及显示)

new 8(键盘扫描及显示)

机械式薄膜式电容式霍尔效应式键盘接口电路实例:10K +5VCD E F 89A B 456701238255APA0PA1PA2PA3PC0PC1PC2PC3【分析】【键扫描过程】①②③④z 检测矩阵中是否有键压下z 消除键抖动A 口输出一个低电平C 口读入各列的值z 确定被压下键所在的行列号06(也可用其他方法得到键值)z 获取键的扫描码z 上一次压下的键是否已松开三、实验原理8255各接口及寄存器地址:8255A 方式选择控制字:89H1 0 0 0 X 0 01C口低4位I/O选择1:输入;0:输出C口高4位I/O选择1:输入;0:输出B口方式0:方式0;1:方式1B口I/O选择1:输入;0:输出A口I/O选择1:输入;0:输出A口方式00:方式001:方式11X:方式22、原理图:数码管共阴显示键扫键值平均电流约为10mA~20mA。

’F’00000111共阴数码管显示笔划码:笔划码:3FH, 06H, 5BH, 4FH, 66H, 6DH 笔划码:7DH, 07H, 7FH, 6FH, 77H, 7CH 笔划码:39H, 5EH, 79H, 71H, 00H, 0E3H4、动态显示Dp(h)¾只有一只数码管显示数值在字形口送笔划码,在字位口使显示数码管的共阴端为0,其它数码管的共阴端为1X6X5X1动态显示子程序流程框图:查表指令XLAT有按键依次检测1-4列,确定是第几行按键按下由行号,列号得键值键值送显示缓冲区按键弹起?调显示ANO YES。

8 键盘接口技术

8 键盘接口技术

按键输入原理
在单片机应用系统中,除了复位按键有专门的复位电路及专一的 复位功能外,其他按键都是以开关状态来设置控制功能或输入数据。 当所设置的功能键或数字键按下时,单片机系统应完成该按键所设定
的功能,按键信息输入是与软件结构密切相关的过程。
对于一个键盘或一组按键,单片机系统中总有一个接口电路与 CPU相连。CPU可以采用查询或中断方式了解有无按键输入并检查是 哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执 行该键的功能程序,执行完后再返回主程序。
• 矩阵键盘的接口实例
• 实践与思考
矩阵式键盘的结构与工作原理
矩阵式键盘中,行、列线分别连接到 按键开关的两端,行线通过上拉电阻接到 +5V上。当无键按下时,行线处于高电平状 态;当有键按下时,行、列线将导通,此 时,行线电平将由与此行线相连的列线电 平决定。这一点是识别矩阵按键是否被按
下的关键。然而,矩阵键盘中的行线、列
这种电路每个按键需要
占用一根I/O线,在按
键数量较多时,输入口 浪费大且电路结构很烦
琐,因此这种键盘接口
电路只适用于按键较少 或要求较高操作速度的
场合。
简单键盘的接口电路与编程
下面以图 (a)为例进行编程。 (1)程序实现的功能 (2)程序采用的方法
(3)程序中用到的变量和常量的定义
(4)程序中调用的子程序 (5)程序清单 (6)程序分析与思考
第2章 键盘接口技术
1. 按键
2. 简单键盘接口
3. 矩阵式键盘接口 4. 可编程键盘接口
按键
键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件, 也就是说键盘是一组规则排列的开关。单片机使用的按键是一种常开型 的开关,平时按键的两个触点处于断开状态,按下键时它们才闭合。

第8章—键盘与显示器器接口

第8章—键盘与显示器器接口

9.2.2非编码键盘接口技术
非编码键盘接口技术主要是如何确定被按 键的行、列位置,即键码(值)。按键识别是 接口技术的关键问题。 常 用 按 键 识 别 方 法 有 行 扫 描 法 ( RowScanning)和线反转法(Line-Reverse) 。
典型非编码键盘结构 非编码键盘大都采用按行、列排列的矩阵开关结构,这种 结构可以减少硬件和连线。
3、按键识别 决定是否有键被按下,如有则应识别键盘矩 阵中被按键对应的编码。编码键盘通过硬件直 接提供按键与被按键对应的ASCII码或其它编 码。非编码键盘则需要通过编程方式提供按键 编码。其优点是结构简单、成本低廉。
9.2.1 编码与非编码键盘的概念
编码键盘:能够由硬件自动提供与被按键对应的ASCII码或其它编码的键盘。 特点:电路复杂,价格较高,实验方便。 非编码键盘:仅提供行按键的行和列的位置参数,其数值与按键编码不存在严 格的对应关系,而要由所用的程序来确定。 特点:硬件接口简单,但是要占用较多的CPU时间。
计8段。因此为LED显示器提供的段码正好是一个字节。
实际使用中,通过单片机向LED显示接口输出不同
段码,即可显示相应的数字。
LED数码显示器共阴极和共阳极段码
存储器 地址
SEG SEG+1 SEG+2 SEG+3 SEG+4
显示 数字
Байду номын сангаас0 1 2 3 4
共阴极接法的七段状态 g f e d c b a
0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1 0
共阴极接法 段码(十六进制数)
3F 06 5B 4F 66

键盘接口技术

键盘接口技术

POP
RETI WZD01: MOV JNB
PSW
MOV A,#01H P1,#0FEH P3.2,KEYR1
;置S1键的键值为1 ;扫描P1.0 ;是S1键则转移
第8章
AT89C51系统接口技术
INC
A
;不是S1键,键值加1 ;扫描P1.1,以下同P1.0类似
MOV P1,#0FDH JNB INC
第8章
AT89C51系统接口技术
键扫描程序如下:
BOAD:LCALL BOADD JNZ BOAD1 ;无键按下转BOAD
LCALL DELAY
AJMP BOAD BOAD1:LCALL DELAY
;调延时子程序
;继续扫描键盘
;消除键抖动(延时子程序略)
LCALL BOADD
JNZ BOAD2 LCALL DELAY
AT89C51系统接口技术
BEGIN:
ORG 0100H MOV SP,#60H ;设置堆栈
MOV R1,#00H
SETB IT1 SETB SETB SETB
;R1存放键值
;设INT0、INT1为边沿触发 IT0 EA EX0 ;开中断
SETB
MOV
EX1
P1,#00H
第8章
AT89C51系统接口技术
MOV P1,#0FH
MOV A,P1
;置行线为0
MOV 30H,A MOV P1,#0F0H MOV A,P1 ;置列线为0
MOV 31H,A
ANL 30H,#0FH ;取列值
第8章
AT89C51系统接口技术
MOV
A,30H
ANL 31H,#0F0H ;取行值 ADD A,31H CPL RET A ;行值加列值 ;A全0无键按下

用两片I_2C总线接口通用器件PCF8574扩展的8_8键盘

用两片I_2C总线接口通用器件PCF8574扩展的8_8键盘
( 二) I2C 中断服务程序 I2C 中断后 ,即执行状态处理的散转程序转向相 应的状态处理程序 。因 I2C 中断只有 1 个 ,而状态处 理程序的入口地址多达 26 个 ,所以采用子程序返回 。
SIDA T (DA H)
D7 D6 D5 D4 D3 D2 D1 D0 SD7 SD6 SD5 SD4 SD3 SD2 SD1 SD0
它为串行输入输出结构的核心部分 ,用来存放一
个发送的数据字节或刚收到的一个数据字节 。
的编址方法 ,避免了片选线的连接方法 。 5. 所有带 I2C 总线接口的外围器件都具有应答功
(单片机 、微处理器等) 、外围器件等都连到同名端的
SIADR (DB H)
D7 D6 D5 D4 D3 D2 D1 D0 × × × × × × × GC
自己从地址
SDA (串行数据线) 、SCL (串行时钟线) 上 ,并通过这两 根线在器件之间传送信息 。
2. 系统中 有 多 个 主 器 件 时 , 任 何 一 个 主 器 件 在 I2C 上工作时都可成为主控制器 (无中心主机) 。
RET
;状态处理程序高、低位地址进入 PC
( 三) I2C 总线初始化及通用读写子程序
D7 D6 D5 D4 D3 D2 D1 D0
一般情况下 ,可把 I2C 总线的初始化和通用读写
0100 器件地址
× × × R/ W 引脚地址
子程序合写为一个包括 I2C 总线初始化的通用读写子 程序 。使用时只需满足通用读写子程序的入口条件 , 直接调用通用读写子程序 ,就可完成包括启动 I2C 总
I2C 总线 的 状 态 产 生 开 始 信 号 或 重 复 开 始 信 号 ; 当 STA = 0 时 ,SIO1 不产生开始信号或重复开始信号 。

第八章--显示和键盘接口技术

第八章--显示和键盘接口技术

LED大屏幕显示屏和接口
LED大屏幕显示屏接口
LED大屏幕显示屏和接口
LED大屏幕显示屏扩展接口
字符LCD 液晶显示和接口
1 23
LCD模块
4 5 6 7 8 9 10 11 12 13 14 15 16
VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K
字符LCD 液晶显示和接口
1 23
LCD模块
4 5 6 7 8 9 10 11 12 13 14 15 16
VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K
RS
R/W
操作
0
0
写命令操作(初始化、光标
定位等)
0
1
读状态操作(读忙标志)
1
0 写数据操作(要显
单片机与LED数码管接口
LED静态显示
单片机与LED数码管接口
LED动态显示
单片机与LED数码管接口
LED动态显示
动态显示是一种按位轮番点亮各位数码管旳显示方式, 即在某一时段,只让其中一位数码管“位选端”有效, 并送出相应旳字型显示编码。此时,其他位旳数码管因 “位选端”无效而都处于熄灭状态;下一时段按顺序选 通另外一位数码管,并送出相应旳字型显示编码,依此 规律循环下去,即可使各位数码管分别间断地显示出相 应旳字符。这一过程称为动态扫描显示。
LED大屏幕显示屏和接口
LED大屏幕显示屏构造及原理
LED大屏幕显示屏和接口
LED大屏幕显示屏构造及原理
“大”字显示字型码示意图
LED大屏幕显示屏和接口
LED大屏幕显示屏构造及原理

键盘及其接口技术ppt课件

键盘及其接口技术ppt课件

状态输入
编码输出
Ei
I7
I6
I5
I4
I3
I2
I1
I0
GS
O2
O1
O0
Eo
0
××× ×××××0
0
0
0
0
1
0
0
0
0
0
0
0
00
0
0
0
1
1
××× ××××1
1

0
0
0
1
××× ×××1
0
1
0
0
1
0
1
××× ××1
0
0
1
0
1
0
0
1
××× ×1
0
0
0
1
0
1
1
0
1
××× 1
0
0
0
0
1
1
0
0
0
1
××1
0
0
0
0
0
1
JZ DONE
CALL DELAY MOV AL,0FFH OUT PORT1,AL IN AL,PORT1
CMP AL,0FFH
JZ DONE MOV AH,08 MOV BL,01H KEY1:MOV AL,BL OUT PORT1,AL IN AL,PORT1 CMP AL,0FFH
JNZ KEY2 MOV AL,CL ADD AL,08
PORT1
64
74LS
138
1G
IOW
74LS244
2G
IOR
D0 D1 D2 D3 D4 D5 D6 D7 19

8-1单片机_键盘_显示器接口

8-1单片机_键盘_显示器接口

动态显示基本原理
12 13 14 15 16 17 18 19 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 1 2 5
行 扫 描 法 图
有键摁下,详细判 断是哪行哪列?
(c) 扫描第0行 (d) 扫描第1行
(e) 扫描第2行 (f) 扫描第3行
确定为0行2列有键摁下
键按下/释放判断
P1.0--1.3作为输入口 P1.4--1.7作为输出口
P1.7 P1.6 P1.5 MCS-51 P1.4 P1.3 P1.2 P1.1 P1.0 +5V
;先置P1口为“1”
;输入键状态 ;查询0号键 ;查询1号键 ;查询2号键 键盘扫描
JNB ACC.3, P3F JNB ACC.4, P4F
JNB ACC.5, P5F JNB ACC.6, P6F JNB ACC.7, P7F LJMP START
;查询3号键 ;查询4号键
;查询5号键 ;查询6号键 ;查询7号键
中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方 式。其工作过程如下:当无键按下时,CPU处理自 己的工作,当有键按下时,产生中断请求,CPU转 去执行键盘扫描子程序,并识别键号。
ME830 矩阵式摁键
P1口: 低4位作为列线 高4位作为行线
0 4 8
1 5 9
2 6 A
3 7 b
C

键盘接口技术全览

键盘接口技术全览

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★作者:周兴华键盘接口技术及C51编程键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。

键盘按结构形式可分为非编码键盘和编码键盘,前者是用软件方法产生键码,而后者则用硬件方法来产生键码。

在单片机中使用的都是非编码键盘,因为非编码键盘结构简单、成本低廉。

非编码键盘的类型很多,常用的有独立式键盘、行列式键盘等。

19.1 独立式键盘独立式键盘是指将每个按键按一对一的方式直接连接到I/O 输入线上所构成的键盘,如图19-1所示。

图19-1在图19-1中,键盘接口中使用多少根I/O 线,键盘中就有几个按键。

键盘接口使用了8根I/O 口线,该键盘就有8个按键。

这种类型的键盘,键盘的按键比较少,且键盘中各个按键的工作互不干扰。

因此,用户可以根据实际需要对键盘中的按键灵活地编码。

最简单的编码方式就是根据I/O 输入口所直接反映的相应接键按下的状态进行编码,称按键直接状态码。

假如图l 中的K0键被按下,则P1口的输入状态是11111110,则K0键的直接状态编码就是FEH 。

对于这样编码的独立式键盘,CPU 可以通过直接读取I/O 口的状态来获取按键的直接状态编码值,根据这个值直接进行按键识别。

这种形式的键盘结构简单,按键的识别容易。

独立式键盘的缺点是需要占用较多的I/O 口线。

当单片机应用系统键盘中需要的按键比较少或I/O 口线比较富余时,可以采用这种类型键盘。

19.2 行列式键盘★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★行列式键盘是用n 条I/O 线作为行线,m 条I/O 线作为列线组成的键盘。

在行线和列线的每一个交叉点上,设置一个按键。

这样,键盘中按键的个数是mxn 个。

这种形式的键盘结构,能够有效地提高单片机系统中I/O 口的利用率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

达a端时,因a = 0,b = 1,使Q = 1,双稳态电路状态发生翻转,输出Q
重新返回原状态。由此可见,键盘输出经双稳态电路之后,输出已变为规 范的矩形方波。
软件方法
软件方法其实很简单,就是在单片机获得P1.0口为低电平的信息
后,不是立即认定S已被按下,而是延时10ms或更长一些时间后再次 检测P1.0口,如果仍为低电平,说明S的确按下了,这实际上是避开 了按键按下时的抖动时间。而在检测到按键释放后(P1.0为高电平) 再延时5~10ms,消除后沿的抖动,然后再对键值处理。不过一般情
键盘的编码
1.独立式键盘 2.矩阵式键盘 按键数量少,可根据实际需要灵活编码。 按键的位置由行号和列号唯一确定,因此可分别对行号和列
号进行二进制编码,然后将两值合成一个字节,高4位是行号,低4位是 列号。
问题: 不同行的键离散性较大,不利于散 转指令对按键进行处理。 采用依次排列键号的方式对安排进行编码。
电路工作过程
电路工作过程
按键未按下时,a = 0,b = 1,输出Q = 1,按键按下时,因按键的机 械弹性作用的影响,使按键产生抖动,当开关没有稳定到达b端时,因与 非门2输出为0反馈到与非门1的输入端,封锁了与非门1,双稳态电路的状 态不会改变,输出保持为1,输出Q不会产生抖动的波形。当开关稳定到 达b端时,因a = 1,b = 0,使Q = 0,双稳态电路状态发生翻转。当释放 按键时,在开关未稳定到达a端时,因Q = 0,封锁了与非门2,双稳态电 路的状态不变,输出Q保持不变,消除了后沿的抖动波形。当开关稳定到
线和多个键相连,各按键按下与否均影响 该键所在行线和列线的电平,各按键间将 相互影响,因此,必须将行线、列线信号 配合起来作适当处理,才能确定闭合键的 位置。
矩阵式键盘按键的识别
1. 扫描法 2. 线反转法
扫描法
按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平, 显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的 变化,因此,必须使所有列线处在低电平,只有这样,当有键按下时,该键所在的 行电平才会由高电平变为低电平。CPU根据行平电的变化,便能判定相应的行有 键按下。8号键按下时,第2行一定为低电平,然而,第2行为低电平时,能否肯定 是8号键按下呢?回答是否定的,因为9、10、11号键按下同样使第2行为低电平。 为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只 让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,
按键输入原理
在单片机应用系统中,除了复位按键有专门的复位电路及专一的 复位功能外,其他按键都是以开关状态来设置控制功能或输入数据。 当所设置的功能键或数字键按下时,单片机系统应完成该按键所设定
的功能,按键信息输入是与软件结构密切相关的过程。
对于一个键盘或一组按键,单片机系统中总有一个接口电路与 CPU相连。CPU可以采用查询或中断方式了解有无按键输入并检查是 哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执 行该键的功能程序,执行完后再返回主程序。
程序去除键 抖动,判断键号并转入相应的按键处理。
程序采用的方法
程序采用查询的方法,P1口接8个发光二极管,4个按键 分别接到P3.2 、P3.3、P3.4和P3.5,且定义如下。 P3.2:开始,按此键则灯开始流动(由上而下) P3.3:停止,按此键则停止流动,所有灯为暗 P3.4:上,按此键则灯由上向下流动 P3.5:下,按此键则灯由下向上流动
按键的分类
按键按照结构原理可分为两类: 1.触点式开关按键,如机械式开关、导电橡胶式开关等; 2.无触点开关按键,如电气式按键,磁感应按键等。.
前者造价低,后者寿命长。目前,单片机系统中最常见的是触点式开 关按键。
按键按照接口原理可分为:
编码键盘主要是用硬件来实现
1.编码键盘
2.非编码键盘两类,
对键的识别,非编码键盘主要是 由软件来实现键盘的定义与识别。
• 矩阵键盘的接口实例
• 实践与思考
矩阵式键盘的结构与工作原理
矩阵式键盘中,行、列线分别连接到 按键开关的两端,行线通过上拉电阻接到 +5V上。当无键按下时,行线处于高电平状 态;当有键按下时,行、列线将导通,此 时,行线电平将由与此行线相连的列线电 平决定。这一点是识别矩阵按键是否被按
下的关键。然而,矩阵键盘中的行线、列
依次循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。
线反转法
• 第1步:将列线P1.4~P1.7 作为输入线,行线P1.3~P1.0
作为输出线,并将输出线输出全为低电平,读列线状态,
则列线中电平为低的是按键所在的列。 • 第2步:将行线作为输入线,列线作为输出线,并将输出 线输出为低电平,读行线状态,则行线中电平为低的是按 键所在的行。 • 综合第1、2两步结果,可确定按键所在的行和列,从而识 别出所按下的键。
表示出来,最后再去写代码,这样,才能快速有效地写好
代码。
实践与思考
1. 设计一个简单3个按键的键盘来控制一组发光二极管,使 这组发光二极管可以以6种不同的花色循环点亮。
2. 改用单键实现题1所示功能。
矩阵式键盘接口
• 矩阵式键盘的结构与工作原理
• 矩阵式键盘按键的识别
• 键盘的编码
• 键盘的工作方式
(1)程序功能。若有键被按下,应识别出是哪一个键闭合。方法是对键盘的 行线进行扫描。 (2)检测当前是否有键被按下。检测的方法是P1.4~P1.7输出全“0”,读取 P1.0~P1.3的状态,若P1.0~P1.3为全“1”,则无键闭合,否则有键闭合。 (3)去除键抖动。当检测到有键按下后,延时一段时间再做下一步的检测判 断。 (4)P1.4~P1.7按下述4种组合依次输出: P1.7 1 1 1 0 P1.6 1 1 0 1 P1.5 1 0 1 1 P1.4 0 1 1 1
8279的内部结构 8279的内部结构框图
8279的工作原理
(1)I/O控制及数据缓冲器
(2)控制与定时寄存器及定时控制
(3)扫描计数器
(4)回复缓冲器、键盘去抖及控制
矩阵键盘的接口实例
8051单片机的P1口作为键盘I/O
口,键盘的列线接到P1口的低4位,
键盘的行线接到P1口的高4位。列线 P1.0~P1.3分别接有4个上拉电阻到 正电源+5V,并把列线P1.0~P1.3设 置为输入线,行线P1.4~P.17设置为
输出线。4根行线和4根列线形成16
个相交点。
矩阵键盘的接口实例
键盘扫描程序一般应包括以下内容:
(1)判别有无键按下。 (2)键盘扫描取得闭合键的行、列值。 (3)用计算法或查表法得到键值。 (4)判断闭合键是否释放,如没释放则继续等待。 (5)将闭合键键号保存,同时转去执行该闭合键的功能。
定时扫描方式
定时扫描方式就是每隔一段时间对键盘扫描一次,它 利用单片机内部的定时器产生一定时间(例如10ms)的
总结:
无论以何种方式编码,均应以处理问题方便为原则,而最基本的就是 键所处的物理位置即行号和列号,它是各种编码之间相互转换的基础,编 码相互转换可通过计算或查表的方法实现。
键盘的工作方式
• 编程扫描方式
• 定时扫描方式 • 中断扫描方式
编程扫描方式
编程扫描方式是利用CPU完成其他工作的空余调用键盘扫描子程 序来响应键盘输入的要求。在执行键功能程序时,CPU不再响应键输入 要求,直到CPU重新扫描键盘为止。
这种电路每个按键需要
占用一根I/O线,在按
键数量较多时,输入口 浪费大且电路结构很烦
琐,因此这种键盘接口
电路只适用于按键较少 或要求较高操作速度的
场合。
简单键盘的接口电路与编程
下面以图 (a)为例进行编程。 (1)程序实现的功能 (2)程序采用的方法
(3)程序中用到的变量和常量的定义
(4)程序中调用的子程序 (5)程序清单 (6)程序分析与思考
图中的4输入与门用于产生按键中断,其输入端
与各列线相连,再通过上拉电阻接至+5V电源,输出
端接至8051的外部中断输入端。具体工作如下:当 键盘无键按下时,与门各输入端均为高电平,保持
输出端为高电平;当有键按下时,端为低电平,向
CPU申请中断,若CPU开放外部中断,则会响应中 断请求,转去执行键盘扫描子程序。
定时,当定时时间到就产生定时器溢出中断,CPU响应中
断后对键盘进行扫描,并在有键按下时识别出该键,再执
行该键的功能程序。
定时扫描方式
程序流程图
中断扫描方式
当无键按下时,CPU处理自己的工作,当有键按下时,产 生中断请求,CPU转去执行键盘扫描子程序,并识别键号。中
断扫描方式可以提高CPU工作效率 。
况下,通常不对按键释放的后沿进行处理,实践证明,也能满足一定
的要求。当然,在实际应用中,对按键的要求也是千差万别的,要根 据不同的需要来编制处理程序,但以上是消除按键抖动的原则。
简单键盘接口
• 简单键盘的工作原理
• 简单键盘的接口电路与编程 • 实践与思考
简单键盘的工作原理
如果系统只需几个按键,可直接采用I/O线构成单个按键电路,各个按 键之间相互独立,一根线上的按键状态不会影响其他输入线上的工作状态, 又称独立式键盘接口电路。
(3)设定一个指示锁定状态的指示位,该位为“0”表示解锁状态,为
“1”表示锁定状态。 (4)编程实现键盘功能部分。
可编程键盘接口
Intel8279是一种可编程键盘/显示器接口芯片,它
含有键盘输入和显示器输出两种功能。键盘输入时,它
提供自动扫描,能与按键或传感器组成的矩阵相连,接
收输入信息,它能自动消除键盘抖动并能对多键同时按
第2章 键盘接口技术
1. 按键
相关文档
最新文档