22 键盘接口技术
合集下载
键盘接口技术

(1)训练目的 ①了解独立式键盘的结构与工作原理。 ②掌握按键的检测与软件消抖方法。 ③学会通过独立式按键操作设置参数的编程方法。
(2)训练任务
本项目要完成的任务是设计一个简易数字调节器。 用两位数码管显示数值,变化范围 00—59。开始时 显示 00,每按下 key1 键一次,数值加 1;每按下 key2 键一次,数值减 1;每按下 key3 键一次,数值 归零;按下 key4 键一次,利用定时器功能使数值开 始自动每秒加 1,再次按下 key4 键,数值停止自动 加 1,保持原来的数。Key1—key4 键均采用独立式 按键。 (3)任务引导
TR0=~TR0;
//启动或停止定时器T0
}
}
}
void main()
{
T0_init();
while(1)
{
keyscan();
display(num);
}
}
void T0_time() interrupt 1 //T0中断服务函数
{
TH0=(65536-50000)/256;
//重装初值
TL0=(65536-50000)%256;
1、矩阵式键盘结构
VCC 10k 10k 10k 10k
P1.0 P1.1 8051 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
2、键盘扫描方式
(逐行)
置低电平,同时读入行(或列)的状态,如果行(
或列)的状态出现非全1状态,这时0状态的行、列
GND
2、独立式键盘接口
结构简单,每个按键接单片机的一条I/O线,通 过对输入线的查询,可以识别每个按键的状态。
I/O
I/O
8051
INT0 INT1
(2)训练任务
本项目要完成的任务是设计一个简易数字调节器。 用两位数码管显示数值,变化范围 00—59。开始时 显示 00,每按下 key1 键一次,数值加 1;每按下 key2 键一次,数值减 1;每按下 key3 键一次,数值 归零;按下 key4 键一次,利用定时器功能使数值开 始自动每秒加 1,再次按下 key4 键,数值停止自动 加 1,保持原来的数。Key1—key4 键均采用独立式 按键。 (3)任务引导
TR0=~TR0;
//启动或停止定时器T0
}
}
}
void main()
{
T0_init();
while(1)
{
keyscan();
display(num);
}
}
void T0_time() interrupt 1 //T0中断服务函数
{
TH0=(65536-50000)/256;
//重装初值
TL0=(65536-50000)%256;
1、矩阵式键盘结构
VCC 10k 10k 10k 10k
P1.0 P1.1 8051 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
2、键盘扫描方式
(逐行)
置低电平,同时读入行(或列)的状态,如果行(
或列)的状态出现非全1状态,这时0状态的行、列
GND
2、独立式键盘接口
结构简单,每个按键接单片机的一条I/O线,通 过对输入线的查询,可以识别每个按键的状态。
I/O
I/O
8051
INT0 INT1
键盘与显示器接口技术

共阴极接法的七段状态 gfedcba 0111111 0000110 1011011 1001111 1100110 1101101 1111101 0000111 1111111 1100111
1110111
共阴极接法 段码(十六进制数)
3F 06 5B 4F 66 6D 7D 07 7F 67
77
键位与行列线关系表
R1
K13
K14
K15
K16
R2
K9
K10
K11
K12
R3
K5
K6
K7
K8
R4
K1
K2
K3
K4
C1
C2
C3
C4
上表列出了识别按键位置与各行之间的关系。其
中,R1、R2、R3、R4表示行,C1、C2、C3、C4表 示列。当扫描第一行时,R1=0, 若读入的列值C1=0, 则表明按键K13被压下,如果C3=0,则表明按键K15 被压下。第一行扫描完毕后再扫描第二行,逐行扫描 至最后一行为止,即可识别出所有的按键。
(a)
+5V
a b c d e f g dp
(b)
使用LED显示器时,要注意区分共阴极和共阳 极两种不同的接法。
为了显示数字或字符,必须对数字或字符进 行编码,简称段码。七段数码管加上一个小数点, 共计8段。因此为LED显示器提供的段码正好是一 个字节。
实际使用中,通过单片机向LED显示接口输 出不同段码,即可显示相应的数字。
;1列有键闭合,列线号01H→A
AJMP KEY5
KEY3:JB ACC.2,KEY4 MOV A,#02H
AJMP KEY5 KEY4:JB ACC.3,NEXT
键盘接口技术

第六章
单片机显示和键 盘接口
主要内容
键盘接口技术:键盘接口技术概述 、 键盘接口的实现。
6.2
单片机键盘接口技术
一、概述
键盘由一系列按键开关组成,它是
单片机系统中最常用的人机联系的一 种输入设备。用户通过键盘可以向 CPU输入数据、地址和命令。
键码:每个按键都被赋予一个代码。
1.键盘分类
按键值编码方式:编码键盘与非编码键盘 编码键盘: 采用专用的编码/译码器件,被按 下的键由该器件译码输出相应的键码/键值。 特点:增加了硬件开销,编码因选用器件而 异,编码固定,但编程简单。适用于规模大 的键盘。
RETI
特点: 此子程序采用中断查询不会漏判,省时。 键的优先级由指令顺序决定。 为防止一次按键多次中断,在功能子程
序里应安排“关/开中断指令”并“延
时”。
独立连接式键盘实验1: 条件:按K1:30H加1,K2:30H减1。 K1 EQU P1.0 K2 EQU P1.1 主程序流程:
调用键盘子程序
2.反转法 行列线交换输入、输出,两步获取按 键键号。
按键处理程序: 有按键输入? 延时消抖
确有按键?
键扫描求键号
延时等待 按键释放?
键译码求键值 是数字键?
修改显示缓冲区
跳转各功能程序
KEY:
JB JB MOV RL JNB
K1,LP1 K1,LP1 A,K1 A K1,$
CALL DELAY
MOV K1,A SJMP FH
LP1:
JB
JB MOV RR JNB
K2,FH
K2,FH A,K2 A K2,$
CALL DELAY
MOV K2,A FH: RET
DELAY: MOV R7,#5
单片机显示和键 盘接口
主要内容
键盘接口技术:键盘接口技术概述 、 键盘接口的实现。
6.2
单片机键盘接口技术
一、概述
键盘由一系列按键开关组成,它是
单片机系统中最常用的人机联系的一 种输入设备。用户通过键盘可以向 CPU输入数据、地址和命令。
键码:每个按键都被赋予一个代码。
1.键盘分类
按键值编码方式:编码键盘与非编码键盘 编码键盘: 采用专用的编码/译码器件,被按 下的键由该器件译码输出相应的键码/键值。 特点:增加了硬件开销,编码因选用器件而 异,编码固定,但编程简单。适用于规模大 的键盘。
RETI
特点: 此子程序采用中断查询不会漏判,省时。 键的优先级由指令顺序决定。 为防止一次按键多次中断,在功能子程
序里应安排“关/开中断指令”并“延
时”。
独立连接式键盘实验1: 条件:按K1:30H加1,K2:30H减1。 K1 EQU P1.0 K2 EQU P1.1 主程序流程:
调用键盘子程序
2.反转法 行列线交换输入、输出,两步获取按 键键号。
按键处理程序: 有按键输入? 延时消抖
确有按键?
键扫描求键号
延时等待 按键释放?
键译码求键值 是数字键?
修改显示缓冲区
跳转各功能程序
KEY:
JB JB MOV RL JNB
K1,LP1 K1,LP1 A,K1 A K1,$
CALL DELAY
MOV K1,A SJMP FH
LP1:
JB
JB MOV RR JNB
K2,FH
K2,FH A,K2 A K2,$
CALL DELAY
MOV K2,A FH: RET
DELAY: MOV R7,#5
片机学习键盘接口

虚拟现实与增强现实技术
利用虚拟现实(VR)和增强现实(AR)技术, 创造沉浸式人机交互环境,提供更直观、生动的 信息输入与输出方式。
情感识别与反馈
通过情感识别技术,理解用户的情绪状态,并根 据用户情绪调整输入反馈,提高人机交互的情感 体验。
感谢您的观看
THANKS
01
02
03
早期键盘接口
采用机械式触点连接,传 输速度慢且容易损坏。
现代键盘接口
采用薄膜触点或金属触点 连接,传输速度快且稳定 性高。
未来键盘接口
随着技术的不断发展,无 线键盘接口、蓝牙键盘接 口等新型键盘接口将逐渐 普及。
02 键盘接口的硬件设计
键盘接口的电路设计
键盘接口电路
扫描码转换电路
键盘接口电路是用于连接键盘和单片 机的重要部分,它负责将键盘上的按 键信号传输给单片机进行处理。
解决方案
可以采用扫描法、中断法或编码法来解决按键冲突问题。扫描法是通过逐个扫描按键来识 别按键信号,中断法是通过中断服务程序来处理按键信号,编码法则是通过给每个按键分 配一个唯一的编码来识别按键信号。
按键寿命问题及解决方案
总结词
按键寿命是指按键能够正常工作的总次数。
详细描述
按键寿命问题是由于按键在使用过程中,由于机械磨损或 电气疲劳等原因导致按键失灵或性能下降。
按键状态。
根据按键状态判断是否 有键被按下或释放,执
行相应的操作。
将按键状态更新到显示 界面上,提供用户反馈。
04 实际应用中的问题与解决 方案
键盘抖动问题及解决方案
01
总结词
键盘抖动是由于按键被按下或释放时,由于机械或电气原因引起的信号
短暂的不稳定状态。
利用虚拟现实(VR)和增强现实(AR)技术, 创造沉浸式人机交互环境,提供更直观、生动的 信息输入与输出方式。
情感识别与反馈
通过情感识别技术,理解用户的情绪状态,并根 据用户情绪调整输入反馈,提高人机交互的情感 体验。
感谢您的观看
THANKS
01
02
03
早期键盘接口
采用机械式触点连接,传 输速度慢且容易损坏。
现代键盘接口
采用薄膜触点或金属触点 连接,传输速度快且稳定 性高。
未来键盘接口
随着技术的不断发展,无 线键盘接口、蓝牙键盘接 口等新型键盘接口将逐渐 普及。
02 键盘接口的硬件设计
键盘接口的电路设计
键盘接口电路
扫描码转换电路
键盘接口电路是用于连接键盘和单片 机的重要部分,它负责将键盘上的按 键信号传输给单片机进行处理。
解决方案
可以采用扫描法、中断法或编码法来解决按键冲突问题。扫描法是通过逐个扫描按键来识 别按键信号,中断法是通过中断服务程序来处理按键信号,编码法则是通过给每个按键分 配一个唯一的编码来识别按键信号。
按键寿命问题及解决方案
总结词
按键寿命是指按键能够正常工作的总次数。
详细描述
按键寿命问题是由于按键在使用过程中,由于机械磨损或 电气疲劳等原因导致按键失灵或性能下降。
按键状态。
根据按键状态判断是否 有键被按下或释放,执
行相应的操作。
将按键状态更新到显示 界面上,提供用户反馈。
04 实际应用中的问题与解决 方案
键盘抖动问题及解决方案
01
总结词
键盘抖动是由于按键被按下或释放时,由于机械或电气原因引起的信号
短暂的不稳定状态。
显示与键盘接口技术

⑵ 定时控制扫描方式
利用定时/计数器每隔一段时间产生定时中断,CPU响应中 断后调用键盘扫描子程序来实现按键输入。
特点:与程序控制扫描方式的区别是,在扫描间隔时间内, 前者用CPU工作程序填充,后者用定时/计数器定时控制。注意 定时时间不能太长,否则会影响对键输入响应的及时性。
⑶ 中断控制方式
中断控制方式是利用外部中断源,响应键输入信号。
显示与键盘接口技术
显示与键盘接口技术
显示与键盘接口技术
(三)、绘制电路原理图并仿真
1、用Keil编译器编译连接产生调试文件(.hex文件)
2、打开Proteus Professional软件。 3、从Proteus元件库中选取元器件。
[AT89C51(单片机) , CAP(电容) , CRYSTAL(晶振), RES(电 阻), 7406, CAP-ELEC(电解电容), RESPACK-8 (排阻), 7SEGMPX4-CA (共阳极数码管) ,BUTTON(按键)]。 4、放置元器件、电源和地并连线。 5、设置元器件属性。按电路所需设置元器件的属性值。 6、加载目标代码文件。注意将Clock Frequency栏中的频率设为 12MHz。 7、单击仿真启动按钮,全速运行程序。 8、观察并记录LED显示的数字,注意观察按下按键,LED上是 否能显示相应按键的键号,即完成键盘输入及按键识别功能。
7406 、7SEG-MPX4-CA (4位共阳极数码管) ]。
4、放置元器件、电源和地并连线。
5、设置元器件属性。按电路所需设置元器件的属性值。
6、加载目标代码文件。注意将Clock Frequency栏中的频率设
为12MHz。
7、单击仿真启动按钮,全速运行程序。
8、观察并记录4位数码管的计时现象,注意观察是否能实现所
利用定时/计数器每隔一段时间产生定时中断,CPU响应中 断后调用键盘扫描子程序来实现按键输入。
特点:与程序控制扫描方式的区别是,在扫描间隔时间内, 前者用CPU工作程序填充,后者用定时/计数器定时控制。注意 定时时间不能太长,否则会影响对键输入响应的及时性。
⑶ 中断控制方式
中断控制方式是利用外部中断源,响应键输入信号。
显示与键盘接口技术
显示与键盘接口技术
显示与键盘接口技术
(三)、绘制电路原理图并仿真
1、用Keil编译器编译连接产生调试文件(.hex文件)
2、打开Proteus Professional软件。 3、从Proteus元件库中选取元器件。
[AT89C51(单片机) , CAP(电容) , CRYSTAL(晶振), RES(电 阻), 7406, CAP-ELEC(电解电容), RESPACK-8 (排阻), 7SEGMPX4-CA (共阳极数码管) ,BUTTON(按键)]。 4、放置元器件、电源和地并连线。 5、设置元器件属性。按电路所需设置元器件的属性值。 6、加载目标代码文件。注意将Clock Frequency栏中的频率设为 12MHz。 7、单击仿真启动按钮,全速运行程序。 8、观察并记录LED显示的数字,注意观察按下按键,LED上是 否能显示相应按键的键号,即完成键盘输入及按键识别功能。
7406 、7SEG-MPX4-CA (4位共阳极数码管) ]。
4、放置元器件、电源和地并连线。
5、设置元器件属性。按电路所需设置元器件的属性值。
6、加载目标代码文件。注意将Clock Frequency栏中的频率设
为12MHz。
7、单击仿真启动按钮,全速运行程序。
8、观察并记录4位数码管的计时现象,注意观察是否能实现所
07-键盘接口技术应用 (2)-PPT精品文档

