第10章 基本人机交互设备的接口(键盘、LED)

多媒体教学课件
微型计算机接口技术
第10章 基本人机交互 设备的接口
河南科技大学信工学院 自动化系卜文绍

? 人机交互设备指在人和计算机之间建立联系、交 换信息的输入/出设备。 ? 随着计算机应用领域扩大,除常规键盘、显示 器、打印机外,涌现了许多新型人机交互设备。 为计算机普及和推广应用提供了条件。 ? 本章主要介绍几种常规人机交互设备的接口方 法。

10.1 键盘接口
一、键盘的类型
?
键盘: 是微型计算机系统中最基本的人机对话输入设备。按 键有机械式、电容式、导电橡胶式、薄膜式等多种。但不管 何种形式,其作用都是一个“使电路接通与断开的开关”。 键盘结构形式(两种):线性键盘、矩阵键盘。 线性键盘:多少键对应有多少根连线连接微机输入接口;在 某些微机化仪表中有所应用。 矩阵键盘:需要的接口线书是行数(n)+列数(m),容许最大 按键数n×m;常用键盘结构。
? ? ?

?
根据矩阵键盘的识键和译键方法的不同,可分为非线性键 盘、编码键盘两种。 键盘本身具有自动检测被按下的键,并完成去抖动、防串键 等功能,而且能提供与被按键功能对应的键码(如ASCII码) 送往CPU。电路复杂、价格高,但接口简单。
1、编码键盘:
2、非编码键盘: 键盘只简单地提供按键开关的行列矩阵。按键的识别、键码 的确定与输入、去抖动等工作都由接口电路和程序完成。本 身结构简单、成本低,微机系统中多采用。

二、键盘接口的功能
?
键盘接口必须具有去抖动、防串键、按键识别和键码产 生4个基本功能。
① 去抖动:
? ?
每个按键在按下或松开时,都会产生短时间的抖动。抖 动的持续时间与键的质量相关,一般为5~20ms。 所谓“去抖动”:是指在键被按下或释放时,必须避开抖 动状态,只有处在稳定接通或断开状态才能保证识别正 确。 去抖动问题,可通过软件延时或硬件电路解决。
?

② 防串键:解决多键同时按下或前一按键未释放又有新下
时产生的问题。 ? ? 双键锁定。当检测到有多个键被按下时,把最后释放的键 当作有效键,并产生相应键码。 N键轮回。当检测到有多个键被按下时,根据发现它们的顺 序依次产生相应键的键码。 行扫描法。由程序对键盘进行逐行扫描,通过检测到的列 输出状态来确定闭合键。 线反转法。通过行列颠倒两次扫描来识别闭合键。需提供 两个可编程双向输入/输出端口。
③ 按键识别:
? ?
④ 键码产生:一般在内存区中键立一个键盘编码表,通过
查表获得按键的键码。

三、键盘的结构与工作原理
1、线性键盘的结构与工作原理
? ? ? ? 由若干独立键构成,每键的一端接地,另一端与接口数据线直接相连。 无键按下时:所有数据线为高电平(全1,0FFH);当任一键按下时,对 应数据线的电平变成低电平(0)。 数据线与并行接口芯片(82C55A)相连,即完成硬件连接。 接口程序不复杂:1)判断是否有键按下,通过查询接口输入数据是否为 全1。若全1,无键按下;若不是全1,则有键按下。2)确定是那个键按 下。根据哪个数据为是0,即可判定。

三、键盘的结构与工作原理
2、矩阵键盘的结构与工作原理 ? 矩阵键盘拍成n行m列,并且在行线或列线上通过电阻接高电 平。按键的行线与列线交叉点不连接,可通过按键来接通。 图为4×4键盘。 ? 通过逐行扫描(行扫描)或逐列扫描(列扫描)的方式,确 定是否要键按下、识别哪个键被按下。 ? 图中:PA0~PA3与键盘的列线连接;PB0~PB3与键盘的行线 连接,并且4条扫描线都通过电阻接高电平。

