第8章 人机交互接口设计

合集下载

第8章人机交互设备接口1

第8章人机交互设备接口1
DB 64 DUP('STACK...') STACK ENDS DSEG SEGMENT PARA 'DATA' TABLE DW 262 ;C
DW 294 ;D DW 330 ;E DW 349 ;F DW 392 ;G DW 440 ;A DW 494 ;B DW 523 ;C DW 700 DSEG ENDS
CSEG SEGMENT PARA 'CODE‘
ASSUME CS:CSEG,DS:DSEG,SS:STACK
MAIN PROC FAR
MOV AX,DSEG
MOV DS,AX
NEW_NOTE: MOV AH,0 ;读取一个按键 INT 16H CMP AL,0DH ;判断刚才敲入的键是否是回车? JE EXIT ;是,退出 MOV BX,OFFSET TABLE
PUSH AX
;将AL中的扫描码入栈保存
IN AL,61H ;读B口原输出状态
MOV AH,AL
;暂存于AH
OR AL,80H ;置PB7=1,清除LS322T和中断请求触发器
OUT 61H,AL
POP AX ;弹出扫描码至AL中 MOV AH,AL ;AH中也为键扫描码键处理
实验二 微机键盘、8259与8255 综合实验
②线反转法:该方法的基本思想是通过行列颠倒两次扫描 来识别闭合键。 (4)键码产生
一般在内存区中键立一个键盘编码表,通过查表获得按键的键码。
二、PC微机键盘及接口
① 键盘由单片机、译码器和16行×8列的键开关矩阵三大 部分组成。
② 按键采用电容开关,即按键时的上下动作使电容量发 生变化,从而实现开关接通或断开的目的。
2.键盘接口电路
(1)接口功能

第八章 人机交互接口

