32
第第第 第第第第第第第第 第第第 第第第第第第第第 8.1 8.1 键键键键 键键键键 8.2 8.2 键键键键键键键键 键键键键键键键键

第八章 人机交互设备接口

  • Upload
    elie

  • View
    151

  • Download
    6

Embed Size (px)

DESCRIPTION

第八章 人机交互设备接口. 8.1 键盘接口 8.2 显示器及接口电路. 8.1 键盘接口. 1 、键盘分类: ( 1 )按组成键盘的按键的方式分:有机械式、电容式、导电橡胶式、薄膜式等多种 。 ( 2 )键盘按其功能的不同,通常可分成编码键盘和非编码键盘两种基本类型。. 2 .编码键盘 键盘本身带有实现接口主要功能所必需的硬件电 路。不仅能自动检测被按下的键,并完成去抖动、 防串键等功能,而且能提供与被按键功能对应的键 码 ( 如 ASCII 码 ) 送往 CPU 。 3 、 非编码键盘 键盘只简单地提供按键开关的行列矩阵。有关按键 - PowerPoint PPT Presentation

Citation preview

Page 1: 第八章  人机交互设备接口

第八章 人机交互设备接口第八章 人机交互设备接口8.18.1 键盘接口键盘接口8.28.2 显示器及接口电路显示器及接口电路

Page 2: 第八章  人机交互设备接口

8.1 8.1 键盘接口键盘接口

1 、键盘分类:( 1 )按组成键盘的按键的方式分:有机械式、

电容式、导电橡胶式、薄膜式等多种 。( 2 )键盘按其功能的不同,通常可分成编码键

盘和非编码键盘两种基本类型。

Page 3: 第八章  人机交互设备接口

22 .编码键盘 .编码键盘 键盘本身带有实现接口主要功能所必需的硬件电键盘本身带有实现接口主要功能所必需的硬件电路。不仅能自动检测被按下的键,并完成去抖动、路。不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键防串键等功能,而且能提供与被按键功能对应的键码码 (( 如如 ASCIIASCII 码码 )) 送往送往 CPUCPU 。。 33 、、非编码键盘非编码键盘 键盘只简单地提供按键开关的行列矩阵。有关按键键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软的识别、键码的确定与输入、去抖动等功能均由软件完成。件完成。

Page 4: 第八章  人机交互设备接口

一、按键的结构与特点一、按键的结构与特点在微机中运用的按键在微机中运用的按键 ,, 通常仅需提供逻辑的通与断通常仅需提供逻辑的通与断 ,,其机械结构往往是比较简单的其机械结构往往是比较简单的 ,, 构成形式可如下图所构成形式可如下图所示。示。

+5V

VX

Page 5: 第八章  人机交互设备接口

二、键盘接口的功能和原理二、键盘接口的功能和原理 下面以机械式触点按键组成的非编码键盘为例,对下面以机械式触点按键组成的非编码键盘为例,对

键盘接口功能和原理进行介绍。键盘接口功能和原理进行介绍。 11 、接口功能、接口功能 键盘接口必须具有去抖动、防串键、按键识别和键键盘接口必须具有去抖动、防串键、按键识别和键

码产生码产生 44 个基本功能。个基本功能。

Page 6: 第八章  人机交互设备接口

(1).(1). 抖动:机械式按键在压键时在触点可靠地接通抖动:机械式按键在压键时在触点可靠地接通前前

多次通断多次通断

Page 7: 第八章  人机交互设备接口

防抖动:有硬件、有软件 防抖动:有硬件、有软件 软件防抖动通过软件延时软件防抖动通过软件延时 (10ms)(10ms)硬件防抖动使用硬件防抖动使用 RSRS 触发器触发器

U0 无抖动

Page 8: 第八章  人机交互设备接口

(2).(2). 串键:多键同时按下或一键没按下又有新键按串键:多键同时按下或一键没按下又有新键按下下

解决方法: 双键锁定 、解决方法: 双键锁定 、 NN 键巡回键巡回①① 双键锁定:当检测到有两个或两个以上的键被按双键锁定:当检测到有两个或两个以上的键被按

下时,只把最后释放的键当作有效键,并产生相下时,只把最后释放的键当作有效键,并产生相应键码。应键码。

②②NN 键轮回:当检测到有多个键被按下时,能根据键轮回:当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。发现它们的顺序依次产生相应键的键码。

Page 9: 第八章  人机交互设备接口