三、键盘的结构与工作原理
?
按键检测方法:
① 判别是否有键按下:检测有无键按下。从PA0~PA3输出4位0,使 0~3列都为0,读入行线PB0~PB3 的值。若 PB0~PB3全1,说 明没有键按下;若非全1,说明功能有键按下。 ② 如果没有键按下,则返回步骤①,等待按键。 ③ 如果有键按下,则寻找是哪个键。为此,进行逐列扫描,找出 按键在矩阵中的位置,称为行列号或键号。 ? 先从0列开始,使PA0=0,PA1~PA3为1,检测PB0~PB3电平:若 PB0=0,表示S1键按下;
? 同理,若PB1~PB3分别为 0,对应S5、S9、S13键按 下。若PB0~PB3都为1, 说明该列无键按下;再对 第2二列扫描。直至找出 被按键。

四、非编码键盘接口设计
举例:非编码键盘接口设计
1)要求:设计一个小型3×4矩阵非编码键盘的接口电路。 2)分析:因按键少,采用1片82C55A作为接口芯片。同时,考虑是非 编码键盘,操作过程对键盘的识键、译键采用软件扫面法。 3)硬件设计:以82C55A并行接口芯片作为微机与键盘的接口,采用 “逐行扫描”,把行线与微机输出口相连;列线与微机输入口相连。 定义PA口为输出口,PB口为输入口。 ? 接口硬件如图10.4所示。
PA0 PA1 8255A PA2 PB0 PB1 PB2 PB3 图10.4 非编码键盘接口 0列 3列
+5v
行0 行1 行2
CPU
PA 11111 110 11111 101 11111 011 11111110
PB

4)软件设计:
采用软件扫描的方法实现识键和译键,扫描的步骤如下。 ① 判别是否有键按下。其方法是:输出扫描码,使PA0~PA2 输出行线全为0;然后读入PB0~PB3列线状态,检查是否有 列线为0。若有,则表明有键按下(有行线和列线接通)。 ② 去抖动:延时10~20ms左右,待通/断引起的抖动消失后, 再读PB口,若还有键闭合,则认为按键已稳定。 ③ 被按键识别:从第0行开始,输出0,顺序逐行扫描。每扫 描一行,读入列线值,从第0列开始,逐列检测是否为0。 若某列为0,则该列有键按下;若为1,该列无键按下。这 样,按顺序扫描每一行并检查其列值,直到找到某些线为 0,则该列与扫描行交叉点的按键就是被按下的键。其行、 列值的编号,即为“键号”。 ④ 产生键码:根据扫描得到的“键号”,转去执行该键的相应 子程序。 ——也可以按列扫描,道理类似。

