单片机键盘显示器接口

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

;入口地址表
PROM0:………………….. …………………..
;0号键功能程序
LJMP START
;0号键处理完返回键盘扫描
.
.
.
.
PROM7:………………….. …………………..
;7号键功能程序
LJMP START
;7号键处理完返回键盘扫描
单片机键盘显示器接口
类似ME830中的例程三
例子:按三个按键中 的任一键均对应相应
ORG 0000H
KB:
MOV P1,#0FFH
的一个特定功能。
MOV A,P1 ;第一次读键 CPL A
ANL A,#0FH
JZ KBACK
LCALL D10MS
MOV A,P1 ;再次读键
CPL A
ANL A,#0FH
JZ KBACK
CJNE A,#01H, KB01
LCALL PGM1
SJMP KBACK
先行输出0,读列,全1则无摁键,有0有摁键--得列值
再输出此列值,读行得行值—此列值+行值=闭合键的特征值
行列单片互机换键,盘原显理示一器样接口
“行扫描法”与“线反转法”
课本 P195
行 扫 描 法 图
(a) 无键摁下 (b) 有键摁下
粗略判断有无键摁下:有,再详细 判断;无,则CPU仍做自己的工作
KB01: CJNE A,#02H, KB02
LCALL PGM2
SJMP KBACK
KB02: CJNE A,#04H,KB LCALL PGM3
KBACK: LJMP KB
对应的数 字叫键号
END
单片机键盘显示器接口
三、 非编码矩阵式按键结构
关键问题:摁键 的识别
单片机键盘显示器接口
识别键摁下的两种方法
键盘、显示器接口
PC机除了主 机以外还需要 哪些部分呢?
单片机电路有时候也需要键盘、显示等外设。
单片机键盘显示器接口
键盘分类
6.3 键盘接口
编码式的:由其内部硬件逻辑电路自动产
生被按键的编码。使用方便,键盘码产生速 度快,占用CPU时间少,但对按键的检测与 消除抖动干扰是靠硬件电路来完成的,硬件 电路复杂、成本高。
查询法
接口电路:
实际上,51单片机的P1-P3口都有内部 上拉电阻,这些电阻、电源可以不接。 见ME830实验板。
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
单片机键盘显示器接口
ME830 独立式摁键
P1.4-1.7 P3.2-3.5
单片机键盘显示器接口
查询法原理----当任何一个键被按下时,与其相连的输
JNB ACC.4, P4F ;查询4号键
JNB ACC.5, P5F JNB ACC.6, P6F
;查询5号键 ;查询6号键
JNB ACC.7, P7F ;查询7号键
LJMP ST单A片R机T键盘显示器接口
键盘扫描
P0F:LJMP PROM0 P1F:LJMP PROM1
……
P6F:LJMP PROM6 P7F:LJMP PROM7
定时扫描方式就是每隔一段时间对键盘扫描一 次,它利用单片机内部的定时器产生一定时间(例 如10 ms)的定时,当定时时间到就产生定时器溢 出中断。CPU响应中断后对键盘进行扫描,并在有 键按下时识别出该键,再执行该键的功能程序。
中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方 式。其工作过程如下:当无键按下时,CPU处理自 己的工作,当有键按下时,产生中断请求,CPU转 去执行键盘扫描子程序,并识别键号。
课本P195
①行扫描法:该方法的基本思想是,由程序对键盘进行逐 行扫描,通过检测到的列的输出状态来确定闭合键。
详见下
先行全0,读列值,全1无摁键,非全1有键摁下; 页图 有键摁下时: 逐行输出0,查列值:有0则该行该列交叉处即为摁键位置.
行列互换,原理一样
②线反转法:该方法的基本思想是通过行列颠倒两次 扫描来识别闭合键。
非编码式的:主要由软件
产生被按键的编码。硬件电 路简单,成本低,但占用 CPU的时间较长。 (单片机系统中普遍使用非编 码式键盘。)
单片机键盘显示器接口
➢ 独立式按键 ➢ 矩阵式按键
介绍此
非编码键盘
矩阵式按键 独立式按键
单片机键盘显示器接口
一、键盘接口需要解决的问题
按键识别:
键按下 闭合稳定
键释放
是否有键按下 求键号 键抖动及消除:
前沿抖动
后沿抖动
机械按键抖动时间在
5ms~10ms之间
断开
Q
消除方法:
闭合
Q
硬件方案——双稳态去抖电路
软件方案——延时10ms~20ms后再次判断
单片机键盘显示器接口
*
+5V
在此期间,CPU对一次 键入做多次键处理
键被按下
R
P
P
按键开关
抖动 抖动 按键输出波形
按键前后, S R=1 0,触发器置0 , P = 1。 +5V
P1.2 8 9 10 11
P1.1 12 13 14 15 P1.0
KS: MOV MOV MOV MOV ANL RET
A,#00H
P1,A
;全扫描字#00H送P1口
P1,#0FH
;保留第4位(行)
A,P1
;读入P1口状态
A,#0FH
;取低4位
;返回,A=0表示有键按下
单片机键盘显示器接口
定时扫描方式
有键摁下,详细判 断是哪行哪列?
(c) 扫描第0行 (d) 扫描第1行
单片机键盘显示器接口
(e) 扫描第2行 (f) 扫描第3行
确定为0行2列有键摁下
键按下/释放判断
P1.0--1.3作为输入口 P1.4--1.7作为输出口
P1.7
P源自文库.6
P1.5
+5V
MCS-51 P1.4 0 1 2 3
P1.3 4 5 6 7
入线被置成 “0”,平时该线为“1”。
键处理程序
ORG 2000H
START:MOV A ,#0FFH MOV P1,A
;先置P1口为“1”
MOV A,P1
;输入键状态
JNB ACC.0, P0F ;查询0号键
JNB ACC.1, P1F ;查询1号键
JNB ACC.2, P2F ;查询2号键
JNB ACC.3, P3F ;查询3号键
单片机键盘显示器接口
ME830 矩阵式摁键
P1口: 低4位作为列线 高4位作为行线
0
R
R
R P
键被按下 P
P S
去抖动电路
去抖动后的 按 键输出波形
键按下,S、R=0 1,触发器置1,P=0。 触点抖动跳开时, S、R=1 单1,片触机键发盘器显保示器持接,口P仍 = 0。
二、非编码独立式按键
主要知识点:
查询法 定时扫描法 中断法
结合ME830实 验,重点讲此法
单片机键盘显示器接口
相关文档
最新文档