(3).(3). 按键识别:行扫描法、线反转法按键识别:行扫描法、线反转法①① 行扫描法:该方法的基本思想是,由程序对键盘行扫描法:该方法的基本思想是,由程序对键盘进行逐行扫描,通过检测到的列输出状态来确定闭进行逐行扫描,通过检测到的列输出状态来确定闭合键。为此,需要设置输入口、输出口各一个。合键。为此,需要设置输入口、输出口各一个。②② 线反转法:该方法的基本思想是通过行列颠倒两线反转法:该方法的基本思想是通过行列颠倒两次扫描来识别闭合键。为此,需要提供两个可编程次扫描来识别闭合键。为此,需要提供两个可编程的双向输入/输出端口。的双向输入/输出端口。(4).(4). 键码产生键码产生

Page 10: 第八章  人机交互设备接口

例如,假定有一个例如,假定有一个 4×44×4 的矩阵键盘通过并行接口芯的矩阵键盘通过并行接口芯片片 8255A8255A 与微机相连。与微机相连。 8255A8255A 的的 AA 口定义为输出口定义为输出

口,与口,与键盘行线相连;键盘行线相连; BB 口定义为输入口,与键盘列线相口定义为输入口,与键盘列线相连。 连。 设设 8255A8255A 口地址为口地址为 40H40H ,, BB 口地址为口地址为 41H41H ,控制,控制

寄存器寄存器地址为地址为 43H43H 。。

Page 11: 第八章  人机交互设备接口

+5V

0 1 2 34 5 6 78 9 A B

C D E FPA3PA2PA1PA0

PB0PB1PB2PB3

CPU

8255

行扫描法键值 =首列键号 +列号

键盘接口

Page 12: 第八章  人机交互设备接口

键盘扫描一般步骤:键盘扫描一般步骤:• 判断是否有键按下(行全部清判断是否有键按下(行全部清 00 ,读列值是否有,读列值是否有

00 ))• 若有键按下,消除抖动,确认有键按下?若有键按下,消除抖动,确认有键按下?• 对压下键进行编码(扫描、查表)对压下键进行编码(扫描、查表)• 进行键处理进行键处理• 键释放,返回第二步键释放,返回第二步

Page 13: 第八章  人机交互设备接口

MOV AL,82H ROL ALMOV AL,82H ROL AL OUT 43H,AL MOV AH,AL OUT 43H,AL MOV AH,AL BEGIN:MOV AL,0 IN AL,41HBEGIN:MOV AL,0 IN AL,41H OUT 40,AL AND AL,CLOUT 40,AL AND AL,CLWAIT: IN AL,41H CMP AL,CLWAIT: IN AL,41H CMP AL,CL AND AL,0FH JNZ L2AND AL,0FH JNZ L2 CMP AL,0FH ADD CH,BHCMP AL,0FH ADD CH,BH JZ WAIT MOV AL,AHJZ WAIT MOV AL,AH MOV CX,7FFH DEC BL MOV CX,7FFH DEC BL LO: LOOP LO JNZ L1 LO: LOOP LO JNZ L1 ST: MOV BL,04H JMP BEGINST: MOV BL,04H JMP BEGIN MOV BH,04H L2: INC CHMOV BH,04H L2: INC CH MOV AL,0FEH RCR ALMOV AL,0FEH RCR AL MOV CL,0FH JC L2MOV CL,0FH JC L2 MOV CH,0FFH MOV AL,CHMOV CH,0FFH MOV AL,CHL1: OUT 40H,AL JMP LEYTABLEL1: OUT 40H,AL JMP LEYTABLE

Page 14: 第八章  人机交互设备接口

+5V

8255

PA3

PA2

PA1

PA0

PB4 PB5 PB6 PB7 PB0 PB1 PB2 PB3

0 1 2 34 5 6 78 9 A B

C D E F

线反转法 键 0的编码 =11101110

键 1的编码 =11101101

Page 15: 第八章  人机交互设备接口

三、三、 PCPC 微机键盘及接口微机键盘及接口11 、、 PCPC 微机键盘特点微机键盘特点PCPC 微机常用的键盘有微机常用的键盘有 101101 键的增强型键盘和键的增强型键盘和 102102 键的键的扩展键盘。不论键数的多少均具有如下特点:扩展键盘。不论键数的多少均具有如下特点:①① 键盘由单片机、译码器和键盘由单片机、译码器和 1616行行 X 8X 8 列的键开关矩阵列的键开关矩阵三大部分组成。三大部分组成。②② 按键采用电容开关,即按键时的上下动作使电容按键采用电容开关,即按键时的上下动作使电容量发生变化,从而实现开关接通或断开的目的。量发生变化,从而实现开关接通或断开的目的。