? 设8255A的PA口地址为300H,PB口地址为301H,控制寄存器 地址为303H。 ? 非编码键盘按行扫描查找按键的汇编程序段: ;8255A初始化
MOV DX, 303H MOV AL, 82H OUT DX, AL ;方式0,A口输出,B口输入
;检查是否有键按下
BEGIN: MOV DX, 300H MOV AL, 00h OUT DX, AL WAIT`:MOV DX, 301H IN AL, DX AND AL, 0FH CMP AL, 0FH JZ WAIT1 ;屏蔽无关位 ;比较列线是否为0 ;无0, 则等待按键 ;读列数据 ;使各行扫描线为0

;延时去抖动
MOV CX, 7FFH L0:LOOP L0
;识别被按下的键
ST:MOV BL, 03H MOV BH, 04H MOV AL, 0FEH MOV CL, 0FH MOV CH, 0FFH L1: MOV DX, 300H OUT DX, AL ROL AL MOV AH, AL MOV DX, 301H IN AL, DX ; 扫描一行 ; 修改行扫描码,指向下一行 ;修改扫描码并送AH保存 ;读入列线值 ; 行数送BL ; 列数送BH ;设起始扫描码为0FEH(0行开始,为0) ; 设列线屏蔽码为0FH(只检测低4位) ; 置键号初值为0FFH (-1的补码)

AND AL, CL CMP AL, CL JNZ L2 ADD CH, BH MOV AL, AH DEC BL JNZ L1 JMP BEGIN L2: INC CH RCR AL JC L2 MOV AL, CH JMP KeyTable
; 屏蔽无关位 ; 检查是否有列填线为0 ;有, 则转去找为0的列线 ;无,则修改键号,指向该行末列键号 ;取回扫描码 ;行数减1 ;未完成转下一行 ;重新开始 ;该列非0,键号加1,指向本行首列键号 ;右移1位,检测一列 ;该列非0,检查下一列 ;该列为0,键号送AL ;转查找键盘编码表子程序,获取与键功能 ; 对应的键码,或转相应的子程序。

10.2 LED数码显示器接口
? 显示器是人机交互的输出设备。 ? 显示器门类很多,性能各异。如CRT显示器、LCD显示器、 LED显示器、触摸屏等。 ? 本节仅讨论适应于小型微机应用系统的LED显示器接口。
一、LED显示器的结构与原理
? 显示器是人机交互的输出设备。 ? 显示器门类很多,性能各异。如CRT显示器、LCD显示器、 LED显示器、触摸屏等。 ? 本节仅讨论适应于小型微机应用系统的LED显示器接口。

7段数码显示器是将多个LED管组成一个字形的显示器,有共 阴极和共阳极两种结构。 ? 共阴极:阳极加高电平点亮,加低电平熄灭。 ? 共阳极:阴极加低电平点亮,加高电平熄灭。 限流电阻,把流经LED管的电流限制在10~20mA。
二、LED显示器的字形码
7段数码显示器,实际是8段(另一段显示小数点);构成段 选的8位数据,可与微机并对应。 图10.6:LED显示器段选数据格式。

为了达到显示某一字形的目的,需要用不同的段进行组合, 以便点亮所需的段。表达这种不同的段进行组合的数据,称 为字形码或段码。

三、LED显示器的字形码
LED显示器有静态显示、动态显示。 静态显示:显示某字符时,构成这个字符的发光二极管总是处在点亮
状态,功耗大;且由于每个字符需要一个固定的锁存器,占用的硬件资 源多。
动态显示:是用扫描的方法,使多位显示器逐位轮流显示。把每个显
示器的8根段线并联在一起;设置两个端口,一个用于发送“位控”信号, 控制显示哪一位字符;另一个用于发送“段控”信号,显示字形。
扫描过程:
? ? ?
先从“段控”端口发字形码(给每个显示器的段线上,但不点亮); 再从“位控”端口发出一个控制信号,指定哪一位的显示器显示,该位显 示器点亮,待持续一段时间后熄灭; 各位字符轮流显示。 动态显示有软件程序控制扫描、硬件定时扫描两种。实用中,LED显示器 大都采用硬件实现动态扫描。

10.3 可编程键盘/LED接口芯片82C79A
82C79A兼有键盘输入接口、字符显示输出接口,两种用途。
?
作输入接口时:有扫描键盘、扫描传感矩阵、选通输入三 种方式。扫描键盘输入方式中,键盘可设置64(8×8)个 键,经扩充科大128(8×8×2)个键,具有自动去抖动功 能。 作输出接口时:有168位显示存储器RAM存储字形码,可 接16个8段数码显示器或8个8段数码显示器。也可接普通 的指示灯。
?

10.3 可编程键盘/LED接口芯片82C79A
1、外部特性
?
40脚双列直插式芯片。引脚功能及信号分类图:与CPU一侧相关的 共15条;与键盘、显示接口相关的共23条;电源、地各一条。
IRQ D0~D7 RL0~RL7 SHIFT CNTL/STB CPU RD WR CS A0 CLK RESET +5V GND 键 盘
8279
SL0~SL3 OUTA0~3 OUTB0~3 BD 显 示 器

第九章 显示器及键盘接口

第十章显示器及键盘接口 §10.1 显示器接口 一.LED原理简述 LED显示块是用发光二极管显示字段,单片机应用系统常用的是七段LED,如下图,它有其阴极和共阳极两种: a c e f g 共阴极共阳极例如,要显示‘0’字符,对于共阴极管应输出段码: h g f e d c b a a 0 0 1 1 1 1 1 1 3 F H f b g e c 对于共阳极管则应输出段码: d h. h g f e d c b a 1 1 0 0 0 0 0 0 C 0 H

共阳极管和共阴极管的段码是互为补码的。 二.动态显示的七段LED基本用法: 1.动态显示的七段LED与单片机的硬件接口 扩展显示器接口实质是输出口的扩展,例如设计一个6位的数码管显示系统,它需要扩充两个8位输出口,一个输出8段码,一个输出位选码。如下图: 由图可知,要显示哪个字符,该字符的段码从1#377输出,要使1#377输出只要A0 = 0即可,因此1#377的地址为FEH。该段码输出到6个数码管上是相同的,要哪个管亮,必须使该管的相应段二极管导通,则由2#377输出的位码控制,对应哪个管为0,则该管可以亮。要使2#377输出只要A1 = 0,2#377的地址为FDH。

在软件设计上将6个LED管轮流点亮,每管延时约1Ms,利用人的视觉残留,则可以看成持续点亮。 2.动态显示的软件设计: 要点:①代码转换:直接驱动7段LED发光的是段码,而我们习惯的是字符0、1、2、…F等,因此软件中必须将待显示 的字符转换成段码。 ②每次只能输出同样的段码,因此要使某管亮,必须用软 件保证逐位轮流点亮并适当延时,给人的眼睛产生持续 发光的效果。 程序中使用的显示缓冲区示意图: 显示缓冲区共6个单元,自左至右一一对应6个数码管,其中存放待显示字符在段码表中的查表偏移量。 程序如下:

人机交互

人机交互技术是指通过计算机输入、输出设备,以有效的方式实现人与计算机对话、交换信息的技术。人们可以借助键盘、鼠标、操作杆、位置跟踪器、数据手套等设备,用手、脚、声音、姿态和身体的动作、视线甚至脑电波等向计算机传递信息;计算机通过打印机,绘图仪、头盔式显示器、音频等输出设备或显示设备给人提供信息。 目前,人机交互技术正处于多通道、多媒体的智能人机交互阶段,已经取得了不少研究成果,不少产品已经问世。侧重多媒体技术的有:触摸式显示屏实现的“桌面”计算机,能够随意折叠的柔性显示屏制造的电子书,从电影院搬进客厅指日可待的3D显示器,使用红绿蓝光激光二极管的视网膜成像显示器;侧重多通道技术的有:“汉王笔”手写汉字识别系统,结合在微软的Tablet PC 操作系统中数字墨水技术,广泛应用于Office/XP的中文版等办公、应用软件中的IBM/Via Voice连续中文语音识别系统,输入设备为摄像机、图像采集卡的手势识别技术,以IPHONE手机为代表的可支持更复杂的姿势识别的多触点式触摸屏技术,以及IPHONE中基于传感器的捕捉用户意图的隐式输入技术。 人机交互技术领域热点技术的应用潜力已经开始展现,比如智能手机配备的地理空间跟踪技术,应用于可穿戴式计算机、隐身技术、浸入式游戏等的动作识别技术,应用于虚拟现实、遥控机器人及远程医疗等的触觉交互技术,应用于呼叫路由、家庭自动化及语音拨号等场合的语音识别技术,对于有语言障碍的人士的无声语音识别,应用于广告、网站、产品目录、杂志效用测试的眼动跟踪技术,针对有语言和行动障碍人开发的“意念轮椅”采用的基于脑电波的人机界面技术等。热点技术的应用开发是机遇也是挑战,基于视觉的手势识别率低,实时性差,需要研究各种算法来改善识别的精度和速度,眼睛虹膜、掌纹、笔迹、步态、语音、唇读、人脸、DNA等人类特征的研发应用也正受到关注,自然语言理解虽然目前在语言模型、语料库等方面有进展外,仍将是人机交互的重要目标,多通道的整合也是人机交互的热点,另外,与“无所不在的计算”、“云计算”等相关技术的融合与促进也需要继续探索。 人机交互技术与计算机始终相伴发展,CPU、GPU的运算能力日趋强大,网络和通信技术的快速发展,显示技术的重大突破都将为人机交互提供新的起点与高度。也许有一天,你的房间的墙壁和窗户都是基于PLED技术的巨型显示器,无需遥控器和控制器,游戏机或电视机就能“感应”到你目光的变化、捕捉到你的手势和动作、听懂你语音的命令,用你的头、手、足、躯干就可以控制游戏中

人机交互基础教程知识点总结与归纳

人机交互各章知识点 第1章 1. 人机交互的概念,所涉及的学科及关系。 答:人机交互(Human-Computer Interaction,HCI)是关于设计、评价和实现供人们使用的交互式计算机系统,并围绕相关的主要现象进行研究的科学。 人机交互技术与认知心理学、人机工程学、多媒体技术和虚拟实现技术密切相关。其中,认知心理学与人机工程学是人机交互技术的理论基础,而多媒体技术、虚拟实现技术与人机交互技术是相互交叉和渗透的。 2. 人机交互研究的内容。 答:人机交互的研究内容有人机交互界面表示模型与设计方法、可行性分析与评估、多通道交互技术、认知与智能用户界面、群件、Web设计、移动界面设计。 3. 人机交互经历的三个阶段 答:命令行界面交互阶段、图形用户界面交互阶段、自然和谐的人机交互阶段 4. 发展趋势 答:集成化、网络化、智能化、标准化 5. 狭义的讲人机交互技术 答:人机交互技术主要是研究人与计算机之间的信息交换,主要包括人到计算机和计算机到人的信息交换两部分。 第2章 1. 人的主要的感知方式 答:视觉、听觉、触觉 2. 人的常见认知过程 答:1、感知和识别 2、注意 3、记忆 4、问题解决5、语言处理 交互原则:许多认知过程是相互依赖的,一个活动可同时涉及多个不同的过程,只涉及一个过程的情况非常罕见。 3. 人机系统设计步骤 答:(1)需求分析阶段(2)调查研究阶段(3)系统分析规划阶段 (4)系统设计阶段(5)测试阶段(6)人机系统的生产制造及提交使用阶段 4. 人机工程学的定义 答:人机工程学是研究“人-机-环境”系统中人、机、环境三大要素之间的关系,为解决系统中的人的效能、健康问题提供理论与方法的科学。 第3章 1. 交互设备的的分类 输入设备 { 文本输入设备:键盘、手写输入设备(手写板) 图形输入设备:二维扫描仪、数码摄像头 三维信息输入设备:三维扫描仪、动作捕捉设备 指点输入设备:鼠标、光笔、控制杆板、触摸屏

第10章 基本人机交互设备的接口(键盘、LED)

多媒体教学课件
微型计算机接口技术
第10章 基本人机交互 设备的接口
河南科技大学信工学院 自动化系卜文绍

? 人机交互设备指在人和计算机之间建立联系、交 换信息的输入/出设备。 ? 随着计算机应用领域扩大,除常规键盘、显示 器、打印机外,涌现了许多新型人机交互设备。 为计算机普及和推广应用提供了条件。 ? 本章主要介绍几种常规人机交互设备的接口方 法。

10.1 键盘接口
一、键盘的类型
?
键盘: 是微型计算机系统中最基本的人机对话输入设备。按 键有机械式、电容式、导电橡胶式、薄膜式等多种。但不管 何种形式,其作用都是一个“使电路接通与断开的开关”。 键盘结构形式(两种):线性键盘、矩阵键盘。 线性键盘:多少键对应有多少根连线连接微机输入接口;在 某些微机化仪表中有所应用。 矩阵键盘:需要的接口线书是行数(n)+列数(m),容许最大 按键数n×m;常用键盘结构。
? ? ?

?
根据矩阵键盘的识键和译键方法的不同,可分为非线性键 盘、编码键盘两种。 键盘本身具有自动检测被按下的键,并完成去抖动、防串键 等功能,而且能提供与被按键功能对应的键码(如ASCII码) 送往CPU。电路复杂、价格高,但接口简单。
1、编码键盘:
2、非编码键盘: 键盘只简单地提供按键开关的行列矩阵。按键的识别、键码 的确定与输入、去抖动等工作都由接口电路和程序完成。本 身结构简单、成本低,微机系统中多采用。

二、键盘接口的功能
?
键盘接口必须具有去抖动、防串键、按键识别和键码产 生4个基本功能。
① 去抖动:
? ?
每个按键在按下或松开时,都会产生短时间的抖动。抖 动的持续时间与键的质量相关,一般为5~20ms。 所谓“去抖动”:是指在键被按下或释放时,必须避开抖 动状态,只有处在稳定接通或断开状态才能保证识别正 确。 去抖动问题,可通过软件延时或硬件电路解决。
?

相关文档
最新文档