第八章人机交互设备接口

时间:2022-07-11 14:57:07 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
第八章 人机交互设备接口

本章内容



8.1 键盘接口 8.2 CRT显示器接口 8.3 打印机接口 8.4 鼠标器接口

8.1 键盘接口

编码键盘:内部设有键盘编码器,能识键、生成键码、去抖动、防串键 非编码键盘:只提供键盘矩阵,按键的识别、键码的提供都由软件来完成 1 键盘接口的功能和原理 1)接口功能

去抖动:时间520ms,软件延时或硬件完成

防串键:多键同时按下或前一按键未释放又按下新键的处理 按键识别:

键码产生:得到反映键功能的键码,查表法 2)接口原理——非编码键盘,行扫描,低有效

是否有键按下:输出扫描码,使所有行线为0,读列线,1无键按下 去抖动:延时20ms

按键识别:逐行扫描确定按键(相应行线为0,读列线,是否非全1)并得键号 产生键码:根据键号查键盘编码表

48键盘,8255A作接口,PA作行扫描口,PB读取列值

8255A

PA0 PA1

7 F

6 E

5 D

4 C

3 B

2 A

1 9

0 8

+5V




8255APA方式0、输出 PB方式0、输入

方式字:82H 8255A地址300H303H 程序流程图

8255A初始化

置所有行线为低电平



读取列线值

是否有键按下?

N

Y

延时,去抖动 行扫描码初值→AH 置行数、列数、键号初值

输出行扫描码 读取列值

当前行有键按下?

Y N

键号+1 修改行扫描码

列值右移

N

所有行扫描完?

N

Y

移出位为0

Y

已得到键号

行扫描法程序流程图




DATA SEGMENT NUM DW n ;延时常数(使延时时间约20ms) BUF

DB ? ;存储按键的键号 DATA ENDS



;8255A初始化 MOV DX303H MOV AL82H OUT DXAL ;















SCAN: MOV DX300H

MOV AL,0

OUT DX,AL ;令所有行线为低电平 MOV DX,301H

IN AL,DX ;读取列线值 CMP AL,0FFH

JZ WAIT ;所有列线为高,无键按下 ;有键按下,延时去抖动 MOV CX,NUM DLY: LOOP DLY

;







KEY: MOV AH,0FEH ;行扫描码初值

MOV BL,4 ;行数 MOV BH,8 ;列数

MOV CL,0FFH ;键号初值设为-1

MOV DX,300H

NEXTMOV AL,AH

: OUT DX,AL ;输出行扫描码 MOV DX,301H

IN AL,DX ;读取列值 CMP AL,0FFH

JNZ F_KEY ;找到按键,转去计算键号 ROL AH,1 ;修改扫描码

ADD CL,BH ;按键,使键号取该行末列的键号值 DEC BL

JNZ NEXT ;未扫完,进入下一行扫描 JMP SCAN

F_KEY: INC CL

RCR AL,1 JC F_KEY MOV BUF,CL

;根据键号查找键盘编码表,获取与键功能对应的键码








输入:扫描键盘、扫描传感器、选通输入方式

2. 可编程键盘/LED接口芯片8279

输出:8LED显示器接口,8个或16,()入口



1)外部特性(40)

面向CPU的信号(15) D07CSRDWR

A0:端口选择,=0,数据口,=1,命令口或状态口 RESET:复位,高有效,复位后工作于16字符,左入口; 编码扫描键盘,双键互锁;时钟分频系数31

IRQ:中断申请,高有效,通常键盘有数据输入请求时有效 CLK:时钟,8279提供内部工作时钟 与键盘接口的信号(14)

SL03:扫描信号,扫描键盘及LED显示器(既与键盘接口,也与LED接口).由编程设定为编码输出或

译码输出.编码扫描实现161;译码扫描实现41

RL07:回复信号,返回键盘矩阵或传感器阵列的列信号SHIFT:移位信号,,高有效,键盘数据D6