键值产生的原理 1) 扫描法产生键值
具体方法是,以行线作为扫描输出,以列线作为接收输
入,依次将行线置为低电平,并在列线上逐次接收数据。扫 描完成后,如果发现接收到的某一列线有低电平,则表示该 列线与行线连接的按键已经闭合。在接收到低电平的那次扫 描中,行线数据与列线数据的组合便是所期望的键值,由该
按键识别——扫描法
原理: 在某一时刻只让一条列线处于低电平,其余列线均 处于高电平,则当这一列有键按下时,该键所在的行 电平将会由高电平变为低电平,可判定该列相应的行 有键按下。 流程: 当第0列处于低电平时,逐行查找是否有行线变低, 若有,则第0列与该行的交叉点按键按下;若无,则表示 第0列无键按下,再让下一列处在低电平,依此循环,这 种方式称为键盘扫描。
独立式按键
接口电路:
V cc
P1.0 P1.1 P1.2
8031
P1.3 P1.4 P1.5 P1.6 P1.7
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
例1:用P1口检测三个按键的状态并完成相应的功能 解: 资源分配: 用P1口的低3位检测3个按键的输入,为1则表 示按键没有按下,为0则表示相应按键被按下。 流程图:
抖 动 来 的
判断完是否有键按下后有两种执行方式:
1.判断键按下去后就执行该按键的功能
2.判断键释放后才执行该按键的功能
ORG 0000H 如果不送高电平 ,原来是低电平 KB: MOV P1,#0FFH; 状态的管脚读进来会出错 MOV A,P1;有键按下为0,无键按下为1 编程:按三个按键中 CPL A 的任一键都对应一个 ANL A,#07H;屏蔽其它位状态 特定功能。 JZ KB LCALL D10MS;去抖动 MOV A,P1 CPL A ANL A,#07H 判断按键 JZ KB
键盘与显示接口技术优秀PPT课件

