键盘接口
键盘及接口课件
05
键盘与人体健康
键盘对人体健康的影响
手腕疲劳与疼痛
长时间使用键盘可能导致手腕疲劳和疼痛,严重 时可能引发手腕管综合征。
坐姿不正与脊椎问题
长时间低头或弯腰使用键盘可能导致坐姿不正, 进而引发脊椎问题,如颈椎病、腰椎病等。
手指关节劳损
频繁使用键盘打字可能导致手指关节劳损,出现 手指僵硬、疼痛等问题。
详细描述
在一些特定应用或特殊设备中,可能会使用到一些非主流的键盘接口类型,如 MIDI接口、航空接口等。这些接口具有特定的应用范围和特点,满足了不同领 域和专业用户的需求。
03
键盘的选购与使用
键盘的选购要点
01
020304品信誉选择知名品牌,确保质量和售 后服务的可靠性。
键位布局
根据个人习惯选择标准或非标 准键位布局,如全尺寸、紧凑 型等。
键盘的布局
80%
QWERTY布局
最常见的键盘布局,字母按顺序 排列。
100%
Dvorak布局
为提高打字效率而设计的布局, 常用键位集中于手指的中间位置 。
80%
自定义布局
用户可根据个人习惯调整键位布 局。
键盘的工作原理
02
01
03
电信号
按下按键时,触点开关产生电信号。
编码器
将电信号转换为特定的编码信息。
键盘及接口课件
目
CONTENCT
录
• 键盘基础知识 • 键盘接口类型 • 键盘的选购与使用 • 键盘的发展趋势 • 键盘与人体健康
01
键盘基础知识
键盘的种类
机械键盘
采用机械轴体,手感独特,适合游戏和打字。
薄膜键盘
按键下方为薄膜结构,成本低,常见于普通电脑键 盘。
键盘、鼠标接口的各针脚功能
键盘、鼠标接口针脚图
主板背面键盘接口针脚图
主板背面鼠标接口针脚图
键盘、鼠标接口的各针脚功能
时钟脚(CLOCK)同步,并通过数据脚(DA TA)交换数据。
主板中键盘、鼠标的接口电路主要由PS/2接口、电容、电感、排阻、跳线、南桥芯片或I/O芯片等组成,主板键盘、鼠标接口电路的时钟信号和数据信号一般由南桥或I/O芯片控制。
检测键盘/鼠标接口时,可以测量以下关键测试点
1、测量键盘、鼠标接口的供电引脚(第4脚)对地阻值,正常阻
值应为180~380Ω。
2、测量键盘、鼠标接口的数据线(第1脚)和时钟脚(第5脚)
的对地阻值,正常阻值应为600Ω左右。
键盘显示器及功率接口
6.1.4 BCD码拨盘接口
BCD码十进制拨盘是向单片机应用系统输入数据的设 备,是一种硬件设置数据的设备。使用拨盘输入的数据具 有不可变性,却又易于修改。十进制输入,BCD输出的拨 盘是最常使用的一种。图6-7所示是一个4位BCD码拨盘组 结构和连接示意图。每位拨盘有0~9十个拨动位置,每个 位置有相应的数字表示,分别代表拨盘输入的十进制数。 所以,一位拨盘可以代表一位十进制数,可以根据设计的 需要,用多位BCD码拨盘组成多位十进制数。
判断是否有键下的方法是,查询哪一根接按键的I/O线为 低电平时,便知此键按下。独立式非编码键盘的优点是电路结 构简单。缺点是当键数较多时,占用的I/O口线多。例如编写 图6-4所示的键处理程序如下:
图 6-4 独立式非编码键盘
程序清单 START:MOV A,#0FFH ; 输入时先置P1口为全1 MOV P1,A MOV A,P1 ;键状态输入 JNB ACC.0,P0F ;0号键按下转POF标号地址 JNB ACC.1,P1F ;1号键按下转P1F标号地址 JNB ACC.2,P2F ;2号键按下转P2F标号地址 JNB ACC.3,P3F ;3号键按下转P3F标号地址 JNB ACC.4,P4F ;4号键按下转P4F标号地址 JNB ACC.5,P5F ;5号键按下转P5F标号地址 JNB ACC.6,P6F ;6号键按下转P6F标号地址 JNB ACC.7,P7F ;7号键按下转P7F标号地址 SJMP START ;无键按下返回
图 6-7 4位BCD码拨盘结构和连接
BCD码盘有一个输入控制线A,4个BCD码输出信号线。拨盘的各个 不同的位置,使输入控制线A分别与4根BCD码输出线中的某几根接通, 使BCD码输出线的状态与拨盘所显示的值一致,并使该编码信号输入单 片机的CPU。BCD码拨盘的输入输出状态如表6-2所示。
片机学习键盘接口
利用虚拟现实(VR)和增强现实(AR)技术, 创造沉浸式人机交互环境,提供更直观、生动的 信息输入与输出方式。
情感识别与反馈
通过情感识别技术,理解用户的情绪状态,并根 据用户情绪调整输入反馈,提高人机交互的情感 体验。
感谢您的观看
THANKS
01
02
03
早期键盘接口
采用机械式触点连接,传 输速度慢且容易损坏。
现代键盘接口
采用薄膜触点或金属触点 连接,传输速度快且稳定 性高。
未来键盘接口
随着技术的不断发展,无 线键盘接口、蓝牙键盘接 口等新型键盘接口将逐渐 普及。
02 键盘接口的硬件设计
键盘接口的电路设计
键盘接口电路
扫描码转换电路
键盘接口电路是用于连接键盘和单片 机的重要部分,它负责将键盘上的按 键信号传输给单片机进行处理。
解决方案
可以采用扫描法、中断法或编码法来解决按键冲突问题。扫描法是通过逐个扫描按键来识 别按键信号,中断法是通过中断服务程序来处理按键信号,编码法则是通过给每个按键分 配一个唯一的编码来识别按键信号。
按键寿命问题及解决方案
总结词
按键寿命是指按键能够正常工作的总次数。
详细描述
按键寿命问题是由于按键在使用过程中,由于机械磨损或 电气疲劳等原因导致按键失灵或性能下降。
按键状态。
根据按键状态判断是否 有键被按下或释放,执
行相应的操作。
将按键状态更新到显示 界面上,提供用户反馈。
04 实际应用中的问题与解决 方案
键盘抖动问题及解决方案
01
总结词
键盘抖动是由于按键被按下或释放时,由于机械或电气原因引起的信号
短暂的不稳定状态。
键盘接口实验
一般单片机系统中采用非编码键盘, 一般单片机系统中采用非编码键盘,非编码键盘是由软件 来识别键盘上的闭合键(包括键代码的产生、去抖等) 来识别键盘上的闭合键(包括键代码的产生、去抖等), 它具有结构简单,使用灵活等特点, 它具有结构简单,使用灵活等特点,因此被广泛应用于单 片机系统。 片机系统。
二、键盘工作原理 概念
键盘是由若干按键组成的开关矩阵, 键盘是由若干按键组成的开关矩阵,它是微型计算机最常用的输 入设备,用户可以通过键盘向计算机输入指令、地址和数据。 入设备,用户可以通过键盘向计算机输入指令、地址和数据。
按键的分类
编码键盘 非编码键盘
键盘输入信息的主要过程: 键盘输入信息的主要过程:
有按键信号? 有按键信号? Y 延时等待10ms 延时等待
N
仍有按键信号? N 仍有按键信号? Y 键盘处理 按键释放? 按键释放? Y N
消除抖动的程序设计流程图
三、矩阵式键盘的结构及原理 1、矩阵式键盘的结构
矩阵式键盘由行线和列线组成,按键位于行、 矩阵式键盘由行线和列线组成,按键位于行、列线的交 叉点上, DP-51S 叉点上 , 在 DP-51S 中 , 是由 8 列一行组成的 8×1 的 8 是由8 列一行组成的8 个键的行列式键盘, 个键的行列式键盘 , 即 1 根行线 KEY_REC 和 8 根列线 根行线KEY_REC KEY_REC和 KD_Q0~KD_Q7组成的8键键盘。 KD_Q0~KD_Q7组成的8键键盘。
键盘接口功能 判断有无键按下; 判断有无键按下; 消除键的抖动; 消除键的抖动; 求按下键的键号。 求按下键的键号。 非编码键盘
ps2键盘接口图
下面这个图片就是我们常见的ps 2键盘接口图:
到 计算机 一侧为 5 针公插头:
ps 2键盘接口引脚定义
PS/2 键盘
计算机
Shield
Shield
Shield
Data
1
2
Ground
3
4
+5 VDC
4
5
Clock
5
1
ps/2 通讯协议是一种双向同步串行通讯协议。通讯的两端通过Clock(时钟脚)同步,并通过DATA(数据脚)交换数据。任何一方如果想抑制另外一方通讯时,只需要把Clock(时钟脚)拉到低电平。如果是pc机和ps/2键盘间的通讯,则pc机必须做主机,也就是说,pc机可以抑制ps/2键盘发送数据,而 ps/2键盘则不会抑制pc机发送数据。一般两设备间传输数据的最大时钟频率是33kHz,大多数ps/2设备工作在10~20kHz。推荐值在 15kHz左右,也就是说,Clock(时钟脚)高、低电平的持续时间都为40μs。每一数据帧包含11~12个位,具体含义如表1所列。
表1ps 2键盘数据帧格式说明
1个起始位
总是逻辑0
8个数据位
(LSห้องสมุดไป่ตู้)低位在前
1个奇偶校验位
奇校验
1个停止位
总是逻辑1
1个应答位
仅用在主机对设备的通讯中
表中,如果数据位中1的个数为偶数,校验位就为1;如果数据位中1的个数为奇数,校验位就为0;总之,数据位中1的个数加上校验位中1的个数总为奇数,因此总进行奇校验。
键盘显示接口剖析课件
键盘接口电路
键盘接口电路主要由芯片和电阻 、电容等元件组成,负责将键盘 输入的信号转换为电脑能够识别
的电信号。
显示接口
显示接口定义
显示接口是连接显示器和电脑的硬件接口,负责传输显示数据到显 示器进行显示。
显示接口类型
常见的显示接口类型有VGA接口、DVI接口、HDMI接口等,其中 HDMI接口具有传输速度快、画面质量高等优点,逐渐成为市场主 流。
技术创新与进步
新型显示技术
随着OLED、QLED等新型显示技术的不断发展,键盘显示 接口在色彩表现、对比度和响应速度等方面将得到显著提 升。
触控技术集成
将触控技术集成到键盘显示接口中,实现更加直观、高效 的操作方式,提升用户体验。
AI与机器学习
利用AI和机器学习技术,实现智能识别、智能推荐等功能 ,进一步提高键盘显示接口的智能化水平。
显示驱动程序
显示驱动程序
负责将扫描码转换为字符或命令,并在屏幕上显 示。
转换算法
将扫描码转换为对应的字符或命令需要使用特定 的转换算法。
显示缓冲区
为了提高显示效率,显示驱动程序使用缓冲区来 存储要显示的字符或命令。
用户交互程序设计
用户交互程序设计
为了方便用户使用,需要设计友好的用户界面和交互方式。
多媒体应用
在多媒体应用中,键盘显示接口用 于各种音频、视频设备,实现设备 的控制和信息的输入。
02
键盘显示接口的硬件结构
Chapter
键盘接口
键盘接口定义
键盘接口是连接键盘和电脑的硬 件接口,负责传输键盘输入的信
号到电脑进行处理。
键盘接口类型
常见的键盘接口类型有PS/2接口 和USB接口,其中USB接口具有 即插即用、支持热插拔等优点,
22 键盘接口技术
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 继续运行主程序。
8 键盘接口技术
按键输入原理
在单片机应用系统中,除了复位按键有专门的复位电路及专一的 复位功能外,其他按键都是以开关状态来设置控制功能或输入数据。 当所设置的功能键或数字键按下时,单片机系统应完成该按键所设定
的功能,按键信息输入是与软件结构密切相关的过程。
对于一个键盘或一组按键,单片机系统中总有一个接口电路与 CPU相连。CPU可以采用查询或中断方式了解有无按键输入并检查是 哪一个键按下,将该键号送入累加器ACC,然后通过跳转指令转入执 行该键的功能程序,执行完后再返回主程序。
• 矩阵键盘的接口实例
• 实践与思考
矩阵式键盘的结构与工作原理
矩阵式键盘中,行、列线分别连接到 按键开关的两端,行线通过上拉电阻接到 +5V上。当无键按下时,行线处于高电平状 态;当有键按下时,行、列线将导通,此 时,行线电平将由与此行线相连的列线电 平决定。这一点是识别矩阵按键是否被按
下的关键。然而,矩阵键盘中的行线、列
这种电路每个按键需要
占用一根I/O线,在按
键数量较多时,输入口 浪费大且电路结构很烦
琐,因此这种键盘接口
电路只适用于按键较少 或要求较高操作速度的
场合。
简单键盘的接口电路与编程
下面以图 (a)为例进行编程。 (1)程序实现的功能 (2)程序采用的方法
(3)程序中用到的变量和常量的定义
(4)程序中调用的子程序 (5)程序清单 (6)程序分析与思考
第2章 键盘接口技术
1. 按键
2. 简单键盘接口
3. 矩阵式键盘接口 4. 可编程键盘接口
按键
键盘由一组规则排列的按键组成,一个按键实际上是一个开关元件, 也就是说键盘是一组规则排列的开关。单片机使用的按键是一种常开型 的开关,平时按键的两个触点处于断开状态,按下键时它们才闭合。
计算机键盘接口
输入:扫描键盘、扫描传感器、选通输入方式 输出:8段LED显示器接口,8个或16个,左(右)入口
19
20
21
22
一、外部引脚
面向CPU的信号(15)
D0~7、CS、RD、WR A0:端口选择,=0,数据口,=1, 命令口或状态口 RESET:复位,高有效,复位后工 作于16字符,左入口; 编码扫 描键盘,双键互锁;时钟分频系 数31 IRQ:中断申请,高有效,通常键 盘有数据输入请求时有效 CLK:时钟,为8279提供内部工 作时钟
读位置码->查表->字符码
非编码键盘的按键识别: (1)行扫描法
由程序对键盘进行逐行扫描,通过检测到的列输出状态来确 定闭合键。
8
行扫描法
一.峨峨
(a) 无键按下; (b) 有键按下; (c) 扫描第 0 行; (d)扫描第1行;(e)扫描第2行;(f)扫描第3行
9
行扫描法
(a) 无键按下; (b) 有键按下; (c) 扫描第 0 行; (d)扫描第1行;(e)扫描第2行;(f)扫描第3行
回复缓冲器:缓冲并锁存回复信号RL0~7的状态 去抖动电路:实现对键盘输入的去抖动 控制逻辑:按命令要求控制去抖动电路,并处理回复信 号RL0~7
键盘输入方式,有键闭合时,去抖动 电路被置位,延时10ms再检测,并将 其位置信息与SHIFT、CNTL的状态一 起形成键盘数据,送入FIFO RAM
传感器输入方式,RL0~7的状态直接 送入传感器RAM(即FIFO RAM) 选通输入方式,在CNTL/STB的上升沿 将RL0~7状态送入FIFO RAM
29
二、内部结构
FIFO/传感器RAM:8×8位
键盘输入方式或选通输入方式作先
4.1.键盘接口
一、键盘简介 二、非编码键盘 三、编码键盘 四、触摸屏技术
一、键盘简介
1、键盘控制的优点: (1)以少胜多,只要为数不多的按键就可完成传 统仪器中许多面板控扭的作用。 (2)简单可靠,键盘一般使用单触点、双触点按 键,机械结构简单,可靠性高,造价亦低。 (3)易于修改,可不必更改面板的原有结构,只 需修改软件即可更改按键的定义。 (4)便于远控,按键的通、断对应于“0”、“1” 两种状态,即为数字信号,便于传输实现远控。
(二)、矩阵式非编码键盘 1.行扫描法 以步进扫描方式,每次在键盘的一行 发出扫描信号,同时检查列线输入信号, 若发现某列输入信号与扫描信号一致,。
二、非编码键盘
位置码: 一组输出 输入码
查表法 键读数 位置码
二、非编码键盘
(二)矩阵式非编码键盘
二、非编码键盘
(一)、独立联接式非编码键盘
一旦发现有键入,程序即进入KYIDY (按键识别)程序段,进一步去识别出是 哪一个键,并译出键码来。这种键盘接口 的优点是简单,但当键数较多时,就要占 用多个口。
二、非编码键盘
(二)、矩阵式非编码键盘 识别按键有两种方法: 行扫描法 线反转法
二、非编码键盘
;送行码00H,开放所有行 ;取出列信号 ;有键合上吗? ;置A为全1,返回 ;软件延时,去抖动
通过接口进行行扫描; 键盘接口程序如下:
MOV R2,#0FEH MOV R0,#0FDH MOV R1,#0FBH KEYB2: MOV A,R2 MOVX @R0,A MOVX A,@R1 ANL A,#0F0H MOV R3,A CJNE A,#0F0H,KEYB3 MOV A,R2 RL A ;指向第一行
二、非编码键盘
常用键盘接口
常用键盘接口
常用按键接口可分为独立式按键接口、行列式按键接口和专用芯片式等。
具体采用哪种方式,可根据所设计系统的实际情况而定。
下面分别介绍这几种接口方式的优缺点及适用场合。
1.独立式按键接口
独立式按键接口设计优点是电路配置灵活,软件实现简单。
但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。
因此本方法主要用于按键较少或对操作速度要求较高的场合。
软件实现时,可以采用中断方式,也可以采用查询方式,示意图如图所示。
图独立式键盘接口
2.行列式按键接口
行列式按键接口示意图如图(a)所示,其使用原理将在下节详细讲述。
行列式按键接口适应于按键数量较多,又不想使用专用键盘芯片的场合。
这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。
这种方式的优点就是相对于独立接口方式可以节省很多I/O 资源,相对于专用芯片键盘可以节省成本,且更为灵活。
缺点就是需要用软件处理消抖、重键等。
行列式按键接口是一种老式的键盘接口,其键扫描方法是几乎所有PC 键盘所采用的方法。
tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
键盘输入接口电路
ORG
KEY: ACALL KS
;调用KS子程序
JNZ KEY1
;有键按下转移
ACALL TIM
;延时6ms
AJMP KEY
;无键按下转移
KEY1:ACALL TIM
;延时12ms
ACALL TIM
ACALL KS
JNZ KEY2
ACALL TIM
AJMP KEY
KEY2:MOV R2,#0FEH
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
…
…
PA7
8255
PA1
PA0
PB0
PB1
…
PB7
…
图6.33 8×8键盘连接
……
+5V +5V
2. 中断连接方式
中断连接方式,如图6.34所示。所有行线经 “与”门连接到单片
机的中断输入端。当有按键按下时产生负脉冲,向CPU中断请求。
KEY
有键闭合吗? Y
二次调用延时子程序12ms
N
调用延时
子程序6ms
有键闭合吗?
N
Y 判断闭合键键码
闭合键释放吗?
N
Y 转键码处理
返回 图6.31 软件消除抖动和识别键码流程图
图6.31 (2)
+5V
…… …
WR
RD P0口
P2.0
ALE 地
EA P2.4
键盘接口技术PPT课件
6
7H
5、互动试验装置键盘接口
• 1、装置中键号未 按照顺序定义;
• 使用时可采用查 表方式。
• 2、扫描时,可按 照列号、行号进 行查表,确定键 的键值。
• 全扫描码为0FFH, 无键按下时读入 列值为00H,有键 按下为“1”。
7
例3:键盘扫描程序:D6L3.ASM
• 程序JIANPAN.ASM为键盘扫描例程, 在LED上显示对应的键值。
消除抖动是按键设计所必
须要考虑的问题。
• (2)消除抖动的方法
• 消抖动通常有软件和硬件两种方法。
• 软件消抖动就是在检测到键按下时,执行一段延时子 程序后,再确认该键电平是否仍保持键按下时的状态 电平。延时时间通常取5~10ms以上。
• 硬件消抖动可采用RS触发器或RC延时等方法。
2
2、独立式按键
• 独立式键盘是指各按键相互独立,每个 按键分别与单片机或外扩I/O芯片的一 根输入线相连。
• 如:
• JB P1.0,L1 ;K0闭合? LCALL DELAY ;延时10ms JB P1.0,L1 ;K0闭合? LJMP KEY0 ;K0处理
L1:JB P1.2,L2 ;K1闭合? ……
3
3、行列式键盘(矩阵键盘)
键盘接口技术系统中通常采用非编码键盘 • 非编码键盘连接结构形式有: • (1)独立式键盘 • (2)行列式(矩阵)键盘
1
1、按键闭合过程
• (1)按键抖动问题
• 一般按键开关为机械弹性
开关,由于触点的弹性作
用,会出现“抖动”现象,
抖动时间一般为5~10ms。
• 矩阵式键盘适用于 按键数量较多的场 合。它通常由行线 和列线组成,按键 位于行、列的交叉 点上。
外设百科键盘接口
外设百科键盘接口目前市面上常见的键盘接口有三种:老式AT接口、PS/2接口以及USB接口。
老式AT接口,俗称大口,目前已经基本淘汰,因此不作介绍。
基本信息键盘接口是指键盘与电脑主机之间相连接的接口方式或类型。
详细内容PS/2最早出现在IBM的PS/2的机子上,因而得此名称。
这是一种鼠标和键盘的专用接口,是一种6针的圆型接口,但键盘只使用其中的4针传输数据和供电,其余2个为空脚。
PS/2接口的传输速率比COM 接口稍快一些,而且是ATX主板的标准接口,是目前应用最为广泛的键盘接口之一。
键盘和鼠标都可以使用PS/2接口,但是按照PC'99颜色规范,鼠标通常占用浅绿色接口,键盘占用紫色接口。
虽然从上面的针脚定义看来二者的工作原理相同,但这两个接口还是不能混插,这是由它们在电脑内部不同的信号定义所决定的。
USBUSB的全称是Universal Serial Bus,USB支持热插拔,即插即用的优点,所以USB接口已经成为MP3、U盘、移动硬盘等移动存储工具的最主要的接口方式。
USB有三个规范,即USB1.1、USB2.0和USB3.0。
PS/2接口和USB接口的键盘在使用方面差不多,由于USB接口支持热插拔,因此USB接口键盘在使用中可能略方便一些。
但是计算机底层硬件对PS/2接口支持的更完善一些,因此如果电脑遇到某些故障,使用PS/2接口的键盘兼容性更好一些。
主流的键盘既有使用PS/2接口的也有使用USB接口的,购买时需要根据需要选择。
各种键盘接口之间也能通过特定的转接头或转接线实现转换,例如USB转PS/2转接头等。
性能对比首先USB接口支持热拔插,允许用户在不关闭系统,不切断电源的情况下取出和更换,而PS/2接口的不支持热拔插。
其次是接口扫描频率USB接口比PS/2口的要高很多,响应速度当然是USB口比PS/2口要快很多,只不过我们平时感觉不太出来。
罗技和微软的USB口鼠标一般都配了个PS/2-USB转接口。
键盘接口实验实验报告及程序
键盘接口实验实验报告及程序一、实验目的本次实验的主要目的是深入了解计算机键盘接口的工作原理,并通过编程实现对键盘输入的读取和处理。
通过这个实验,我们将掌握如何与计算机硬件进行交互,提高对计算机系统底层运作的认识。
二、实验原理计算机键盘通常通过 PS/2 接口或 USB 接口与主机相连。
在本次实验中,我们以 PS/2 接口为例进行研究。
PS/2 接口使用双向同步串行协议进行通信,数据传输速率约为 10 167Kbps 。
键盘在向主机发送数据时,每个字节包含 11 位,分别是起始位(总是 0 )、 8 位数据位(低位在前)、校验位(奇校验)和停止位(总是 1 )。
主机通过向键盘发送命令来控制键盘的工作模式和获取相关信息。
三、实验设备及环境1、计算机一台2、开发板及相关配件3、编程软件(如 Keil 等)四、实验步骤1、硬件连接将开发板与计算机通过相应的接口连接好,确保连接稳定。
2、软件编程选择合适的编程语言和开发环境。
初始化相关的硬件接口和寄存器。
编写读取键盘输入数据的程序代码。
3、编译与下载对编写好的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到开发板中。
4、实验测试按下键盘上的不同按键,观察开发板的输出结果。
检查读取到的数据是否准确,校验位是否正确。
五、程序代码实现以下是一个简单的基于 C 语言的键盘接口读取程序示例:```cinclude <reg51h>//定义 PS/2 接口相关引脚sbit PS2_CLK = P1^0;sbit PS2_DATA = P1^1;//读取一个字节的数据unsigned char ReadByte(){unsigned char data = 0;unsigned char i;while(PS2_CLK == 1);//等待时钟线拉低for(i = 0; i < 8; i++){while(PS2_CLK == 0);//等待时钟上升沿data =(data << 1) | PS2_DATA; //读取数据位}while(PS2_CLK == 1);//等待时钟线拉低return data;}void main(){unsigned char key;while(1){key = ReadByte();//读取键盘输入的数据//在此处对读取到的数据进行处理和显示}}```六、实验结果与分析在实验过程中,我们按下不同的键盘按键,开发板能够准确地读取到相应的键值。
键盘接口出现故障怎么办
键盘接口出现故障怎么办键盘接口内部的弹性接触片由于长时间的使用或者是经常性的弯曲拉动,有时候就会出现扩张现象,从而也就导致了键盘插头的针跟接口中的弹性接触片接触不良或者是没法接触。
一起来看看键盘接口出现故障怎么办,欢迎查阅!键盘的常见故障及处理方法一、键盘的个别按键不能输入这个时候计算机启动时自检正常,但启动后,大多数按键是可以正常输入,有个别的按键不能输入。
这种情况说明键盘上的电路、主机键盘控制接口是正常工作的。
个别按键不能输入的原因可能是该按键座内的弹片失效或者是键内被灰尘污染。
这个时候只要打开键盘,用干的毛巾擦擦按键与金属接触的地方,如果弹片损坏,就小心的拨正它,实在不行就换一个就可以了。
二、按键输入的不是想要的信息当正常启动机器后,在输入框中输入某个按键的字符时时,显示出来的并不是本位按键上的字符,而显示其它键位的字符。
这种情况大多数按键是正常,有几个键位输入时不显示键位本身的字符,而显示其它按键位的字符,一般是按键的连线松动或脱落,造成按键码串位所致。
解决这种情况只要打开键盘,查看键位连接线,查出故障位置,调整正确后,然后拧紧螺丝就可以了。
三、键盘的灰尘清理使用久了,无论是键盘表面还是键盘的内部,都可能积满了灰尘。
这个时候怎么清理呢。
可以把键盘反过来轻轻拍打,让其内的灰尘落出;也可以用湿布清洗键盘表面,但注意湿布一定要拧干,以防水进入键盘内部。
使用时间较长的键盘需要拆开进行维护。
拆卸键盘比较简单,拔下按键盘与主机连接的电缆插头,然后把键盘正面向下放到桌子上,卸下底板上的螺钉,即可取下按键盘后盖板。
如果是清理键盘的内部,一定记着不要用水来清洗,因为水很容易腐蚀按键盘里面的金属。
可以用酒精清洗。
也可以可以用油漆刷或者油画笔扫除电路板和键盘按按键上的灰尘。
四、键盘接口损坏有些时候,键盘的接口损坏,怎么输入也不管用。
这种情况,就要把按键盘拆开。
把按键帽取下,滴入酒精,装上按键帽,反复敲击几次。
18-13上键盘接口
简化段定义格式
MASM 6.x支持
.model small ;定义程序的存储模式
.data .code start: mov ; 定义数据段 ; 定义代码段 ax,@data ;程序起始点,建立DS 键盘接口设计实例--源程序(数据段)
mov .exit
end
ds,ax 0 ;程序结束点,返回DOS
实验步骤 8255并行口实验 1、(关实验箱电源)实验接线:(表示相互连接) CS8255 CS0 PA0 K1 PA1 K2 实验内容 PB0 LED1 PB1 LED2 实验题1 实验书120页 实验三 编写程序,使得逻辑电平开关的变化 2、(打开实验箱电源)PC机运行8086调试软件 TECH86---串口COM1—PREST键 在发光二极管上显示出来。即当开关 编辑程序,单步运行,调试程序 ki置于L时,对应发光二极管LEDi点亮; 置于H时熄灭 调试通过后,全速运行程序,观看实验结 果 实验题2 实验题1的改进
本次课内容
6.5 键盘接口
矩阵键盘结构 键盘接口硬件电路 键盘编程 键盘接口设计实例 8255并行口实验
6.5 键盘接口 简易键盘
线性结构键盘
+5V
矩阵结构键盘
列 +5V
+5V
+5V 行
+5V
键盘概述
键盘是计算机最重要的输入设备之一,它是人与计算机 进行沟通的主要工具。 键盘一组按键开关的集合,由一组排列好了的数字键、 字母键或功能键组成,用户通过键盘向计算机输入控制 命令、程序和数据,指挥计算机按用户的要求工作。
键盘接口设计实例--源程序(代码段主程序)
KEY子程序(1)(2)
start ; 汇编结束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DWORD dwThreadId //指定监视的线程。若为NULL,则为全局钩子
);
注:全局钩子函数必须在DLL(动态链接库)中建立。
编程实例:运用Hook技术获取按键。当按键时,播放声音(该键的名称)。 (1)建立MFC DLL,安装按键钩子,并实时播放声音。
启动VC++,选 File\New,在Project选卡中:
选Project/Setings,按如下操作:
注意:Win32 Debug也按此 操作
选Build/Batch Build,按如下操作:
1
2
于是,就生成了KeyHook.dll文件。
DLL文件不能独立运行,只能由可执行文件来调用。 下面来编程,生成调用此DLL的可执行文件KeyPress.EXE
扫描码(串行数据)
至PC机键盘接口
L1
输出 L2
单片机
L3
R0 输入 R1
R2 R3
K00 K01 K02 K03 K10 K11 K12 K13 K20 K21 K22 K23 K30 K31 K32 K33
KLR
(2)键盘内部电路的键扫描工作原理
L3..0=1110
读R3..0
R3..0=1111? 本行无键按下, Y
L3..0=1101
读R3..0
R3..0=1111? 本行无键按下, Y
……
扫描码:
行号、列号拼成字节
N,本行有键按下 判断,处理
N,本行有键按下 判断,处理
二 PC机的键盘接口电路
并行数据
D7..D0
D7..D0 PA
8088
8255
INTR
CS
60H~63H
串/并 转换
来自键盘 的扫描码
串行数据
系统维护着一个钩子链,最近安装的钩子总放在链的开始。
怎样安装Hook?
调用API函数:
HHOOK SetWindowsHookEx(
int idHook,
//钩子的类型,按键为 WH_KEYBOARD
HOOKPROC lpfn,
//钩子函数的地址
HINSTANCE hMod,
//包含钩子函数的模块句柄
(2)建立MFC EXE,用于加载KeyHook.dll。 启动VC++,选 File\New,在Project选卡中:
在MFC AppWizard _ step 1 中:
在Keypress.cpp中的OnInitDialog()函数中添加 (见红框内):
BOOL CKeyPressDlg::OnInitDialog() {
{ if(((DWORD)lParam&0x40000000) && (HC_ACTION==nCode)) { switch(wParam){ case 'A': sndPlaySound("sound\\a.wav",SND_ASYNC); break; case ‘B': …… sndPlaySound("sound\\2.wav",SND_ASYNC); break; case 'Z': sndPlaySound("sound\\z.wav",SND_ASYNC); break; } }
instkbhook=(inshook)GetProcAddress(hinstDLL, "installhook"); instkbhook(); }
return TRUE; // return TRUE unless you set the focus to a control }
编译、连接,生成KeypRess.exe文件; 将KeyHoook.dll文件拷贝到KeypRess.exe文件所在的目录内; 在KeyPress.exe文件所在的目录内建立sound子目录;
INT IRQ1 8259
CPU响应IRQ1中断后,可读取 8255 PA 口的数据: Key = inprotb(0x60);
三 PC机的键盘接口编程举例
例1 拦截IRQ1中断,读取 8255 PA 口的键盘扫描码。
注: 8255 PA 口的I/O地址为60H; IRQ1为键盘中断,按下和提起都会发生,其中断类型号 用 TC 编程。
为9;例2 运用Window来自 Hook(钩子)技术获取按键。
Windows环境下,用户程序一般不使用中断。或使用线程技术,或使用Hook(钩子) 技术。
什么是Hook?
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定 的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,得到控制权。钩子 函数先处理该消息,再向系统传递该消息。也可以丢弃该消息。
LRESULT RetVal = CallNextHookEx( hkb, nCode, wParam, lParam ); return(RetVal); }
选View/MFC ClassWizard,按如下操作:
2 3 1
上步完成后,在KeyHook.cpp最后出现InitInstance()函数,在该 函数中添加代码(见红框):
在MFC AppWizard _ step 1 of 1中:
在KeyHook.h文件中添加代码(见红框部分):
在KeyHook.cpp文件中添加代码(见红框部分):
在KeyHook.cpp文件中写上如下回调函数:
LRESULT __declspec(dllexport)__stdcall CALLBACK KeyboardProc( int nCode, WPARAM wParam, LPARAM lParam)
…… // TODO: Add extra initialization here
static HINSTANCE hinstDLL; typedef BOOL (CALLBACK *inshook)(); inshook instkbhook; if(hinstDLL=LoadLibrary((LPCTSTR)"keyhook.dll")) {
第3章 人机交互接口
本章概要
人机交互接口是人与计算机打交道的接口电路。本 章主要介绍 3 种常用人机交互接口:
键盘接口 显示器接口 鼠标接口 本章将在Windows下,以VC++6.0为开发工具, 编程访问上述接口。
第1节 键盘接口
一 键盘的工作原理
(1)键盘内部的电路结构(以4 ×4键盘为例)
L0