Page 16: 第八章  人机交互设备接口

③③它是一种由单片机扫描、编码的智能化键盘。它是一种由单片机扫描、编码的智能化键盘。但但是,它不能直接提供与键功能对应的键值或键码,是,它不能直接提供与键功能对应的键值或键码,必须由主机在键处理必须由主机在键处理程序中将键盘提供的扫描码程序中将键盘提供的扫描码转换为反映键功能的转换为反映键功能的 ASCIIASCII 码。码。④④它是一个与主机箱分开的独立部件,通过一根五它是一个与主机箱分开的独立部件,通过一根五芯电缆与主机相连接。芯电缆与主机相连接。

Page 17: 第八章  人机交互设备接口

2.PC2.PC 微机键盘的功能微机键盘的功能①① 串行接受键盘送来的扫描码,完成串并转换后保串行接受键盘送来的扫描码,完成串并转换后保

存存②②收妥一个键盘扫描码后,立即产生一个中断请求收妥一个键盘扫描码后,立即产生一个中断请求信号信号③③保存的扫描码可供保存的扫描码可供 CPUCPU 读取,并通过软件进行相读取,并通过软件进行相

应转换处理应转换处理④④接受接受 CPUCPU 的命令,输出到键盘,并接受键盘回送的命令,输出到键盘,并接受键盘回送

的响应信号的响应信号

Page 18: 第八章  人机交互设备接口

SE DS S/P D0 DI OE CLR

CLK G

D CLR R

D CLR R

Q

PCLKRESET

CLK DATA

RESET GND

+5V

PB7

PB6

D CLK CLR PR

Q

Q

Q

1+5V

IRQ1

OA OB

OH

OH

PA7PA6

PA0

+5V

微机键盘接口电路

Page 19: 第八章  人机交互设备接口

LS 322 LS 322 串并转换电路串并转换电路DI DI 串行输入,和接口中串行输入,和接口中 DATADATA 连接连接OA~OH OA~OH 并行输出,和并行输出,和 82558255 的的 PA0~PA7PA0~PA7 连接,连接,

供供 CPUCPU 读取读取OHOH 是中断源,通过中断请求触发器连是中断源,通过中断请求触发器连 82598259 的的 IRIR

Q1Q1 ,作为向,作为向 CPUCPU 提出申请的中断源提出申请的中断源PB7 PB7 允许读取扫描码(为允许读取扫描码(为 00 ),清除中断请求信号),清除中断请求信号

(高到低跳变)(高到低跳变)PB6 PB6 为为 11 该接口电路能工作该接口电路能工作接口中的接口中的 CLKCLK经过两级同步和经过两级同步和 LS322LS322 的的 CLKCLK 相连相连。。

Page 20: 第八章  人机交互设备接口

工作原理:工作原理:• 当当 PB7PB7 和和 IRQ1IRQ1 为为 00 时,时, LS322LS322 接受串接受串

行数据(行数据( DATADATA ),实现串并转换。),实现串并转换。• 收到收到 88 位扫描码,位扫描码, LS322LS322 的的 OHOH 为为 11 ,,

使得使得 IRQ1IRQ1 有效,向有效,向 CPUCPU 提出中断申请,提出中断申请,同时中断请求触发器的同时中断请求触发器的 QQ 端输出端输出 00 ,使,使DI DI 为为 00 ,通知接口暂时不送扫描码。,通知接口暂时不送扫描码。

• CPUCPU 接受到中断请求信号,通过接受到中断请求信号,通过 82558255的的 AA 口读取数据,并使口读取数据,并使 PB7PB7 产生产生 11 到到 00跳变,清除跳变,清除 LS322LS322 和中断请求触发器。和中断请求触发器。

Page 21: 第八章  人机交互设备接口

82558255 初始化初始化 MOV ALMOV AL ,, 99H99H ;模式;模式 0,A0,A 口、口、 CC 口口

输入输入 OUT 63HOUT 63H ,, AL AL ;; BB 口输出口输出 MOV ALMOV AL ,, 80H 80H ;; PB7=1PB7=1 OUT 61HOUT 61H ,, ALAL MOV ALMOV AL ,, 40H 40H ;; PB7=0PB7=0 ,, PB6=1PB6=1 OUT 61HOUT 61H ,, ALAL

Page 22: 第八章  人机交互设备接口

