9 键盘和显示器接口设计83437讲义资料

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

2020/8/26
3
三、键盘的特点
• 机械触点的弹性作用抖动,一般为5~10ms。 • 按键稳定闭合时间的长短一般为零点几秒到几秒
的时间。 • CPU确认一次按键动作(不重复、不遗漏),必
须消除抖动的影响。 消除抖动方法:
软件消除抖动: 1.调用一段延时(约20ms)子程序 2.判断该按键的电平是否仍保持在闭合状态
,如果是,则确认有键按下。
2020/8/26
5
四、键盘的硬件接口
1.独立式按键
各个按键相互独立,分别接一条输入线。 通过检测输入线的电平状态,判断哪个按 键被按下。 优点:电路配置灵活,软件设计简单 缺点:在按键数量较多时,占用大量的输入 口资源 适用范围:按键较少或操作速度较高的场合。
2020/8/26
第9章 键盘和显示器接口设计
本章主要内容 • 键盘接口技术 • 显示器接口技术
2020/8/26
1
一、概述 I/O接口电路的功能
1. 对外设的选择 2. 数据传送速度的匹配 3. 数据的缓冲和锁存 4. 信息转换
2020/8/26
2
I/O数据传送的控制方式
1. 无条件传送方式 2. 查询方式 3. 中断方式 4. DMA方式
LJMP KEY3
;K3按下,转键3处理
TO_4: CJNE A, #07H, EXIT ;K4键未按下,返回
LJMP KEY4
;K4键按下,转键4处理
EXIT: RET
;重键或无键按下,返回
2020/8/26
16
例2 设计矩阵式键盘接口设计
• 矩阵式键盘中的行、列线为多键共用,各按 键状态的变化都会影响该键所在行和列的电 平。
⑵列线编程为输入线, ⑶行线输出为低电平, ⑷则列线中电平由高到低所在列为按键所在列 特点:不需要对键盘逐列检测,简单实用。
2020/8/26
19
按键的识别方法—线反转法
2020/8/26
20
矩阵式键盘接口—硬件设计
2020/8/26
21
矩阵式键盘接口—软件设计
程序分为3个模块(子程序结构):
第二步,确定按键位置。
具体方法:CPU把各列依次置为低电平,
其余的列置为高电平,检查各行线电平的变
化,如果某行线电平变为低电平,则可确定
该列与该行交叉点处的按键被按下。
2020/8/26
18
2.按键的识别方法—线反转法
方法1 ⑴行线编程为输入线 ⑵列线编程为输出线 ⑶列线输出低电平
⑷则行线中电平由高到低所在行为按键所在行 方法2 ⑴行线编程为输出线
已知条件:8255口地址 为0700H~0703H A口0700H,C口0703H 8255方式0,A口方式0输入, C口低4位方式0输出
• 必须将行、列线的电平信号配合起来并作适 当的处理,才能确定闭合键的位置。
• 按键的识别方法 :扫描法 、线反转法
• 矩阵键盘接口电路设计及编程
2020/8/26
17
1.按键的识别方法—扫描法
• 扫描法:分两步来完成:
第一步,判断键盘有无键被按下。
具体方法:将所有列线均置为低电平,检
查各行线电平是否有变化,如果有变化,说 明有键被按下。
CJNE A, #0EH, TO_2 ;K1键未按下,转TO_2
2020/8/26
15
独立式按键接口电路设计
LJMP KEY1
;是K1键按下,转键1处理
TO_2: CJNE A, #0DH, TO_3;K2键未按下,转TO_3
LJMP KEY2
;K2按下,转键2处理
TO_3: CJNE A, #0BH, TO_4;K3键未按下,转TO_4
10
3.键盘特殊情况处理方法
• 重复键:出现同时按下两个以上键的情况
处理方法是:
⑴多键均视为有效,按扫描顺序,将按键依 次存入缓冲区中等待处理。
⑵ 继续对按键进行扫描,只判定最先(或最 后)释放的按键为有效,其它按键则无效。
• 连击:指一次较长时间的按键产生多次击键的
效果。等待按键释放的处理,目的就是为了消
②定时扫描方式:
利用单片机内部定时器产生定时中断(例如 20ms),CPU在中断服务程序中对键盘进行扫描, 并在有键按下时识别出该键并执行相应键功能程序 。
③外部中断方式:在中断方式下,仅在键盘有键按下 时,产生外部中断请求,进入中断服务程序,再执 行键盘扫描和按键处理程序。
2020/8/26
9
2.键盘的编码
6
2.矩阵式键盘:矩阵式键盘由行线和列线组 成,按键位于行、列的交叉点上。
图1
2020/8/26
7
五、键盘接口的软件设计
• 通过键盘扫描,监视键盘的输入; • 确定具体按键,完成按键编码; • 执行与按键相应的功能模块。
2020/8/26
8
1.键盘的扫描方式
①查询扫描方式:
采取程序控制方式,一旦进入键扫描状态,就 反复扫描键盘,等待键盘上输入命令或数据。
意义:为了保证程序对按键进行有序处理。 • 独立式按键:数目相对较少,一般是依次连
续编码。例题 • 矩阵式键盘:按键的位置由行号和列号唯一
确定。常有两种:
⑴对行号和列号分别进行二进制编码,然 后将两值合成一个字节,高4位是行号, 低4位是列号;
⑵依次排列键号,对按键进行连续编码。 例题
2020/8/26
KEY: MOV DPTR, #7FFFH ;送按键地址
MOVX A, @DPTR ;读键盘状态
ANL A, #0FH
;屏蔽高4位
MOV R2, A
;保存键盘状态值
LCALL DL10MS
;延时10ms消抖
MOVX A, @DPTR ;再读键盘状态
ANL A, #0FHFra bibliotek;屏蔽高4位CJNE A, R2, EXIT ;若两次不一样,按键无效
•键盘扫描模块
判断有无键按下
•确定按键位置模块
时,采用延时
•按键编码模块
10ms子程序进行
消除抖处理。
用计算方法得到键 码,高4位代表行,
低4位代表列
通过设置处理标 志来区分闭合键 是否已处理过。
在主程序中,按顺序调用各个子模块
2020/8/26
22
矩阵式键盘接口—扫描程序框图
2020/8/26
23
除连击,对一次按键只执行一次键功能,避免
多次重复执行。
2020/8/26
11
查询方式典型电路
2020/8/26
图2
12
中断方式典型电路
2020/8/26
图3
13
例1 独立式按键接口电路设计
三态缓冲器
外设地址(按键)7FFFH
2020/8/26
P0口没有上拉电阻
14
独立式按键软件设计
1.查询方法检测按键状态 2.延时消除抖动
相关文档
最新文档