,用于扩充键功能(上、下档功能键);传感器输入及选通输入中无效

CNTL/STB:控制/选通信号,,高有效,键盘输入中,是键盘数据D7,也用于扩充键功能,(作为控制

功能键);选通输入方式,其上升沿将RL07上的数据存入先入先出存储器(FIFO RAM) LED显示器接口的信号(专用9) 除了SL03

OUTA03OUTB03A组、B组显示数据输出,SL03同步,两组可独立使用或合并使用

BD:显示消隐信号,,低有效,显示消隐时,有效.(显示数据切换或执行消隐命令时,显示消隐)

2)内部结构及各部分功能




片内总线

D07

CLK RESET

数据缓冲器

WR

CS A RD 0

I/O控制器

IRQ

FIFO RAM状态寄存器



I/O控制及数据缓冲器 I/O控制操作)

CS

WR

RD

显示RAM地址寄存器

16×8 显示RAM

控制与定时寄存器

8×8 FIFO RAM

键盘去抖动与控制

显示寄存器 OUTA03

OUTB03

定时控制 扫描计数器 回复缓冲器 RL07

BD

SL03

8279的内部结构框图

CNTL/STB

SHIFT



A0 0 1 0 1

写显示RAM 写命令字

FIFO RAM或显示RAM

读状态字

0 0 0 0

0 0 1 1

1 1 0 0

控制与定时寄存器及定时控制

控制与定时寄存器:寄存键盘及显示器工作方式,完成控制功能

定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(231), CLK分频,

得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟

扫描计数器

4位的计数器,有译码、编码两种方式,由编程设定

译码方式:最低两位经译码,SL03输出,作为键盘及显示器的扫描信号.(任何时刻,SL03只有一个

信号有效,实现41)

编码方式:计数器的状态由SL03直接输出,再经外部译码,才能作为扫描信号.(实现161) 恢复缓冲器、键盘去抖动及控制逻辑 回复缓冲器:缓冲并锁存回复信号RL07的状态 去抖动电路:实现对键盘输入的去抖动


控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL07

键盘输入方式,有键闭合时,去抖动电路被置位,延时10ms再检测,并将其位置信息与SHIFTCNTL的状态一起形成键盘数据,送入FIFO RAM

传感器输入方式,RL07的状态直接送入传感器RAM(FIFO RAM) 选通输入方式,CNTL/STB的上升沿将RL07状态送入FIFO RAM FIFO/传感器RAM及其状态寄存器

FIFO/传感器RAM:8×8,键盘输入方式或选通输入方式作先入先出存储器(FIFO RAM);传感器输入方式被称为传感器RAM,存储传感器阵列中每个传感器的状态

FIFO RAM的状态寄存器:键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态,FIFO RAM不空时,会使IRQ变高;传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高

显示RAM及显示地址寄存器

显示RAM:16×8,存储字符的字形码,显示时,OUTA03OUTB03输出

显示地址寄存器:显示RAM的内部地址, 可由命令直接设定,或设置为每次读/写后自动加1 输出端与显示单元中各位的对应关系:

D7

D6

D5

D4

D3

D2

D1

D0

CUTA3 CUTA2 CUTA1 CUTA0 CUTB3 CUTB2 CUTB1 CUTB0

(最多88键盘,扩充后可达644键定义,针对键盘数据格式)

键盘数据格式

CNTL SHFT 2个独立开关

3)工作方式

数据输入方式——键盘输入(键扫描)、传感器扫描、选通输入

键扫描:按下一个键时,形成键盘数据,送入FIFO RAM,并产生IRQ(数据读出后撤除)

传感器扫描:FIFO RAM8个单元用于寄存传感器的现时状态,又称传感器RAM,地址编号与扫

描线顺序一致,传感器阵列(最多为8×8)中某一位状态发生变化时,产生IRQ

选通输入:8255A通输入端口的功能完全一样,CNTL/STB作为选通信号,上升沿锁存RL07

