《微型计算机接口技术课件》第10章 基本人机交互设备接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CPU、面向键盘和面向显示器3组,如表10.2所示。
2021/1/14
计算机接口技术
18
图10.6 82C79A芯片引脚功能及引脚信号分类
2021/1/14
计算机接口技术
19
2021/1/14
计算机接口技术
20
10.4.2 82C79A的编程模型
1、寄存器功能
82C79A内部寄存器分为共用寄存器和键盘专用及显示器专用的寄存 器3种,分别介绍如下。
LED显示器采用扫描的方法使多位显示器逐位轮流循环显示, 为此,首先把各位显示器的8根段线并联在一起,作为一组 “段控”信号线,同时给每位显示器分配1根“位控”信号 线。 在接口电路中设置两个端口,一个用于发送“位控”信号, 控制显示器的哪一位显示,即显示哪一位;另一个用于发送 “段控”信号,控制显示器发光二极管的那些段点亮,即显 示字形码。
作为键盘接口芯片实现行扫描方式。在行扫描时,返回缓冲器用于锁 存来自RL0~RL2的键盘列线返回值,即按键的列值。另外,行扫描时 所搜寻到闭合键所在的按键行值SL0~SL2,两者合起来就形成键盘上 按键的行号、列号编码。如果在加上用于键功能扩展的两位CTRL、 SHIFT一起组成一个完整的键盘按键数据。键盘按键的数据格式如表 10.3所示。
2021/1/14
计算机接口技术
5
图10.2 线性键盘的程序流程
2021/1/14
计算机接口技术
6
线性键盘的汇编语言程序段
MOV DX,303H
;初始化82C55A
MOV AL,10010000B ;82C55A方式命令
OUT DX,AL
KB: MOV DX,300H
;查3个键(S0S1S2)是否键按下
;无键按下,返回
2021/1/14
计算机接口技术
7
TEST AL,01H
;有键按下,是否S0键
JZ BJ
;是,转报警子程
TEST AL,02H
;是否S1键
JZ JBJ
;是,转解除报警
TEST AL,03H
;是否S2键
JZ STP
;是,停止,退出
JMP KB
;不是,返回
DELAY: 延时子程序(略)
7段数码显示器实际为8段,另一段用来显示小数点P。字形码格式 如图10.5所示。
由字形码构成的LED显示器字符如表10.1所示。其中包括共阴极与共阳极两 种不同显示器所显示的字符与字形码,表中的两种字形码虽然不同,但所表 示的字符则相同。
2021/1/14
计算机接口技术
15
10.3.3 LED显示器动态显示的扫描方式
作为字符显示器输出接口时,可连接16个7段数码显示器。数码显 示器,采用动态扫描方式,实现动态显示。
10.4.1 82C79A的外部特性
82C79A芯片是一种具有40条引脚的双列直插式芯片,如图10.6所示。
由于82C79A是双功能接口,可以同时为两种不同外部设备的接口提
供支持,因此所设置的外部引脚信号比较多,按功能可分为面向
//读键状态 //查低3位,判断有无键按下
//延时去抖 //再读键状态 //查低3位, 查有无键按
//是否S0键 //是,转报警子程
//是否S1键 //是,转解除报警
//是否S2键 //是,停止,退出
2021/1/14
计算机接口技术
9
10.2.3 矩阵键盘工作的动态扫描技术
1.矩阵键盘的工作原理
矩阵键盘的结构是将按键排成n行m列的矩阵形式,并且在行线 或列线上通过电阻接高电平(+5V)。按键的行线与列线交叉 点互不相通,是通过按键来接通的。下面以4×4键盘为例说明 矩阵键盘的工作原理,如图10.3所示。
《微型计算机接口技术课件》第10章 基本人机交互设备接口
10.1 人机交互设备
人机交互设备:人和计算机之间建立联系、交流信息 的输入/输出设备,是计算机系统的基本配置。
10.2 键盘
10.2.1 键盘的类型
键盘是微型计算机系统中最基本的人机对话输入设备。键盘按键, 有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式 ,其作用都是一个使电路接通与断开的开关。 键盘的结构有线性键盘和矩阵键盘两种形式。
2021/1/14
计算机接口技术
22
表10.3中各位的含义:
S按L键0~的SL列2是编按码键,的由行返编回码缓,冲由器行的扫值描确计定数。器从的6位值行确列定编;码R可L0知~,RL2是 82C79A支持64个键的键盘矩阵。再加上CTRL和SHIFT两位附加按 键参加编码,可以扩展到128个键。
2021/1/14
列扫描方式的特点是,其行线与列线的连接及方向刚好与行扫描方式 的相反,即行线一头接输入端口,另一头固定接高电平(+5V),列 线接输出端口,轮流对行线输出低电平(0V),即对行线进行逐行扫 描然后从行线读取扫描的结果。
2.矩阵键盘的接口电路
矩阵键盘的接口电路如图10.3所示。它是采用列扫描方式的并行接口 电路,其工作过程分析如下:
共阳极:阳极连在一起,接高电平,对每只阴极加不同的电 平,阴极加低电平点亮,加高电平熄灭。
2021/1/14
计算机接口技术
13
图10.4中的电阻是限流电阻,以防发光二极管烧毁,其阻值一般 取为使流经LED管的电流在10~20mA。
2021/1/14
计算机接口技术
14
10.3.2 LED显示器的字形码
(3)用于LED显示器的寄存器
LED显示器接口模块包括显示存储器RAM、显示字符寄存器 和显示地址寄存器。
显示存储器RAM
显示存储器RAM用来存储显示数据,容量为16×8位,对应16 个数码显示器。显示存储器内容在显示过程中保持不变。
2021/1/14
计算机接口技术
24
显示字符寄存器
显示字符寄存器用于存放将要显示的字符的字形码。显示字 符寄存器的内容是动态变化的,在显示过程中它与显示扫描配 合,轮流从显示RAM中读出要显示的信息并依次送到被选中的 显示器,循环不断地刷新显示字符,使显示器件呈现稳定的显 示字符。
2021/1/14
计算机接口技术
2
10.2.2 线性键盘的工作原理与接口电路
1.线性键盘的工作原理 线性键盘由若干个独立的按键组成,每个按键的两端, 一端接地,另一端通过电阻接+5V电源,并与接口的数据线直 接连接,如图10.1所示。当无键按下时,所有数据线的逻辑电 平都是高电平,为全1(FFH),即全1表示无键按下;当其中 任意一键按下时,它所对应的数据线接地,其逻辑电平就变成 低电平,即逻辑0表示有按键按下。 2.线性键盘的接口电路 线性键盘的接口是并行接口,采用通用并行接口芯片82C55A 与键盘开关连接,如图10.1所示。
IN AL, DX
;读键状态(闭合/断开状态)
AND AL,07H
;查低3位
CMP AL,07H
;查有无键按下
JZ KB
;无键按下,返回
CALL DELAY1 ;有键按下,延时去抖
MOV DX,300H ;再读键状态
IN AL,DX
AND AL,07H
;查低3位
CMP AL,07H
;再查有无键按下
JZ KB
计算机接口技术
23
FIFO RAM及状态寄存器
FIFO RAM是一个8×8 的先进先出片内存储器,用于 暂存从键盘输入的按键数据,供CPU读取。
为了报告FIFO RAM中有无数据和空、满等的状态,设置 FIFO RAM状态寄存器。只要FIFO RAM存储器有数据未取走, 状态寄存器就产生IRQ信号请求中断,要求CPU读取数据。
2021/1/14
计算机接口技术
17
10.4 键盘/LED接口电路解决方案
方案采用专用接口芯片构成外置式的键盘/LED接口。 82C79A是双功能专用接口芯片,兼有键盘输入接口和字符显示器 输出接口两种用途。 作为键盘输入接口时,扫描方式,可连接64(8×8)个键的矩阵键盘, 经扩充可128( 8×8×2)个键,并具有自动去抖动功能。
依次逐列检测,直到找出被按下的键为止。
2021/1/14
计算机接口技术
12
10.3 LED显示器
10.3.1 LED显示器工作原理
7段数码显示器是将多个LED管组成一定字形的显示器,因此 也可以叫做字形显示器,有共阴极和共阳极两种结构,如图 10.4所示。
共阴极:阴极连在一起,并接地,根据二极管导通的条件, 分别对每只LED管的阳极加不同的电平使其导通(点亮)或截 止(熄灭),阳极加高电平点亮,加低电平熄灭,如图10.4所 示。
(1)显示器/键盘共用寄存器
共用模块主要是扫描计数器,其输出可同时作为键盘的行扫描和显示器的位
扫描(“位控”信号),扫描方式分编码扫描和译码扫描两种,由编程命令选定。 编码扫描:4位扫描线输出线SL0~SL3,由外部译码器译码产生16根扫描信号 线,供键盘和显示器使用。故编码扫描方式能够扫描16×8的矩阵键盘和16位 数码显示器。
2021/1/14
计算机接口技术
3
2021/1/14
计算机接口技术Biblioteka 43.线性键盘接口程序
线性键盘接口程序是配合线性键盘实现键盘功能的组成部分,其 主要作用有两点,一是判断是否有键按下,通过查询接口输入数据 是否为全1。若是全1,无键按下;若不是全1,则有键按下。 二是确定按下的是哪一个键,根据哪一个数据位是逻辑0,则与此 位数据线相连的键被按下。至于每个按键的功能,可由用户定义, 以便当按下某个键时,就可转去执行相应的操作。例如,在上图中 要求当按下S0键时报警,按下S1键时解除报警,按下S2键时退出。 线性键盘寻键程序流程如图10.2所示。
BJ: 报警子程序(略)
JBJ: 解除报警子程序(略)
STP:
MOV AX,4C00H
;退出
INT21H
2021/1/14
计算机接口技术
8
线性键盘C语言程序段如下 unsigned char tmp; outportb(0x303,0x90); do{
tmp=inportb(0x300); if(tmp&0x07!=0x07){
2021/1/14
计算机接口技术
11
图10.3中,PA0~PA3与0列~3列连接,PB0~PB3与0行~3行连 接。采用列扫描方式找出被按下的键在矩阵中的位置,其过程 是:
先从0列开始,通过PA端口,向0列输出0(PA0=0),向其他列 输出1 (PA1=PA2=PA3=1),然后从PB端口读入,检测PB0~PB3 的电平:若PB0=0,表示是S1键按下;若PB1=0,表示是S5键按 下;...;若PB03=0,表示是S13键按下。如果PB0~PB3的电平都 为1,则说明这一列没有键按下,就对第二列进行扫描,于是向1 列输出0,向其它列输出1,再检测PB0~PB3的电平。
2021/1/14
计算机接口技术
16
扫描过程:“段控”端口发出一个字形码,送到每个显示器的
段线上,“位控”端口发出一个控制信号,指定某一位显示器显 示,该位显示器就点亮,并持续1~5ms,然后熄灭所有的显示器。 依次从“段控”端口发字形码信息,再从“位控”端口发位控信 号,去点亮某一位显示器并持续一段时间,然后熄灭。从第1位 到最末位把要显示的不同字符显示一遍,即为一个扫描周期。当 扫描周期符合视觉暂留效应的要求时,人们就觉察不出字符的变 动与闪烁,而感觉每位显示器都在同时显示。显示器“位控”信 号线相当于键盘的行扫描线。
译码扫描:由内部译码器译码后,产生的4根扫描线SL0~SL3,直接作为键盘 和显示器扫描信号。可见,译码扫描方式只能扫描4×8的矩阵键盘和4位数码 显示器,并且不需要设置外部译码器。
2021/1/14
计算机接口技术
21
(2)键盘专用寄存器
键盘接口模块包括返回缓冲器、FIFO RAM及状态寄存器。
返回缓冲器
图10.3 矩阵键盘的结构及接口(列扫描)
2021/1/14
计算机接口技术
10
矩阵键盘与线性键盘一样,也是首先确定是否有按键按下, 然后再识别按下的是哪一个键。这个工作是采用一种扫描的方法 进行,扫描分逐行扫描(行扫描)和逐列扫描(列扫描)两种方式, 称为动态扫描技术。
行扫描方式的特点是,矩阵键盘的列线一头接输入端口,另一头固定 接高电平(+5V),矩阵键盘的行线接输出端口,轮流对列线输出低 电平(0V),即对列线进行逐列扫描,然后从列线读取扫描的结果。
delay(10); tmp=inportb(0x300); if(tmp&0x07!=0x07){ 下
if(tmp&0x01==0x00) BJ();
if(tmp&0x02==0x00) JBJ();
if(tmp&0x03==0x00) STP();
} } }while(!kbhit());
//初始化82C55
相关文档
最新文档