• 硬件消除; 如: R-S双稳态触发器电路 RC阻容滤波电路
• 软件消除,实际应用多。
在CPU检测到有按键按下时,执行一个10ms的延时程序后,再次 判断该键电平是否保持闭合状态电平,如保持闭合状态电平则确 认为真正有键按下,从而消除抖动的影响。
当CPU检测到按键释放后,也要给一个10ms的延时,待后沿抖动 消失后才去执行该键的处理程序。
✓位选线为什么需要驱动? ✓位选线如何驱动?ULN2003—7位达林顿驱动器
✓ULN2003反相输出 ✓单路驱动能力(吸入电流)达500mA
键盘与显示接口技术优秀PPT课件
9.1 LED显示接口技术
键盘与显示接口技术优秀PPT课件
9.1 LED显示接口技术
1.分析8155口地址
✓命令寄存器口地址: ✓PA口寄存器口地址: ✓PB口寄存器口地址: ✓PC口寄存器口地址:
输出位选码 位选码左移
延时1ms
入口条件: 待显示字符存于35H~30H单元中
显示完6位 N
占用资源: A, R0, R1,R2
Y
返回
键盘与显示接口技术优秀PPT课件
9.1 LED显示接口技术
DISP: DP1:
MOV R0, #30H
MOV R1, #01H
MOV R2,#06H
MOV A, #00H
9.1 LED显示接口技术
4.查段选码子程序:
入口条件:待显示字符存于A中; 出口条件:待显示字符的段选码存于A中; 占用资源:DPRT,A。
DXM: MOV DPTR, #TAB ;取段选码表首地址 MOVC A,@A+DPTR ;取段选码,变址寻址 RET
TAB: DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h ;0,1,2,3,4,5,6,7 DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h,ቤተ መጻሕፍቲ ባይዱ ;8,9,A,b,C,d,E,F,灭
• 软件消除,实际应用多。
在CPU检测到有按键按下时,执行一个10ms的延时程序后,再次 判断该键电平是否保持闭合状态电平,如保持闭合状态电平则确 认为真正有键按下,从而消除抖动的影响。
当CPU检测到按键释放后,也要给一个10ms的延时,待后沿抖动 消失后才去执行该键的处理程序。
✓位选线为什么需要驱动? ✓位选线如何驱动?ULN2003—7位达林顿驱动器
✓ULN2003反相输出 ✓单路驱动能力(吸入电流)达500mA
键盘与显示接口技术优秀PPT课件
9.1 LED显示接口技术
键盘与显示接口技术优秀PPT课件
9.1 LED显示接口技术
1.分析8155口地址
✓命令寄存器口地址: ✓PA口寄存器口地址: ✓PB口寄存器口地址: ✓PC口寄存器口地址:
输出位选码 位选码左移
延时1ms
入口条件: 待显示字符存于35H~30H单元中
显示完6位 N
占用资源: A, R0, R1,R2
Y
返回
键盘与显示接口技术优秀PPT课件
9.1 LED显示接口技术
DISP: DP1:
MOV R0, #30H
MOV R1, #01H
MOV R2,#06H
MOV A, #00H
9.1 LED显示接口技术
4.查段选码子程序:
入口条件:待显示字符存于A中; 出口条件:待显示字符的段选码存于A中; 占用资源:DPRT,A。
DXM: MOV DPTR, #TAB ;取段选码表首地址 MOVC A,@A+DPTR ;取段选码,变址寻址 RET
TAB: DB 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h ;0,1,2,3,4,5,6,7 DB 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h,ቤተ መጻሕፍቲ ባይዱ ;8,9,A,b,C,d,E,F,灭
22键盘san