第八章 人机交互接口
阴极射线管
一、显示器文本方式I/O 显示器文本方式
文本方式下,显示器的屏幕一般被分成80×25(80列 文本方式下,显示器的屏幕一般被分成80×25(80列,25 80 的网格,字符在网格上显示。 行)的网格,字符在网格上显示。每个字符都在显示缓冲区 VRAM中对应一个存储单元 即屏幕的存储器映象。 中对应一个存储单元, VRAM中对应一个存储单元,即屏幕的存储器映象。 在彩色文本方式下,每个字符占用两个存储器单元, 在彩色文本方式下,每个字符占用两个存储器单元,其中 每一具单元为显示字符的ASCII ASCII码 每一具单元为显示字符的ASCII码,第二个单元为该显示字符 的属性。 的属性。 在PC机中,整个屏幕的字符共占用4000字节的视频存储器 PC机中,整个屏幕的字符共占用4000字节的视频存储器 机中 4000 空间(B800:0H-B800:F9FH), ),彩色文本显示的视频缓冲区 空间(B800:0H-B800:F9FH),彩色文本显示的视频缓冲区 首地址为B800 0H,单色文本为B000 B800: B000: 首地址为B800:0H,单色文本为B000:000H
D7
D6
D5
D4
D3
D2
D1
D0
按下右Shift Shift键 D0=1 按下右Shift键 按下控制键C D2=1 按下控制键C trl D4=1 Scroll D5=1 Num D6=1 Caps
D1=1 D3=1
按下左Shift键 按下左Shift键 Shift 按下Alt键 按下Alt键 Alt
颜色索引值
颜色索引寄存器
DAC
显示器
(2)压缩像素法 在压缩像素法中,VRAM中的一个字节对应屏幕上的一个 在压缩像素法中,VRAM中的一个字节对应屏幕上的一个 像点(Pixel),由于一个字节取值0 255, 像点(Pixel),由于一个字节取值0-255,所以屏幕上的点 ),由于一个字节取值 就有256种颜色的变化(256色)。 VRAM的一个字节的内容直 就有256种颜色的变化(256色 一个字节的内容直 256种颜色的变化 接通过DAC表查出对应的屏幕显示颜色值,通过RGB三基色的 接通过DAC表查出对应的屏幕显示颜色值,通过RGB三基色的 DAC表查出对应的屏幕显示颜色值 RGB D/A转换器显示到屏幕上。 D/A转换器显示到屏幕上。 转换器显示到屏幕上

人机交互设计入门教程

人机交互设计入门教程

人机交互设计入门教程引言:人机交互设计(Human-Computer Interaction, HCI)已经逐渐成为当代信息技术发展的核心领域之一。

本文将介绍人机交互设计的基本概念和原理,并分为以下几个章节详细讲解。

第一章人机交互设计概述1.1 人机交互设计的定义和意义1.2 人机交互设计的发展历程1.3 人机交互设计在现代社会的应用领域和前景第二章用户研究与需求分析2.1 用户研究的重要性和方法2.2 用户行为观察和用户访谈技术2.3 用户需求分析的基本步骤和工具第三章交互设计原则与方法3.1 可用性和用户体验的关系3.2 重视用户反馈和交互评估3.3 交互设计中常用的方法和工具介绍第四章设计模式与界面设计4.1 设计模式的概念和分类4.2 常见的界面设计原则和技巧4.3 结合设计模式和界面设计实践案例分析第五章用户界面设计与可视化5.1 用户界面的构成要素和设计原则5.2 交互元素的设计与布局5.3 信息可视化的原则和技巧第六章多媒体与跨平台设计6.1 多媒体交互界面的设计要点6.2 跨平台设计的挑战与解决方法6.3 移动设备上的人机交互设计问题及解决方案第七章人机交互设计案例分析7.1 电子商务平台的人机交互设计7.2 社交媒体应用的人机交互设计7.3 智能家居系统的人机交互设计第八章人机交互设计的未来发展8.1 人工智能技术对人机交互设计的影响8.2 虚拟现实和增强现实技术的应用前景8.3 基于大数据和用户行为分析的个性化设计结语:通过本文的介绍,读者可以初步了解人机交互设计的基本概念、方法和应用。

随着科技的进步和社会的发展,人机交互设计将会在更多的领域发挥重要作用,同时也需要不断学习和创新,以满足用户对于交互体验的不断提高与需求的多样化。

希望读者通过学习本教程,能够在人机交互设计领域有所收获并应用于实际工作中。

第8章 人机交互接口设计

第8章 人机交互接口设计
8
图8-2 独立式键盘接口电路
9
【例8-1】 对于图8-2(a)所示的独立式键盘,采用查询方 式读取键值,并根据不同键值,进行相应的键处理。
C51参考程序如下: #include<reg51.h> void main() { unsigned char keyvalue; do {
P1 = 0xff; keyvalue = P1; //从P1口读入键盘状态 keyvalue = ~keyvalue; //键盘状态取反
13
case 32: ......; //处理K6键
break;
case 64: ......; //处理K7键
break;
case 128: ......; //处理K8键
break;
default:
//无按下键处理
break;
}
keyflag=0; //清除按键按下标志
}
}while(1);
}
独立式按键的识别和编程都比较简单,只需把与按键 相连的I/O口线的状态读入到单片机内,如为高电平,则按 键没有按下;如为低电平,先延时10ms去抖,再读该I/O口 线的状态,若仍为低电平,则认为确实有键按下。
在上述几种独立式键盘电路中,各按键均采用了上 拉电阻,这是为了保证在按键断开时,各I/O口有确定 的高电平,当然如果输入口线内部已有上拉电阻,则 外电路的上拉电阻可省去。 独立式按键的识别和编程都比较简单,只需把与按键 相连的I/O口线的状态读入到单片机内,如为高电平, 则按键没有按下;如为低电平,先延时10ms去抖,再 读该I/O口线的状态,若仍为低电平,则认为确实有键 按下。
if(keyvalue==rekey)
{
keyflag=1; //有键按下,设置标志位为1

人机交互接口设计的理论与实践

人机交互接口设计的理论与实践

人机交互接口设计的理论与实践随着科技的不断发展,人机交互接口设计也越来越重要。

人们希望通过人机交互来获得更好的用户体验和更高效的交互方式。

本文将介绍人机交互接口设计的理论与实践。

一、人机交互接口设计的理论1.认知心理学认知心理学是研究人类认知的科学。

在人机交互接口设计中,设计者需要考虑许多人类认知的因素,如注意力、记忆、语言、知觉等等。

设计者需要利用认知心理学的原理来帮助用户更好地使用设计的交互接口。

2.人因工程学人因工程学是把人的问题纳入设计过程中的一门学科,旨在提高人们的工作效率和舒适度。

在人机交互接口设计中,人因工程学是至关重要的一环,因为设计者需要确保用户的操作在人类身体和大脑的极限范围内。

设计者需要考虑人类的力、视力、听力等因素,如此才能设计一种舒适而高效的交互界面。

3.信息架构信息架构是指设计者如何组织、分类和标记信息以便人们更好地理解和使用。

在人机交互接口设计中,信息架构非常重要。

如果信息架构混乱或不合理,用户将很难理解和使用程序。

4.用户界面设计用户界面设计指如何使用户与程序进行交互。

在设计用户界面时,需要考虑用户的需求、设计的目标以及程序所提供的功能和信息。

设计者还需要考虑如何简化用户的交互过程,以便用户更快,更准确地完成任务。

二、人机交互接口设计的实践1.提供清晰的用户反馈用户反馈是用户理解应用程序的关键。

交互接口应提供清晰的反馈,让用户知道他们的行动已经被理解和记录。

例如,当用户点击按钮时,应该有明显的变化,如文本变色或软件“响”。

2.使用有意义的图标和按钮图标和按钮应该是简单明了的,带有明确的意义。

使用标准符号并明确与用户任务相关联的信息,有助于用户更快地了解他们必须如何完成任务。

3.制定一致的界面标准设计界面时,应该遵循一致的界面标准。

这可以减少学习新任务的时间和麻烦,而且也有助于用户有一个更好的使用体验,并且可以更多地探索软件。

4.了解和尊重用户了解和尊重用户,尤其是他们的文化和工作环境,是人机交互接口设计的一个重要方面。

第8章 人机交互设备接口

第8章 人机交互设备接口

4. 字符显示原理
字符显示模式可分为两种,一种是文本模式下的字符显 示,另一种是图形模式下的字符显示。 1、文本模式下的字符显示 将屏幕划分成M行N列字符显示框,每个字符由若干 行和若干列的像素点构成。根据不同的显示模式,常用 的字符点阵有8×8、8×14、9×16三种。 每一种点阵构成的字符均包括256个字符的字模,每 个字模占32个字节。全部字模放在ROM中。 2、文本模式下字符的属性 屏幕上显示的每个字符均用两组数据来说明,第一组定 义显示字符的ASCII码,第二组定义显示字符的属性。
键盘的工作原理及键码识别 PC系列键盘及其接口电路

显示器接口
8.1 键盘接口技术

8.1.1 键盘的工作原理及键码识别 按键盘编码方式分类:分为编码键盘和非编码键盘。 编码式键盘是用硬件电路来识别按键代码的键盘。即 编码键盘是键盘电路在某个键被按下后,能提供该键 所代表的信息代码,并以并行或串行信号输给CPU。 非编码式键盘是用软件方式来识别按键代码的键盘。 即非编码键盘是一种便宜而广泛用于微机系统的输入 设备。这种键盘内部有一个扫描电路,不断地扫描键 盘是否有键被按下。此键所代表的键盘信息代码,则 由键盘接口及键盘处理软件根据键盘送来的位置信息 产生,然后再送给CPU。
前景闪烁或背景色亮度背景色前景色亮度前景色文本显示模式下第二个字节d7d3d6d4d2d0属性亮度0亮度1000黑灰001蓝浅蓝010绿浅绿011青淡青100红淡红101品红淡品红110褐黄111白亮白在屏幕的第2行第3列显示字符a并且为红底黄字
第8章 人机交互设备接口
主要内容

键盘接口技术

3. PC系列键盘扫描码



大多数键盘遵循三种基本设计中的一种。PC机(83键) 键盘,AT机(84键)键盘,以及增强(101键)键盘。 对于83键的标准键盘,由键盘扫描电路得到的接通扫 描码与键号相等,用1个字节表示,如A键的键号为30, 接通扫描码为1EH。断开扫描码也用1个字节表示, 其值为接通扫描码加80H,如A键按下后又松开,则 先输出1EH,后输出9EH。 例如A的键盘扫描码

第八章人机交互设备接口

第八章人机交互设备接口

第八章人机交互设备接口■本章内容8.1 键盘接口8.2 CRT显示器接口8.3 打印机接口8.4 鼠标器接口8.1 键盘接口●编码键盘:内部设有键盘编码器,能识键、生成键码、去抖动、防串键●非编码键盘:只提供键盘矩阵,按键的识别、键码的提供都由软件来完成1 键盘接口的功能和原理1)接口功能●去抖动:时间5~20ms,软件延时或硬件完成●防串键:多键同时按下或前一按键未释放又按下新键的处理●按键识别:●键码产生:得到反映键功能的键码,查表法2)接口原理——非编码键盘,行扫描,低有效●是否有键按下:输出扫描码,使所有行线为0,读列线,全1无键按下●去抖动:延时20ms●按键识别:逐行扫描确定按键(相应行线为0,读列线,是否非全1)并得键号●产生键码:根据键号查键盘编码表例:4 8键盘,8255A作接口,PA作行扫描口,PB读取列值方式字:82H设8255A地址300H~303H程序流程图SEGMENT DW n ;延时常数(使延时时间约20ms) DB ? ;存储按键的键号 ENDS…;8255A 初始化 MOV DX ,303H MOV AL ,82H OUT DX ,AL ;检测是否有键按下MOV DX ,300HMOV AL,0OUT DX,AL ;令所有行线为低电平 MOV DX,301HIN AL,DX ;读取列线值 CMP AL,0FFHJZ WAIT ;所有列线为高,无键按下 ;有键按下,延时去抖动 MOV CX,NUM LOOP DL Y;按键识别MOV AH,0FEH ;行扫描码初值MOV BL,4 ;行数 MOV BH,8 ;列数MOV CL,0FFH ;键号初值设为-1SCAN: DL Y: KEY: DATA DATA NUM BUFMOV DX,300HMOV AL,AHOUT DX,AL ;输出行扫描码 MOV DX,301HIN AL,DX ;读取列值 CMP AL,0FFHJNZ F_KEY ;找到按键,转去计算键号 ROL AH,1 ;修改扫描码ADD CL,BH ;按键,使键号取该行末列的键号值 DEC BLJNZ NEXT ;未扫完,进入下一行扫描 JMP SCANINC CLRCR AL,1 JC F_KEY MOV BUF,CL;根据键号查找键盘编码表,获取与键功能对应的键码F_KEY: NEXT :2. 可编程键盘/LED 接口芯片82791)外部特性(40脚)⇧ 面向CPU 的信号(15) D 0~7、CS 、RD 、WRA 0:端口选择,=0,数据口,=1,命令口或状态口 RESET :复位,高有效,复位后工作于16字符,左入口; 编码扫描键盘,双键互锁;时钟分频系数31IRQ :中断申请,高有效,通常键盘有数据输入请求时有效 CLK :时钟,为8279提供内部工作时钟 ⇧ 与键盘接口的信号(14)SL 0~3:扫描信号,扫描键盘及LED 显示器(既与键盘接口,也与LED 接口).由编程设定为编码输出或译码输出.编码扫描实现16选1;译码扫描实现4选1RL 0~7:回复信号,返回键盘矩阵或传感器阵列的列信号SHIFT :移位信号,入,高有效,键盘数据D6位,用于扩充键功能(上、下档功能键);传感器输入及选通输入中无效CNTL/STB :控制/选通信号,入,高有效,键盘输入中,是键盘数据D 7位,也用于扩充键功能,(作为控制功能键);选通输入方式,其上升沿将RL 0~7上的数据存入先入先出存储器(FIFO RAM) ⇧ 与LED 显示器接口的信号(专用9根) 除了SL 0~3外OUTA 0~3、OUTB 0~3:A 组、B 组显示数据输出,与SL 0~3同步,两组可独立使用或合并使用BD :显示消隐信号,出,低有效,显示消隐时,有效.(显示数据切换或执行消隐命令时,显示消隐)2)内部结构及各部分功能输入:扫描键盘、扫描传感器、选通输入方式输出:8段LED 显示器接口,8个或16个,左(右)入口8279的内部结构框图①I/O控制及数据缓冲器(I/O控制操作)②控制与定时寄存器及定时控制控制与定时寄存器:寄存键盘及显示器工作方式,完成控制功能定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(2~31),对CLK分频,获得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟③扫描计数器4位的计数器,有译码、编码两种方式,由编程设定译码方式:最低两位经译码,由SL0~3输出,作为键盘及显示器的扫描信号.(任何时刻,SL0~3只有一个信号有效,实现4选1)编码方式:计数器的状态由SL0~3直接输出,再经外部译码,才能作为扫描信号.(实现16选1)④恢复缓冲器、键盘去抖动及控制逻辑回复缓冲器:缓冲并锁存回复信号RL0~7的状态去抖动电路:实现对键盘输入的去抖动控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL0~7键盘输入方式,有键闭合时,去抖动电路被置位,延时10ms再检测,并将其位置信息与SHIFT、CNTL 的状态一起形成键盘数据,送入FIFO RAM传感器输入方式,RL0~7的状态直接送入传感器RAM(即FIFO RAM)选通输入方式,在CNTL/STB的上升沿将RL0~7状态送入FIFO RAM⑤FIFO/传感器RAM及其状态寄存器FIFO/传感器RAM:8×8位,键盘输入方式或选通输入方式作先入先出存储器(FIFO RAM);传感器输入方式被称为传感器RAM,存储传感器阵列中每个传感器的状态FIFO RAM的状态寄存器:键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态,FIFO RAM 不空时,会使IRQ变高;传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高⑥显示RAM及显示地址寄存器显示RAM:16×8位,存储字符的字形码,显示时,从OUTA0~3和OUTB0~3输出显示地址寄存器:显示RAM的内部地址, 可由命令直接设定,或设置为每次读/写后自动加1。