FIFO RAM

显示输出方式——8字符左入口、16字符左入口、8字符右入口、16字符右入口

左入口:显示器位置编号与显示RAM地址一一对应(0号单元显示在0号显示器上),显示时从最左

SL2

SL1

SL0

R2

R1

R0

扫描码,键所在行编码,

计数器低3

回复码,键列线 RL07)编码


位开始

右入口(计算器显示方式):最高位从最右边显示器进入,以后逐次左移 4)命令字(8,D07特征位)

设置工作方式

设置分频系数

0 0 1 P 特征位

分频目的:得到100KHz的基本工作时钟

设置读FIFO/传感器RAM的地址

0

1

0

AI 增量



A2

A1

A0

P

P

P

P

00:8字符,左入口 01:16字符,左入口 10:8字符,右入口 11:16字符,右入口

00:键盘,双键锁定 01:键盘,N键轮回 10:传感器扫描 11:选通输入

0:编码扫描 1:译码扫描

0

0

0

D1

D0

K2

K1

K0 扫描方式

特征位 显示方式 输入方式

分频系数N23

特征位

FIFO RAM 地址

0:读出后地址不变 1:每次读出地址自动加1

键盘方式无效,0


设置读显示RAM的地址

0:读出后地址不变 1:每次读出地址自动加1

设置写显示RAM的地址

0:写入后地址不变 1:每次写入地址自动加1

禁写显示RAM/消隐命令

清除命令

1

1

0

CD2 清除显示RAM

CD1

CD0

CF

FIFO RAM

CA 总清除

1:相应显示RAM禁止写入

1

0

1

无效

IWA A禁写

IWB B 禁写

BLA A消隐

BLB B 消隐

特征位 1

0

0

AI 增量

A3

A2

A1

A0

0

1

1

AI 增量

A3

A

A

A

特征位 显示RAM地址

特征位 显示RAM地址

特征位

清除显示RAM

的方式

CD2=1CA=1

有效 0:0

10:置成20H 11:置成全1 结束中断/设置错误方式

FIFO RAM 并复位IRQ FIFO RAM显示RAM



1 1 1



E

特征位 无效

键盘N键轮回方式,发现多键同时按下,置状 态位S/E,产生中断并阻止写入FIFO RAM


5)状态字(指示FIFO RAM中字符数及是否有错误)

DU S/E

O

U

F

N2 N1 N0

DU:显示无效标志,由命令清除显示RAM时置1 S/E:键盘输入方式下作特殊错误标志,=1:多键同时按下 O:溢出标志,向已满的FIFO RAM写时置1 U:不足标志,从已空的FIFO RAM读时置1 N2N1N0:FIFO RAM中字符的个数

68279芯片应用举例

TP86A单板机系统,8279管理3×8的矩阵键盘和88段共阳极数码显示器,8279的地址为0FFF8H0FFFAH8279的工作方式设置为:编码扫描键盘输入,双键互锁;8字符,左入口外接时钟频率2.5MHz,分频系数25 要求:在显示器上显示03.12.25

键盘:查询方式检测键盘,有键按下,将键盘数据存入KEY_DATA单元

SEGTAB DATA

数据段各单元定义 SEGMENT

;依次存储0F及小数点的共阴极段码 DB 3FH,06H,5BH,4FH,66H,6DH,7DH DB 07H,7FH,6FH,77H,7CH,39H,5EH DB 79H,71H,80H ;显示字符存储区

DISPMEM DB 00H,03H,10H,01H,02H,10H,02H,05H KEY_DATA DB

ENDS DATA

3×8矩阵键盘 TP86A

8279 D07 RESET RD WR CLK A0 CS SHIFT CNTL

OUTA03

RL0

OUTB03

SL0 SL1 SL2 SL3

译码器 74LS45 A B C D

Y0 Y1



+5V

74LS06 段驱动器



Y7



RL7



