键盘显示器接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
键盘、显示器接口
PC机除了主 机以外还需要 哪些部分呢?
单片机电路有时候也需要键盘、显示等外设。
键盘显示器接口
键盘分类
6.3 键盘接口
编码式的:由其内部硬件逻辑电路自动产
生被按键的编码。使用方便,键盘码产生速 度快,占用CPU时间少,但对按键的检测与 消除抖动干扰是靠硬件电路来完成的,硬件 电路复杂、成本高。
描
JNB ACC.4, P4F ;查询4号键
JNB ACC.5, P5F ;查询5号键
7
JNB ACC.6, P6F ;查询6号键
JNB ACC.7, P7F LJMP 键ST盘A显R示T器接口
;查询7号键
P0F:LJMP PROM0 P1F:LJMP PROM1
……
P6F:LJMP PROM6 P7F:LJMP PROM7
;****************** 有键按下
CJNE A,#01H, KB01 ; 不等转
LCALL PGM1
SJMP KBACK
对应的数
KB01:
CJNE A,#02H, KB02 LCALL PGM2 SJMP KBACK
字叫键号 1、2、4
KB02: CJNE A,#04H,KB
LCALL PGM3
键盘的工作方式有3种:
查询法(程序控制扫描) 定时扫描法 中断扫描法
键盘显示器接口
1.查询法
实际上,51单片机的P1-P3口都有内部 上拉电阻,这些电阻、电源可以不接。 见ME830实验板。
接口电路:
查询法是指单片机在空闲时, 才调用键盘扫描子程序,并反 复地扫描键盘,直到用户从键 盘上输入命令或数据。而在执 行键入命令或处理键入数据过 程中,CPU将不再响应键入要 求,直到CPU重新扫描键盘为 止。
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
键盘显示器接口
2. 定时扫描方式
定时扫描方式就是每隔一段时间对键盘扫描一 次,它利用单片机内部的定时器产生一定时间(例 如10 ms)的定时,当定时时间到就产生定时器溢 出中断。CPU响应中断后对键盘进行扫描,并在有 键按下时识别出该键,再执行该键的功能程序。
3. 中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方 式。其工作过程如下:当无键按下时,CPU处理自 己的工作,当有键按下时,产生中断请求,CPU转 去执行键盘扫描子程序,并识别键号。
键盘显示器接口
ME830 独立式摁键
P1.4-1.7 P3.2-3.5
键盘显示器接口
查询法原理----当任何一个键被按下时,与其相连的输 入线被置成 “0”,平时该线为“1”。
键处理程序
ORG 2000H
START:MOV A ,#0FFH MOV P1,A
;先置P1口为“1”
MOV A,P1
;输入键状态
0 JNB ACC.0, P0F ;查询0号键
JNB ACC.1, P1F ;查询1号键
键
JNB ACC.2, P2F ;查询2号键
盘 扫
JNB ACC.3, P3F ;查询3号键
R
R
R
P
P
键按下
闭合 稳定
键释放
前沿抖动
后沿抖动
键被按下
P S
去抖动电路
去抖动后的 按键输出波 形
键按下,S、R=0 1,触发器置1,P=0。 触点抖动跳开时, S、R=1 1,键触盘发显器示器保接持口,P仍 = 0。
这里的抖动 指触点跳开
去抖电路2
键盘显示器接口
二、非编码独立式按键
结合ME830实 验,重点讲此法
1 2 3
类似ME830中的例程三
ORG 0000H
KB:
MOV P1,#0FFH
MOV A,P1
;第一次读键
CPL A
ANL A,#0FH
JZ KBACK ;A =0 (无键摁下)转
LCALL D10MS ; 防止抖动
MOV A,P1 ;再次读键
CPL A
ANL A,#0FH
JZ KBACK ;无键按下 转
KBACK: LJMP KB
; 循环检测键
END
键盘显示器接口
三、 非编码矩阵式按键结构
关键问题:摁键 的识别
键盘显示器接口
“行扫描法”与“线反转法”
识别键摁下的两种方法
课本P195
①行扫描法:基本思想:由程序对键盘进行逐行扫描,通 过检测到的列的输出状态来确定闭合键。
先行全0,读列值,全1无摁键,非全1有键 摁下;
非编码式的:主要由软件
产生被按键的编码。硬件电 路简单,成本低,但占用 CPU的时间较长。 (单片机系统中普遍使用非编 码式键盘。)
键盘显示器接口
➢ 独立式按键 ➢ 矩阵式按键
介绍此
我们实验用的 非编码键盘
矩阵式按键
独立式按键
键盘显示器接口
一、键盘接口需要解决的问题
按键识别:
键按下 闭合稳定
键释放
@ 若有键按下,再将读入的列 线值由列线输出,读进行线 的值。
@ 第一步读进的列线值与第 二步读进的行线值相加, 从而得到代表此键的唯一 的特征值。
e
f
粗略判断有无键摁下:有,再详细 判断;无,则CPU仍做自己的工作
(a) 无键摁下 (b) 有键摁下
确定第2列有键摁下
有键摁下,详细判 断是哪行哪列?
(c) 扫描第0行 (d) 扫描第1行
(e) 扫描第2行 (f) 扫描第3行
确定为3行2列有键摁下
②线反转法
原理:
@ 由行线输出全“0”,读入 列线,判有无键按下。
;入口地址表
PROM0:………………….. …………………..
;0号键功能程序
LJMP START
;0号键处理完返回键盘扫描
.
.
.
.
PROM7:………………….. …………………..
wk.baidu.com
;7号键功能程序
LJMP START
;7号键处理完返回键盘扫描
键盘显示器接口
例子:按三个按键中 的任一键均对应相应 的一个特定功能PGMi。
有键摁下时: 逐行输出0,查列值:有0则该行该列交叉 处即为摁键位置.
②线反转法(行反转法) :行反转法需要两个双向I/O口 分别接行、列线。该方法比扫描法速度快,但硬件上要复杂 一些。
基本思想:通过行列互换两次扫描来识别闭合键。
键盘显示器接口
课本 P195
①
行 扫 描 法 图
行
列
a
b
c
d
键盘显示器接口
是否有键按下 求键号 键抖动及消除:
前沿抖动
后沿抖动
机械按键抖动时间在
5ms~10ms之间
断开
Q
消除方法:
闭合
Q
硬件方案——双稳态去抖电路
软件方案——延时10ms~20ms后再次判断
键盘显示器接口
双稳态去抖电路
*
+5V R
在此期间,CPU对一次 键入做多次键处理
P
按键开关
按键前后, S R=1 0,触发器置0 , P = 1。 +5V
PC机除了主 机以外还需要 哪些部分呢?
单片机电路有时候也需要键盘、显示等外设。
键盘显示器接口
键盘分类
6.3 键盘接口
编码式的:由其内部硬件逻辑电路自动产
生被按键的编码。使用方便,键盘码产生速 度快,占用CPU时间少,但对按键的检测与 消除抖动干扰是靠硬件电路来完成的,硬件 电路复杂、成本高。
描
JNB ACC.4, P4F ;查询4号键
JNB ACC.5, P5F ;查询5号键
7
JNB ACC.6, P6F ;查询6号键
JNB ACC.7, P7F LJMP 键ST盘A显R示T器接口
;查询7号键
P0F:LJMP PROM0 P1F:LJMP PROM1
……
P6F:LJMP PROM6 P7F:LJMP PROM7
;****************** 有键按下
CJNE A,#01H, KB01 ; 不等转
LCALL PGM1
SJMP KBACK
对应的数
KB01:
CJNE A,#02H, KB02 LCALL PGM2 SJMP KBACK
字叫键号 1、2、4
KB02: CJNE A,#04H,KB
LCALL PGM3
键盘的工作方式有3种:
查询法(程序控制扫描) 定时扫描法 中断扫描法
键盘显示器接口
1.查询法
实际上,51单片机的P1-P3口都有内部 上拉电阻,这些电阻、电源可以不接。 见ME830实验板。
接口电路:
查询法是指单片机在空闲时, 才调用键盘扫描子程序,并反 复地扫描键盘,直到用户从键 盘上输入命令或数据。而在执 行键入命令或处理键入数据过 程中,CPU将不再响应键入要 求,直到CPU重新扫描键盘为 止。
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
键盘显示器接口
2. 定时扫描方式
定时扫描方式就是每隔一段时间对键盘扫描一 次,它利用单片机内部的定时器产生一定时间(例 如10 ms)的定时,当定时时间到就产生定时器溢 出中断。CPU响应中断后对键盘进行扫描,并在有 键按下时识别出该键,再执行该键的功能程序。
3. 中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方 式。其工作过程如下:当无键按下时,CPU处理自 己的工作,当有键按下时,产生中断请求,CPU转 去执行键盘扫描子程序,并识别键号。
键盘显示器接口
ME830 独立式摁键
P1.4-1.7 P3.2-3.5
键盘显示器接口
查询法原理----当任何一个键被按下时,与其相连的输 入线被置成 “0”,平时该线为“1”。
键处理程序
ORG 2000H
START:MOV A ,#0FFH MOV P1,A
;先置P1口为“1”
MOV A,P1
;输入键状态
0 JNB ACC.0, P0F ;查询0号键
JNB ACC.1, P1F ;查询1号键
键
JNB ACC.2, P2F ;查询2号键
盘 扫
JNB ACC.3, P3F ;查询3号键
R
R
R
P
P
键按下
闭合 稳定
键释放
前沿抖动
后沿抖动
键被按下
P S
去抖动电路
去抖动后的 按键输出波 形
键按下,S、R=0 1,触发器置1,P=0。 触点抖动跳开时, S、R=1 1,键触盘发显器示器保接持口,P仍 = 0。
这里的抖动 指触点跳开
去抖电路2
键盘显示器接口
二、非编码独立式按键
结合ME830实 验,重点讲此法
1 2 3
类似ME830中的例程三
ORG 0000H
KB:
MOV P1,#0FFH
MOV A,P1
;第一次读键
CPL A
ANL A,#0FH
JZ KBACK ;A =0 (无键摁下)转
LCALL D10MS ; 防止抖动
MOV A,P1 ;再次读键
CPL A
ANL A,#0FH
JZ KBACK ;无键按下 转
KBACK: LJMP KB
; 循环检测键
END
键盘显示器接口
三、 非编码矩阵式按键结构
关键问题:摁键 的识别
键盘显示器接口
“行扫描法”与“线反转法”
识别键摁下的两种方法
课本P195
①行扫描法:基本思想:由程序对键盘进行逐行扫描,通 过检测到的列的输出状态来确定闭合键。
先行全0,读列值,全1无摁键,非全1有键 摁下;
非编码式的:主要由软件
产生被按键的编码。硬件电 路简单,成本低,但占用 CPU的时间较长。 (单片机系统中普遍使用非编 码式键盘。)
键盘显示器接口
➢ 独立式按键 ➢ 矩阵式按键
介绍此
我们实验用的 非编码键盘
矩阵式按键
独立式按键
键盘显示器接口
一、键盘接口需要解决的问题
按键识别:
键按下 闭合稳定
键释放
@ 若有键按下,再将读入的列 线值由列线输出,读进行线 的值。
@ 第一步读进的列线值与第 二步读进的行线值相加, 从而得到代表此键的唯一 的特征值。
e
f
粗略判断有无键摁下:有,再详细 判断;无,则CPU仍做自己的工作
(a) 无键摁下 (b) 有键摁下
确定第2列有键摁下
有键摁下,详细判 断是哪行哪列?
(c) 扫描第0行 (d) 扫描第1行
(e) 扫描第2行 (f) 扫描第3行
确定为3行2列有键摁下
②线反转法
原理:
@ 由行线输出全“0”,读入 列线,判有无键按下。
;入口地址表
PROM0:………………….. …………………..
;0号键功能程序
LJMP START
;0号键处理完返回键盘扫描
.
.
.
.
PROM7:………………….. …………………..
wk.baidu.com
;7号键功能程序
LJMP START
;7号键处理完返回键盘扫描
键盘显示器接口
例子:按三个按键中 的任一键均对应相应 的一个特定功能PGMi。
有键摁下时: 逐行输出0,查列值:有0则该行该列交叉 处即为摁键位置.
②线反转法(行反转法) :行反转法需要两个双向I/O口 分别接行、列线。该方法比扫描法速度快,但硬件上要复杂 一些。
基本思想:通过行列互换两次扫描来识别闭合键。
键盘显示器接口
课本 P195
①
行 扫 描 法 图
行
列
a
b
c
d
键盘显示器接口
是否有键按下 求键号 键抖动及消除:
前沿抖动
后沿抖动
机械按键抖动时间在
5ms~10ms之间
断开
Q
消除方法:
闭合
Q
硬件方案——双稳态去抖电路
软件方案——延时10ms~20ms后再次判断
键盘显示器接口
双稳态去抖电路
*
+5V R
在此期间,CPU对一次 键入做多次键处理
P
按键开关
按键前后, S R=1 0,触发器置0 , P = 1。 +5V