人机接口设计

人机接口设计

② BCD码拨盘的接口设计方法 a. 静态接口方法
+5V
由上述可知,BCD码可以直接与控 制微机的并行口或扩口相连,以 BCD码形式输入信息.右图示出了 BCD码拨盘与8031的P1口的接口电 路.从图中可以看出,每一片拨盘 占用4根I/O口线,8031可以通过P1 口直接读取拨盘数据. 当系统需要输入N位十进制数时, 可以选N片拨盘拼接,但如按上图 接法,需要占用4N根I/O口线.为 节省I/O口线,可采用动态接口方 法.
OFF ON
积分后 的输出
史密斯触 发器的输出
6
II. 拨盘输入接口设计
① BCD码拨盘的结构 BCD码结构如右图: 它由处于前面板的拨码盘和处于后侧 板的接线端组成.拨码盘由上下两个 拨盘按钮和夹在按钮中间的拨位数码 指示器组成.拨位数码指示器是可随 拨盘的拨动进行转动0~9十个数字,用 以显示拨码盘当前数值.上面的拨码 按钮为增量按钮,每按下一次,拨码盘 正相旋转1/10周,拨位数码指示器显示 的数值加1,连续按十次,数据将被还原; 下面的拨码按钮为减量按钮,每按下一 次,拨码盘反相旋转1/10周,拨位数码指 示器显示的数值减1.接线端向外引出 标有8,4,2,1,A的五个引脚.在实 际应用中,BCD拨码盘可以直接插入 BCD拨码盘插座中使用,也可以采取 从5个引脚上分别焊接引线的方式使用.
1
了解人机接口的类型及特点 掌握输入接口的几种典型类 型及设计方法 掌握输出接口的几种典型类 型及设计方法
2
一.人机接口类型及特点 一.人机接口类型及特点
人机接口是操作者与机电系统(主要是控制)之间进行信息 交换的接口. 按照信息传递的方式分为两大类: 通过输入接口向系统输入各种控制命令和参数,对 系统进行控制. 常用的输入设备:控制开关,拨码码盘,键盘等. 通过输出接口向操作者反映系统的各个状态和参数以 及结果等信息. 常用的输出设备:状态指示灯,发光二极管,液晶显示器,微型 打印机,阴极摄像管显示器,扬声器等.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