A B C Y0 Y1 Y2

译码器 74LS138

TP86A单板机键盘显示接口电路原理图




程序段



3. PC微机键盘及接口

PC机键盘与主机独立,通过一根5芯电缆与主机箱相连,PS/2接口、USB接口等 PC机键盘组成:单片机、译码器和键盘矩阵,101个按键组成16行×8列的键盘开关矩阵 键盘接口的功能

串行接收键盘送来的扫描码,转换成并行数据并保存 收到一个键的扫描码后产生中断请求

接收CPU的命令,输出到键盘;接收键盘的响应信号

; 字形码送入显示RAM

LEA SI,DISPMEM7;指向最右端字符 MOV BH,0 ;查表位移量高位清0 MOV CX,8 ;字符个数 MOV DX,0FFFAH MOV AL,00H

OUT DX,AL ;显示方式:8字符,左入口 MOV AL,39H

OUT DX,AL ;分频系数=25 MOV AL,90H

OUT DX,AL ;写显示RAM首址0,自动递增

NEXTMOV DX,0FFF8H

MOV BL,[SI] ;取字符值,作查表位移量 MOV AL,SEGTAB[BX];取显示字符的字形码 OUT DX,AL ;字形码写入显示RAM DEC SI ;修改地址指针 LOOP NEXT



;查询是否有键按下,若有,将键盘数据存入内存

MOV DX,0FFFAH

WAITIN AL,DX

AND AL,07H ;FIFO RAM的状态字 JZ WAIT ;无键按下,继续检测

MOV AL,40H

OUT DX,AL ;有键按下,设置读FIFO RAM MOV DX,0FFF8H

IN AL,DX ;读取键盘数据 MOV KEY_DATA,AL ;存储键盘数据




CLKOUT

CLOCK

20k

5V DATA

DATAOUT 20k

8048 P21 XTAL1 P10 P22 P11



L

C1

PC键盘

XTAL2 DB06 P20

T1 RESET

C2 计数值 选通 键按下

译码器

键开关 阵列

5V

五芯电缆

PCK LS175 D Q CP CLR

5V

LS175 D Q CP Q CLR

LS322

QA DI

QB

PA7 PA6

主机箱

键盘 缓冲区RAM ASCII 扫描码

8088 INTR

……

LS04

……

CLOCK 5V

DO

SE DS S/P LS74 D Q CK Q CLR

QH G

QH OE CLR

PA0 PB7 D07 PB6 8255A

RESETDRV LS125

IRQ1

8259A

PC键盘的接口电路原理图



接口电路的组成

单片机8048及键盘矩阵组成的智能化键盘,独立于主机

串并转换器74LS322、并行接口芯片8255A和中断触发器组成,在主机箱内

单片机8048:完成对键盘的扫描、编码工作,利用内部的计数器对键盘矩阵扫描,形成按键的扫描码

(即行列位置码),再通过串行口送出

5芯电缆:除了来自于主机的电源、地和复位信号外,还有两根双向信号线DATACLOCK,分别

用于传输数据和时钟信号

CPU响应键盘的硬件中断,在中断服务程序中,8255APA口可以读到键盘扫描码

8.2 CRT显示器接口

1. 概述

CRT(Cathode Ray Tube,阴极射线管)显示器


字符终端



2. CRT显示器原理

CRT显示器组成——电子枪、偏转板和荧光屏 按功能分

图形终端

按显示色彩分

单色 彩色

显示原理:由电子枪把电子束打到涂有一层磷光材料的显示屏上;电子束穿过一连串强磁场,发生

偏转打在显示屏的不同位置上,使得磷光材料暂时性地发亮.每个点代表一个像素,控制电子束的电压,就能调整每个点的明暗

:一个或多个,位于CRT的最底端,发射高速电子束.单色显示器只有一个,只能发一个电子

