当前位置:文档之家› 9 键盘和显示器接口设计83437

9 键盘和显示器接口设计83437

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