第9章 键盘技术和LED 0键盘的基本工作原理 OLED数字显示 o键盘和LED设计实现 o微型机的键盘子系统 o键盘中断处理程序 0键盘缓冲☒ 义回画的
o 键盘的基本工作原理 o LED数字显示 o 键盘和LED设计实现 o 微型机的键盘子系统 o 键盘中断处理程序 o 键盘缓冲区 第9章 键盘技术和LED
9.1.1键盘的基本工作原理 95V 键0 最简单的 bitO gsv 键1 ●● ?5V 盘结构 键2 bit2 并行端口
9.1.1键盘的基本工作原理 最 简 单 的 键 盘 结 构
第0列 第1列 第2列 键0 键1 键2 第0行 。十。 。十。 键3 键4 键5 第1行 。广。 键盘的矩阵式结构 键6 键7 键8 。广0 0 。 第2行
键盘的矩阵式结构
9.1.2键的识别 1.行扫描法的原理 基本原理:分行扫描,检查是否有键按下;若有,确定哪个键被按下。 1从2 1以2 判断是否有按键 WAIT:MOV AL,OOH MOV DX,OUTPORT OUT DX,AL MOV DX,INPORT IN AL,DX AND AL,OFFH 37i CMP AL,OFFH JZ WAIT DONE:CALLDELAY -:
9.1.2 键的识别 1. 行扫描法的原理 基本原理:分行扫描,检查是否有键按下;若有,确定哪个键被按下。 判断是否有按键 WAIT:MOV AL,00H MOV DX,OUTPORT OUT DX,AL MOV DX,INPORT IN AL,DX AND AL,0FFH CMP AL,0FFH JZ WAIT DONE:CALL DELAY
议键梦0 小激器彳r斑 +1猫初i1111111013 输:于指i、便果彳矿为地位 断哪 世某列时按地 一个 学术惭i附:移1的 Y 使下彳扩为和1双 识训列i 号键片18 列值不移1过 数器·数器-1 键被按下的流程 进道位为0 N i为0 排盘命令处用 结:束
判断哪一个键被按下的流程
2.行反转法的原理 行线、列线分别接并行口;行线输出,列线输入; 列线输出读得的值,行线输入。 PBo PB 1 PB, PB. 1 PB,0 PB. 0 PB 8255A PAo 00123 8255A PAo 01 2 3 PA .4567 PA 0 45 6 PA2 0 PA2 1 89AB PA? 0 PA? 1 +5V +5V +5V -5 (a) (b) 行反转法的工作示意图 (a)行线输出,列线输入 (b)列线输出,行线输入
2. 行反转法的原理 行线、列线分别接并行口;行线输出,列线输入; 列线输出读得的值,行线输入 。 行反转法的工作示意图 (a)行线输出,列线输入 (b) 列线输出,行线输入
PA o PA PA A PA Aa 8255A 8 1) 10 11 12 13 14 13 15 16 17 二◆ 18 19 11 1I3 Ic 1[) IE IF 3 PB 2) PB. 21 22 23 24 25 26 37 行反转法的键盘连接 PB. 二◆ PB, 28 29 2A 2B 2( 2I) PB 30 31 32 33 34 35 36 37 38 39 3 33 3C ) 3 +5V :5V
行反转法的键盘连接
设A端1【广作作输:方式 B端11作输人方式 非彳线输:企0 英取列价 利合? Y 保留列值 延迟20m 设A洲!【作输人方式 B潘1】价:输:方式 行反转法的流程 输出训才读得的列值 读人彳值 设隆键码值 写技中的符合空 N 转键命令处理 签收长地址, 修政计数值 食元了吗?
行反转法的流程
9.1.3抖动和重键问题的解决 (1)抖动:用延迟来解决,20ms (2)重键: A键先按后放,B键后按先放 A键先按先放,B键后按后放 A键、B键同时按下,但A键先放 A键 自 ☑ B键 ☑ (a) A键 ☑ ☑ B键 ☑ ☑ (b) A键 ☑ ☑ B键 ☑ ☑ (c)
9.1.3抖动和重键问题的解决 (1)抖动:用延迟来解决,20ms (2)重键: A键先按后放,B键后按先放 A键先按先放,B键后按后放 A键、B键同时按下,但A键先放
重键识别方法 竹彳广匀为低也 连锁法 i卖人列 巡回法 (: Y 周正川')子延I时 所选·下为C电 i卖韭刘列i 《州个处' 小处'i让↑户i下 业山 i 处行50的 Y Y 4冬1: i安韭刘' :背处 学乎采长级 逊¥议了5 y 延小:斗功 似建'红入× 处布令处以
重键识别方法 连锁法 巡回法