;彩色显示器有红(R)、绿(G)、蓝(B)三个电子枪,能发三束电子 偏转板:分为水平偏转板和垂直偏转板,分别控制电子束打向荧光屏的水平方向和垂直方向

微机系统中,采用光栅扫描技术

电子束的强弱由视频信号(0”或“1)控制;扫描发生器产生水平扫描和垂直扫描信号,分别加到显示器的水平和垂直偏转线圈上,以确定电子束射到荧光屏上的位置



扫描开始

水平回扫



3. CRT显示器接口

垂直回扫

CRT的光栅扫描过程



接口电路组成:显示缓冲器RAM、字符发生器、CRT控制器、移位寄存器、视频信号合成器 字符发生器:将字符的ASCII码转换成点阵信号,控制电子束的强弱

就是字符点阵代码存储器——以ASCII码为高位地址、是以扫描行地址为低位地址的只读存储器ROM

显示RAM(VRAM):存储要显示的信息

字符显示方式中,存储字符码(ASCII)和显示属性码,一个字符窗口对应VRAM中的两个单元,地址单元存储字符码;奇地址单元存储属性码

图形显示方式中,存储整幅屏幕的点阵图(:每个点的明暗状态及色彩)

相当于ROM 的高位地址

ASCII

A9 A8 A7 A6 A5 A4 A

0

1 2

字符ROM





O4 O3 O2 O1 O0

线

127

……

128×5×7






5×7字符点阵

线选地址

ASC

RS2 RS1 RS10 0 0 0 1

42H

1 1 1 0

0 1 1 0

1 0 1 0











1 1 1 0

0 0 1 0

0 0 1 0

0 0 1 0

1 1 0 0A

0 1 1 0

1 0 1 0











1 1 1 1

7点阵

Q4Q3Q2Q1Q0 1 0 0 1

1 0 0 1

1 0 0 1

0 1 1 0

输出码

显示字符时,不是扫描显示出一个完整的字符后再扫描显示下一个字符,而是同时扫描显示一个字符行中的所有字符

N2

N1

b76 b54 b32 0 1 2

b10



点列向

显示存储器

图形显示方式示意图

屏幕




图形的显示:显示RAM中的点信息与屏幕上点相对应图形显示方式,不需要字符发生器,存储器中

的点信息直接变成串行数据输出

显示字符时,不是扫描显示出一个完整的字符后再扫描显示下一个字符,而是同时扫描显示一个字符行中的所有字符

移位寄存器和视频信号合成器

移位寄存器:并行线代码转换成串行数据送往视频输出电路

视频信号合成器:把字符、图形的点阵信息与水平同步信号、垂直同步信号、消隐信号合成为一

种复合的视频信号

CRT控制器:CRT接口的核心部件

主要功能

提供读显示RAM的招描地址和屏幕显示的扫描地址









水平同步、垂直同步、消隐信号 锁存器的锁存信号

移位寄存器的串行移位信号(打点时钟)

提供时序控制信号

8.3 打印机接口

1. 打印机的结构及各部分功能——针式打印机



DB0~DB7

ACK BUSY

状态 输出 电路 控制 信号

字符 发生器 ROM 字符 缓冲器 ROM +36V +5V

从微 处理

走纸机构 字车电机

数据 缓冲器

内部 数据总线

主微 控制器

I/O 接口 电路

DIP开关 面板

STB

驱动 电路

打印头

接收

Vcc

电源电路

GND

1)打印机构

针式打印机由打印头、字车、色带、电磁传动机构、走纸机构、检测器组成


打印头由电磁机构和打印针组成,功能是将字符数据转换成电磁信号 字车由打印头架及伺服驱动机构组成,功能是驱动打印头产生水平运动

色带机构由色带及色带墨盒组成,其功能是使色带产生与字车平行的运动并相对字车产生相对运

走纸机构由滚纸筒传动齿轮的步进电机组成,其功能是在垂直方向按行移动纸张即产生走纸运动 检测器进行纸尽检测、初始位置检测 2)控制逻辑电路