39 38 37 36 35 34 33 32
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12
21 22 23 24 25
P2.5/A13 26
P2.6/A14 27
P2.7/A15 28
P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13
程序中用到了外部中断。当没有键按下时,标志 keyflag=0,程序一直执行“do{ }while( )”循环。当有键按 下时,则74LS04的输出端产生低电平,向单片机的脚发出中断 请求信号,单片机响应中断,执行中断函数,在中断函数中把 keyflag置1,并得到键值。当执行完中断函数后,再进入 “do{ }while( )”循环,此时由于“if(keyflag)”中的 keyflag =1,则可根据键值keyvalue,执行 “switch(keyvalue)”分支语句,进行按下键的处理。
独立式按键的识别和编程都比较简单,只需把与按键相 连的I/O口线的状态读入到单片机内,如为高电平,则按键没 有按下;如为低电平,先延时10ms去抖,再读该I/O口线的状 态,若仍为低电平,则认为确实有键按下。
在上述几种独立式键盘电路中,各按键均采用了 上拉电阻,这是为了保证在按键断开时,各I/O口有确定 的高电平,当然如果输入口线内部已有上拉电阻,则外电 路的上拉电阻可省去。 独立式按键的识别和编程都比较简单,只需把与按键相连 的I/O口线的状态读入到单片机内,如为高电平,则按键 没有按下;如为低电平,先延时10ms去抖,再读该I/O口 线的状态,若仍为低电平,则认为确实有键按下。
IE=0x81; IP=0x01; keyflag=0; do { if(keyflag)
//中断允许设置 //中断优先级设置
//如果标志keyflag=1,则有12
{
keyvalue=~keyvalue; //键值取反
switch(keyvalue) //根据按下键的键值进行分
支跳转
{
case 1: ......;
if(keyvalue==rekey)
{
keyflag=1; //有键按下,设置标志位为1
}
IE=0x81;
//中断允许
}
void delay (unsigned int n) {
unsigned int i,j; for(i=0;i<n;i++)
for(j=0;j<125;j++) ; }
//延时n ms函数
case 16: ……;break; //处理K5键
case 32: ……;break; //处理K6键
case 64:……; break; //处理K7键
case 128:……; break; //处理K8键
default:
//无按下
键处理
break;
}
}
while(1);
11
【例8-2】 对于图8-2(b)所示的独立式键盘,编写中断方式
此外,还可以采用扩展的I/O口作为独立式按键接口电路 ,图8-3所示为采用82C55扩展的独立式键盘接口。
图8-3 82C55扩展的独立式键盘接口
在上述几种独立式键盘电路中,各按键均采用了上拉电 阻,这是为了保证在按键断开时,各I/O口有确定的高电平, 当然如果输入口线内部已有上拉电阻,则外电路的上拉电阻 可省去。
4
8.1.1 键盘的工作原理 1.按键的特性
键盘实质上是一组按键开关的集合,在单片机系统中 最常用的键盘是机械式按键键盘。如图8-1(a)所示,按键 开关的两端分别连接行线和列线,通过键盘开关机械触点的 断开、闭合,行线电压信号的输出波形如图8-1(b)所示。
按键在闭合或断开瞬间,触点由于机械弹性作用会出 现抖动现象,然后才能稳定。
6
8.1.2 键盘的接口电路 常用的键盘接口有两种:一种是独立式键盘接口,
另一种是矩阵式键盘接口。
1.独立式键盘接口 独立式键盘就是每个按键各接一根I/O输入线,所有
按键有一个公共地或公共正端,通过检测I/O输入线的电平 状态,可以很容易地判断哪个按键被按下,各个按键之间是 相互独立,互不影响的。
按下标志 }
}while(1);
case 32: ......; //处
break; case 64: ......; //处理
break; case 128: ......; //处理
default:
break;
break;
keyflag=0;
//清除按键
14
void int0( ) interrupt 0 {
//从P1口读入键盘状

keyvalue = ~keyvalue; //键盘状态取反
10
switch(keyvalue)
{
case 1: ……; break; //处理K1键
case 2: ……; break;
//处理K2键
case 4: ……; break;
//处理K3键
case 8: ……; break; //处理K4键
扫描法是常用的按键识别方法。可分两步进行:第 一步,识别键盘有无键按下;第二步,如有键被按下,识 别出具体的按键。
下面以图8-4(b)所示的键7被按下为例,说明扫描法识别此 键的过程。
第一步,识别键盘有无键按下。首先把所有的列线均置 为低电平,然后检查各行线电平是否都为高电平,如果不全为 高电平,则说明有键被按下,否则说明无键被按下。当键7按下 时,第二行线电平为低电平,但还不能确定是键7被按下,因为 如果同一行的键4、5或6之一被按下,行线也会呈现低电平。所 以,通过这一步只能得出第二行有键被按下的结论。
//处理K1键
break;
case 2: ......;
//处理K2键
break;
case 4: ......;
//处理K3键
break;
case 8: ......;
//处理K4键
break;
case 16: ......; //处理K5键
break;
13
理K6键
K7键
K8键
//无按下键处理 }
图8-4 矩阵键盘
(1)矩阵式键盘工作原理 按键设在行、列线交点上。行线通过上拉电阻接到
+5V上。无按键按下时,行线处于高电平状态;当有按键按 下时,行线电平状态将由与此行线相连的列线的电平决定。 列线的电平如果为低,则行线电平为低;列线的电平如果 为高,则行线的电平也为高,这一点是识别行列式键盘按 键是否按下的关键所在。由于行列式键盘中行、列线为多 键共用,各按键均影响该键所在行和列的电平,因此各按 键彼此将相互发生影响,所以必须将行、列线信号配合起 来并做适当的处理,才能确定闭合键的位置。 (2)按键的识别方法
的键盘处理程序。
C51参考程序如下:
#include<reg51.h>
bit keyflag;
//keyflag为有键按下
的标志位
unsigned char keyvalue;
//keyvalue为键值
void delay (unsigned int n);
//软件延时n ms函

void main(void) {
当按键数目较多时,独立式键盘接口电路需要的输 入口线较多,故该种键盘电路仅适用于按键数目较少的应用 系统。下面从实际应用的角度介绍几种独立式键盘的接口。
7
图8-2(a)所示为查询方式的独立式键盘接口电路,按键 直接与单片机的I/O口线相连,通过读I/O口,判断I/O口线的电 平状态,即可识别出按下的键。图8-2(b)所示为中断方式的独立 式键盘接口电路,只有在键盘有按键按下时,才进行处理,所以 实时性强,效率高。当键盘中有按键按下时, 8输入与非门 74LS30的输出经过74LS04反相后向单片机的中断请求输入引脚发 出低电平的中断请求信号,单片机响应中断后,在中断服务程序 中,对按下的键进行识别。
第8章 人机交互接口设计 1
8.1 键盘接口
8.1.1 键盘的工作原理
8.1.2 键盘的接口电路
8.1.3 键盘的工作方式
8.2 LED数码管显示器接口
8.2.1 LED数码管的结构
8.2.2 LED数码管的工作原理
8.3 键盘与LED数码管显示器接口综合设计实例
8.3.1 利用并行I/O芯片82C55实现的键盘/显示器 接口
unsigned char rekey; IE=0x80; keyflag=0; P1=0xff; keyvalue=P1; delay(10); rekey=P1;
//有键按下,进入中断函数
//屏蔽中断 //设置键按下标志位 //P1口锁存器置1 //从P1口读入键盘状态 //延时10ms去抖 //再次读取P1口状态
3
2
1
0
7
6
5
4
B
A

U1
19 XTAL1 18 XTAL2
9 RST
29 30
PSEN ALE
31 EA
1 P1.0 2 P1.1 3 P1.2 4 P1.3 5 P1.4 6 P1.5 7 P1.6 8 P1.7
80C51
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
编码键盘采用硬件方法完成键盘识别功能,每按下一 个键,键盘通过其编码电路自动产生一个编码信息,即键码。 这种键盘使用方便,但硬件较复杂,计算机所用键盘即为编码 键盘。非编码键盘是由软件完成键盘识别功能的,它利用一套 专用键盘编码程序来识别按键的位置,并转换成相应的编码信 息,形成键码。这种键盘硬件简单,广泛用于各种单片机应用 系统中。下面介绍主要非编码键盘的工作原理及其工作方式。
相关文档
最新文档