②此后,再将第1行接地,然后检测列线是否有变为低电位的 线。如此往下一行一行地扫描,直到最后一行。
在实际的行扫描中,一般先快速检测键盘中是否有某个按键被 按下,然后再进行逐行扫描,判定具体按下了哪一个键。为此,可 以先使所有各行同时输出为低电平,再检查是否有列线为低电平。 这时如果某一列线上有低电平出现,则说明必有键按下,但不能确 定按下的按键所在行、列的位置,于是再用扫描法来确定闭合按键 的具体位置。
独立式按键就是各按键相互独立,每个按键各接一根输 入线,一根输入线上的按键工作状态不会影响其他输入线上 的工作状态,因此,通过检测输入线的电平状态可以很容易 判断哪个按键被按下了。
特点: ①各按键相互独立,电路配置灵活; ②按键数量较多时,I/O端线耗费较多。 ③软件结构简单。 适用于按键数量较少的场合。 试编制按键扫描子程序。
矩阵键盘中键的识别 (1)行扫描法 (2)行反转法
行扫描法的原理
①先使第0行接低电平,其余行为高电平,然后看第0行是否 有键闭合(通过检查列线电位实现)。若有某一按键按下,则 相应的列被拉到低电平,通过查询哪条列线变为低电平,来识 别第几列上有键按下。如果某列线变为低电平,则表示第0行 和此列相交的位置上有按键按下。
n判断键值y二按键连接方式1独立式按键独立式按键就是各按键相互独立每个按键各接一根输入线一根输入线上的按键工作状态不会影响其他输入线上的工作状态因此通过检测输入线的电平状态可以很容易判断哪个按键被按下了
5.5 键盘接口
键盘在单片机应用系统中是一个很关键的部件,它能实现 向计算机输入数据、传送命令等功能,是单片机系统中最常用 的人机联系的一种输入设备。
键盘按其结构形式可分为编码式键盘和非编码式键盘。
(1)编码式键盘除了按键之外,还包括了产生键码的硬件 电路、去抖电路和多键保护电路。每按下一个键,能自动产生 这个键的键码,与此同时,产生一个脉冲信号,通知CPU接收。 这种键盘使用方便,接口程序简单,但是需要较多的硬件电路, 价格较贵,一般的单片机应用系统较少采用。
在实际的行扫描中,一般先快速检测键盘中是否有某个按键被 按下,然后再进行逐行扫描,判定具体按下了哪一个键。为此,可 以先使所有各行同时输出为低电平,再检查是否有列线为低电平。 这时如果某一列线上有低电平出现,则说明必有键按下,但不能确 定按下的按键所在行、列的位置,于是再用扫描法来确定闭合按键 的具体位置。
独立式按键就是各按键相互独立,每个按键各接一根输 入线,一根输入线上的按键工作状态不会影响其他输入线上 的工作状态,因此,通过检测输入线的电平状态可以很容易 判断哪个按键被按下了。
特点: ①各按键相互独立,电路配置灵活; ②按键数量较多时,I/O端线耗费较多。 ③软件结构简单。 适用于按键数量较少的场合。 试编制按键扫描子程序。
矩阵键盘中键的识别 (1)行扫描法 (2)行反转法
行扫描法的原理
①先使第0行接低电平,其余行为高电平,然后看第0行是否 有键闭合(通过检查列线电位实现)。若有某一按键按下,则 相应的列被拉到低电平,通过查询哪条列线变为低电平,来识 别第几列上有键按下。如果某列线变为低电平,则表示第0行 和此列相交的位置上有按键按下。
n判断键值y二按键连接方式1独立式按键独立式按键就是各按键相互独立每个按键各接一根输入线一根输入线上的按键工作状态不会影响其他输入线上的工作状态因此通过检测输入线的电平状态可以很容易判断哪个按键被按下了
5.5 键盘接口
键盘在单片机应用系统中是一个很关键的部件,它能实现 向计算机输入数据、传送命令等功能,是单片机系统中最常用 的人机联系的一种输入设备。
键盘按其结构形式可分为编码式键盘和非编码式键盘。
(1)编码式键盘除了按键之外,还包括了产生键码的硬件 电路、去抖电路和多键保护电路。每按下一个键,能自动产生 这个键的键码,与此同时,产生一个脉冲信号,通知CPU接收。 这种键盘使用方便,接口程序简单,但是需要较多的硬件电路, 价格较贵,一般的单片机应用系统较少采用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.硬件方法
硬件方法是设计一个滤波延时电路或单稳态电路等硬 件的间电滤。路波按来 延 键避 时S未开 消按按 抖下键 电时的路,抖,电动设容时置两间在端。按电下键压图S为与是C0由,PUR即2数和与据C非线组门D成输i之
入能启于充时电门电V突只i为压的延变要0, 开 迟, 使,门 启 时充 之输的 电 间电 大出输 压 取电 于V出 时 决压或o为,于等VV1io在与于R将。1充非1、不当0电门R会0S2m按时的改和s下间输变C即值时内出,可的,未V直避o大由达到才开小于到充变按,C与电为键两电非电0抖端,路门压动电这设的V的压段i计开大影不
+5V
8088
8255A
D7 CPU D0
D7 PA0
PA1
D0
PA2 PA3
S0 S1 S2
RD INTR
RD PA4
INTRa
PC3 PC4
PA5 PA6
PA7
INT
IR3
8259A
STBa
独图立5式-6 键独立盘式中键断盘中法断接法接口口电电路路
工作过程如下:当CPU对8255A初始化后,CPU 即执行主程序。当按下S0键即表示要进入自动控制状 态,此时与之相连的I/O口线呈现为低电平的同时, 与非门输出为高电平,经反相器变为低电平,使 8255A端口A的选通输入信号PC4 有效,则PA0~ PTASIT2时引间脚,接8收2并55存A入的3P个C3按发键出的IN“T0R”a或中“断1请”状求态信,号经, 经中断控制器8259A向CPU申请中断,CPU响应中 断后,即转到中断服务程序中。中断服务程序依次查 询按键的通断状态,当查询到是自动/手动(即S0=0) 时,则转到自动/手动控制子程序的入口地址,从而 使系统进入自动控制状态。如果没有键按下,则相应 的I/O口线均为高电平,也不会产生中断信号,CPU 继续运行主程序。
+5V
D0
S0
D1
S1
D2
S2
独立式键盘结构原理
图 5-4 独立式键盘结构原理
开始
N
有键闭合否?
Y
延时100 ms 消除键抖动
N
有键闭合否?
Y
D0=0?
Y
S0键功能程序
N
D1=0?
Y
S1键 功能程序
N
N
D2=0?
Y
S2键 功能程序
独立式键盘查询法程序流程图
图 5-5 独立式键盘查询法程序流程图
(2)中断法接口电路
矩阵式键盘接口电路
❖ 当键盘中无任何键按下时,所有的行线和列线被断开且相互
独键立所,在输的入行线线Y与0列~线Y7接列通都,为因高此电,平该;列当线有的任电意平一取键决按于下该时键,则所该在 的行线。基于此,产生了“行扫描法”与“线反转法”两种识别 方法。
❖ 行扫描法又称逐行零扫描查询法,即逐行输出行扫描信号 “0”,使各行依次为低电平,然后分别读入列数据,检查此(低 电平)行中是否有键按下。如果读得某列线为低电平,则表示此 (低电平)行线与此列线的交叉处有键按下,再对该键进行译码 计算出键值,然后转入该键的功能子程序入口地址;如果没有任 何一根列线为低电平,则说明此(低电平)行没有键按下。接着进 行下一行的“0”行扫描与列读入,直到8行全部查完为止,若无
转功能键入口地址
矩阵键盘扫描及键处理程序流程图
图 5-8
矩阵式键盘扫描及键处理程序流程图
程序设计
KEY: MOV AL,0
MOV CL,AL
;行值寄存器CL和列值寄存器DL清零
MOV DL,AL
MOV AL,0FFH
OUT PORT1,AL ;使所有行线为低电平
❖ 例如跨接在X2行与Y1列的18键按下,其键值计算 方法如下:第一次“0”行扫描X0行,无键按下, CL=00+08=08,接下来扫X1行,仍无键按下,加08 并进行DAA修正,CL=08+08=16,再扫X2行,此 时读入的列值不等于FFH即表明有键按下,则CL=16 不变。然后转求列值,列值寄存器先加1再把读入的列 值循环移位,由于按下的键在Y1列,所以需移位两次 才能移出0值,因此DL=02,然后将行值寄存器与列 值寄存器之值相加,并进行DAA修正,得到 AL=CL+DL=16+02=18,即键值为18。
键盘中断服务子程序,与查询方式相似,在保护现 场后,首先调用100mS延时子程序去除抖动,然后 依次查键号,并转入键功能处理程序,最后恢复现场、 中断返回。显然,查询顺序代表了按键的排队优先级。
采用中断法时,CPU对按键而言是被动方式,在无 键按下时不占用CPU时间,因而CPU有更多的时间 执行其他程序。
键按下
键释放
前沿抖动
闭合稳定
后沿抖动 释放稳定
二 抖动干扰的消除
按键的抖动是毫秒级的,而计算机处理速 度则是微秒级的,所以这种抖动对于人来说 是感觉不到的,但是对于计算机则是完全感 觉得到的。这种抖动就会造成按一次键产生 的开关状态被CPU误读几次。为了使CPU能 正确地读取按键状态,必须在按键闭合或断 开时,消除产生的前沿或后沿抖动,去抖动 的方法有硬件方法和软件方法两种。
键按下则返回。
❖ 有时为了快速判断键盘中是否有键按下,也可先将全部行线 同时置为低电平,然后检测列线的电平状态,若所有列线均为高 电平,则说明键盘中无键按下,立即返回;若要有一列的电平为
低,则表示键盘中有键被控下,然后再如上那样进行逐行扫描。
(3)矩阵键盘的程序设计
在计算机控制系统中,键盘扫描只是 CPU工作 的一部分。因此在设计键盘扫描程序时,必须要保 证键盘操作的实时性,又不能占有CPU太多的时 间,还要充分考虑到抖动干扰的消除。一般可根据 情况选用编程扫描、定时扫描或中断扫描中的一种 方式。
三、 非编码键盘
非编码键盘分为独立式键盘和矩阵键盘。 在计算机控制系统中,有时候只需要使用 简单的键盘就能完成操作输入,按键的数 量较少可采用独立式键盘。当按键的数目 较多时,将增加输入口线,为了减少输入 口线,可采路
现以3个按键为例,下图即为独立式键盘查询 法与合接C时口P,U电数的路据数。线据按直线键接DS0接0、、地DS,11、、因DS而22分相C别连PU通,读过当入上按D拉键i=电S0i阻闭; 当按键Si断开时,数据线通过上拉电阻接到正 电源,因而CPU读入Di=1。该接口电路实现的 功能为:查询检测是否有键按下,如有键闭合, 则消除抖动,再判断键号,然后转入相应的键 处理。其程序流程如图所示。采用查询法时, 必须保证CPU每隔一定时间主动地去扫描按键 一次,该扫描时间间隔应小于两次按键的时间 间隔,否则会有按键不响应的情形。显然这种 方式占用CPU时间比较多。
(1)矩阵式键盘的结构组成
矩阵式键盘又叫行列式键盘,是用I/O口 线组成的行、列矩阵结构,在每根行线与 列线的交叉处,二线不直接相通而是通过 一个按键跨接接通。采用这种矩阵结构只 需M根行输出线和N根列输入线,就可连接 M×N个按键。通过键盘扫描程序的行输出 与列输入就可确认按键的状态,再通过键 盘处理程序便可识别键值。
(2)矩阵式键盘接口电路
键盘与CPU的接口可采用并行端口8255A、 锁存器或缓冲器一类。下图给出了一种8×8非 编码矩阵式键盘的接口电路。行输出电路由 行扫描锁存器74LS273、 反相器与行线X0~ X7 连 接 组 成 , 列 输 入 电 路 由 三 态 缓 冲 器 74LS244与列线Y0~Y7以及上拉电阻组成。X、 Y线的每一个交叉处跨接一个键,其键值分别 是十进制数的01,02,……,64。该键盘的 接口地址为PORT1。
软件方法是指编制一段时间大于100ms的延时程序, 在第一次检测到有键按下时,执行这段延时子程序 使键的前沿抖动消失后再检测该键状态,如果该键 仍保持闭合状态电平,则确认为该键已稳定按下, 否则无键按下,从而消除了抖动的影响。同理,在 检测到按键释放后,也同样要延迟一段时间,以消 除后沿抖动,然后转入对该按键的处理。
上述分析说明:独立式键盘接口电路简单灵活,软 件结构简单,但每个按键必须占用一根I/O口线,在 按键数量较多时,需要占用较多的I/O口线。比如64 个按键,需要有64根线,不仅连线复杂,查询按键 的时间也较长。故这种键盘电路只适合于按键数量比 较少的小型控制系统或智能控制仪表中。
2、矩阵键盘的工作原理及接口
仍以3个按键为例,下图是一个炉温控制系统的功 能键分配图,S0、S1、S2分别代表自动/手动切换、 炉温参数显示和炉温参数打印功能。这是在上述查 询法接口电路的基础上,再把按键S0、S1、S2的数 据输出线经过与非门和反相器后与8255A的选通输 入信号PC4相连,8255A的PC3发出中断请求信号 经中断控制器8259A与CPU的中断请求引脚相连, 这是一种典型的中断法键盘接口电路。
响。同理,按键S断开时,即使出现抖动,由于C的放
电未是延施施迟加加过 滤滤程 波波, 电电也 路路会 含后消有消除前除按沿抖键抖动抖动的动、波的后形影沿。响抖。动图 的中 波, 形,V1V是2
(Di) Vo
Vi R2
R1
+5V
S
V1 (Di) V2
滤波延时消抖电路
图 5-3 滤波延时消抖电路
2.软件方法
键盘接口电路可分为编码键盘和非编码键盘两种 类型。编码键盘采用硬件编码电路来实现键的编码, 每按下一个键,键盘便能自动产生按键代码。编码键 盘主要有BCD码键盘、ASCII码键盘等类型。非编码 键盘仅提供按键的通或断状态, 按键代码的产生与识 别由软件完成。
编码键盘的特点是使用方便,键盘码产生速度 快,占用CPU时间少,但对按键的检测与消除抖 动干扰是靠硬件电路来完成的,因而硬件电路复 杂、成本高。而非编码键盘硬件电路简单,成本 低,但占用CPU的时间较长。
2.2 键盘接口技术
本节要点
1.按键的抖动干扰及其解决方法。 2. 独立式键盘的结构原理及其接口电路。 3.矩阵式键盘的结构原理及其接口电路。