电路组成:微处理器、行缓存RAMROM、打印头驱动电路

主要功能:接受主机发出的命令和数据,返回主机所需状态信息和应答信号,驱动各个机构执行

初始化命令、打印命令和自检命令,并发出检测信号

3)控制面板 4)电源单元 2. 打印机接口方法

1)并行打印机接口标准——Centronics标准

25针打印电缆线引脚

8根数据信号线、2根握手联络信号线STROBEACK1根状态线BUSY 2)接口逻辑结构

BUSY

ACK



DATA

STROBE

数据传送时序



5s

0.5s



0.5s



0.5s






XDB0~7

数据 收发器

DIR

写数据

数据 内部数据总线

锁存器

25针打印数据线





主机系统总线

BUSY

状态

数据 缓冲器

缓冲

ACK PE SLCT

ERROR STB

写控制 读控制

数据 缓冲器

控制 锁存 驱动器

AUTOFD INIT SLCT IRQ EN

AEN 读数据

IOR 读状态 IOW

命令 译码器



XA0~XA12



RESET



接口的功能:

数据缓冲作用——接受主机的数据,在适当的时候再送给打印机;接受主机的控制信息,经缓冲后送给并行设备,控制并行设备工作;接受并保存并行设备的状态,CPU读取处理 接口的组成:

若干端口寄存器、数据缓冲器、地址译码器和数据驱动部件

3IBM-PC打印机接口与打印机的连接

3. IBM-PC打印机接口与打印机的连接 1)可编程的并行打印机接口设计 8255A作并行打印机接口(参第7) 2)不可编程的并行打印机接口设计

8位双向数据端口

输出口:锁存送给打印机的数据 输入口:接口自校验 5位双向控制端口





数据/控制/状态 地址(A0A9)

/



25

36




写入用于锁存写入的控制字节 读出用于自校验

5位的状态端口 CPU查询

ACK既可由状态口读出,也可反相后请求中断(8259AIR7)

接口的驱动程序

D7 BUSY 0:

D6 ACK 0:应答

D5 PE 1:无纸

D4 SLCT 1:选中

D3 ERROR 0:出错

D2

D1 无效

D0

D7 无效



查询方式

硬件中断——8259AIR7 软件中断——BIOS INT 17H D6

D5

D4 INTE 1:允许中

D3 SLCTIN 1:选择输 控制字格式

D2 INIT 0:始化

D1

AUTOFDXT

1:自动 走纸

D0 STOBE 1:选通

状态字格式

8.4 鼠标器接口

鼠标器:控制屏幕上光标运动、实现选择操作

基本原理:将鼠标移动的距离和方向信息转换成脉冲信号计算机;再由驱动程序将脉冲信号转换

成鼠标器光标的坐标数据或将鼠标器的移动翻译成能被现行应用程序执行的动作

(串口/并口一般用串口)

按测量位移部件的不同分

分辨率:像素点/厘米(d/cm)——鼠标器移动1厘米所经历的像素点数,是衡量鼠标器性能的重要参



机械式:在基座凹处安装橡皮包裹的金属球 光电式:基座上装有发光二极管和光敏接收管

光机式:靠发光二极管和光传感器工作,对前两种取长补短




本章要点

编码键盘与非编码键盘的区别 键盘接口需要完成的功能

非编码键盘采用行扫描法识别按键的硬件连接及软件编程 8279的主要功能和工作方式 8279编码扫描和译码扫描的原理 利用8279控制LED显示器和矩阵键盘 PC键盘的组成、键盘接口的主要工作

CRT显示器的工作原理、字符发生器的工作原理 打印机打印机构的组成及各部分功能 打印机的数据传送时序

8255A作为打印机接口的硬、软件设计 鼠标器的主要功能及工作原理 鼠标器的种类、分辨率


本文来源:https://www.wddqw.com/doc/5df70d8db3717fd5360cba1aa8114431b90d8e64.html