IRQ1IRQ1 中断服务程序中断服务程序 IN ALIN AL ,, 60H60H PUSH AXPUSH AX IN ALIN AL ,, 61H61H MOV AHMOV AH ,, ALAL OR ALOR AL ,, 80H 80H OUT 61HOUT 61H ,, ALAL XCHG AHXCHG AH ,, ALAL OUT 61HOUT 61H ,, ALAL POP AX POP AX MOV AHMOV AH ,, AL AL ;; AHAH 为键扫描码为键扫描码

Page 23: 第八章  人机交互设备接口

PCPC 微机键盘微机键盘硬中断 中断号为硬中断 中断号为 09H09H软中断 中断号为软中断 中断号为 16H16H (( p308 p308 表表 11.311.3 ))

Page 24: 第八章  人机交互设备接口

8.2 8.2 显示器及接口电路显示器及接口电路常用的显示器有常用的显示器有 LEDLED 显示器、液晶显示器、显示器、液晶显示器、 CRTCRT

显显示器示器LEDLED 显示器有显示器有 77段、米字型段、米字型

Page 25: 第八章  人机交互设备接口

各个各个 LEDLED可按共阳极或共阴极连接可按共阳极或共阴极连接 ,, 如图下所示。如图下所示。它们应分别用不同的段码它们应分别用不同的段码 ,, 经不同的驱动电路来经不同的驱动电路来驱动。驱动。

对于共阳极显示器对于共阳极显示器 ,, 其段驱动电路的输出为低电平其段驱动电路的输出为低电平时,该段的时,该段的 LEDLED 导通并点亮导通并点亮 ,, 段驱动电路应能吸段驱动电路应能吸收额定的段导通电流。收额定的段导通电流。

在共阴极显示器的情况下,其段驱动电路的输出在共阴极显示器的情况下,其段驱动电路的输出为高电平时,该段的为高电平时,该段的 LEDLED 导通并点亮导通并点亮 ,, 段驱动电段驱动电路应能供给额定的段导通电流。 路应能供给额定的段导通电流。

Page 26: 第八章  人机交互设备接口

ABCD

abcdefg

+5v

段码输入

译码 /驱动器 74LS247

共阳显示

ABCD

abcdefg

段码输入

共阴显示

译码 /驱动器 74LS249

Page 27: 第八章  人机交互设备接口

七段七段 LEDLED 显示接口显示接口• 动态:各个显示器对应的段码接同一动态:各个显示器对应的段码接同一 I/OI/O

口,灯位控制端由不同口,灯位控制端由不同 I/OI/O 口控制。口控制。• 静态:各个显示器的段码由不同的静态:各个显示器的段码由不同的 I/OI/O 控控

制,灯位控制端接成固定电平。制,灯位控制端接成固定电平。

Page 28: 第八章  人机交互设备接口

静态接口静态接口

ABCD

abcdefg

+5v

段码输入

译码 /驱动器 74LS247

共阳静态显示

ABCD

abcdefg

段码输入

+5V

共阴静态显示

译码 /驱动器 74LS249

Page 29: 第八章  人机交互设备接口

动态接口动态接口

ABCD

abcdefg

七段显示器

2 8

段码输出

灯位控制

I/O口

Page 30: 第八章  人机交互设备接口

段码的转换:段码的转换:• 软件译码软件译码• 专用接口芯片专用接口芯片

Page 31: 第八章  人机交互设备接口

软件译码软件译码把把 0~90~9 的十进制数转换成七段码的十进制数转换成七段码TABLE DB 40HTABLE DB 40H ,, 79H79H ,, 24H24H ,, 30H30H ,, 19H19H DB 12HDB 12H ,, 02H02H ,, 78H78H ,, 00H00H ,, 18H18H

MOV ALMOV AL ,, 55 MOV BXMOV BX ,, OFSET TABLEOFSET TABLE XLAT TABLEXLAT TABLE

Page 32: 第八章  人机交互设备接口

显示原理显示原理静态显示:把要显示的数的段码送相应的静态显示:把要显示的数的段码送相应的I/OI/O 口,不需要动态扫描口,不需要动态扫描动态显示:选择第一个要显示的动态显示:选择第一个要显示的 LEDLED 灯灯位,送出该灯位对应的段码,延时位,送出该灯位对应的段码,延时 1MS1MS ,,选择第二个要显示的选择第二个要显示的 LEDLED 灯位,送出该灯灯位,送出该灯位对应的段码,延时位对应的段码,延时 1MS1MS ,依次类推。动,依次类推。动态显示需要不断扫描。态显示需要不断扫描。