第13章基本人机交互设备接口

上传人:今*** 文档编号:112019810 上传时间:2019-11-04 格式:PPT 页数:33 大小:942.50KB
返回 下载 相关 举报
第13章基本人机交互设备接口_第1页
第1页 / 共33页
第13章基本人机交互设备接口_第2页
第2页 / 共33页
第13章基本人机交互设备接口_第3页
第3页 / 共33页
第13章基本人机交互设备接口_第4页
第4页 / 共33页
第13章基本人机交互设备接口_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第13章基本人机交互设备接口》由会员分享,可在线阅读,更多相关《第13章基本人机交互设备接口(33页珍藏版)》请在金锄头文库上搜索。

1、接口与通讯技术 武汉科技大学 计算机科学与技术学院 第13章 基本人机交互设备接口 本章内容 13.1 键盘接口 13.2 LED数码显示器接口 13.3 可编程键盘/LED接口芯片82C79A 13.4 打印机接口 13.1 键盘接口 13.1.1 键盘的类型 1. 按键的种类机械式、电容式、导电橡胶式、薄膜式 2. 键盘的结构 线性键盘:每个按键直接与微机接口相连;按键少时适用 矩阵键盘:可减少与微机接口的连线数目 矩阵键盘的识键和译键方法非编码键盘、编码键盘 u编码键盘:内部设有键盘编码器,能识键、生成键码、去抖 动、防串键;硬件电路复杂 u非编码键盘:只提供键盘矩阵,按键的识别、键码的

2、提供都 由软件来完成;结构简单,成本低 13.1.2 键盘的结构与工作原理非编码键盘 1. 线性键盘的结构与工作原理 硬件接口: 82C55A PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 CPU 总线 D0 D1 D2 D3 D4 D5 D6 D7 5.1K8 +5V S0 S1 S2 S3 S4 S5 S6 S7 13.1.2 键盘的结构与工作原理非编码键盘 1. 线性键盘的结构与工作原理 软件编程:查询是否有键按下确定按下的键,执行服务 例如:按下S0报警;按下S1解除报警;按下S2退出 开始 置PA口为输入方式 有键闭合吗? 是S0闭合吗? 是S1闭合吗? 是S2闭合

3、吗? 延时10ms消除抖动 解除报警 报警 结束 N Y Y Y Y N N N 有键闭合吗? N Y 线性键盘的汇编语言程序 MOV DX,303H MOV AL,90H OUT DX,AL;82C55A初始化 KB: MOV DX,300H IN AL,DX AND AL,07H JZ KB;检查3个键是否有键按下 CALL DELAY;延时去抖动 MOV DX,300H IN AL,DX AND AL,07H JZ KB;再次检查是否按键 CMP AL,01H JZ BJ;按下S0 CMP AL,02H JZ JBJ;按下S1 CMP AL,04H JZ STP;按下S2 JMP KB

4、DELAY:延时子程序(略) BJ: 报警处理(略) JBJ: 解除报警处理(略) STP: MOV AX,4C00H INT 21H 13.1.2 键盘的结构与工作原理非编码键盘 2. 矩阵键盘的结构与工作原理 行扫描方式:列线一端接输入端口,另一端接高电平;行线接 输出端口;轮流对行线输出低电平,从列线读扫描结果 列扫描方式:行线一端接输入端口,另一端接高电平;列线接 输出端口;轮流对列线输出低电平,从行线读扫描结果 工作原理(以列扫描为例): 82C55A PA0 PA1 PA2 PA3 PB0 PB1 PB2 PB3 CPU 总线 5.1K4 +5V S2S1S3S4 S6S5S7S8

5、 S10S9S11S12 S14S13S15S16 13.1.3 键盘接口设计 例13.1 设计一个采用行扫描方式的34非编码键盘接口 硬件设计:采用82C55A作为接口芯片,PA输出,PB输入 82C55A PA0 PA1 PA2 PB0 PB1 PB2 PB3 CPU 总线 +5V S4 S8 S0 S5 S9 S1 S6 S10 S2 S7 S11 S3 0行 1行 2行 0列1列2列3列 行扫描方式34非 编码键盘的软件设计 行扫描方式识键和译键的步骤: 判断是否有键按下 去抖动延时1020ms 找到被按下的键 根据键号进行处理 82C55A PA0 PA1 PA2 PB0 PB1 P

6、B2 PB3 CPU 总线 +5V S4 S8 S0 S5 S9 S1 S6 S10 S2 S7 S11 S3 0行 1行 2行 0列1列2列3列 行扫描方式34非 编码键盘查找按键的汇编程序 MOV DX,303H MOV AL,82H OUT DX,AL;82C55A初始化 ;检查是否有键按下 BEGIN:MOV DX,300H MOV AL,00H OUT DX,AL;令所有行线为0 WAIT1:MOV DX,301H IN AL,DX AND AL,0FH CMP AL,0FH;读列线,判断是否按键 JZ WAIT1;无按键,等待 MOV CX,7FFH L0:LOOP L0;延时去抖

7、动 ;识别哪一个键被按下 ST:MOV BL,3;设置行数 MOV AH,4;设置列数 MOV AL,0FEH;起始行扫描码(0行开始) MOV CL,0FH;列线屏蔽码(只查低4位) MOV CH,0FFH;起始键号(-1的补码) L1:MOV DX,300H OUT DX,AL;扫描一行 ROL AL,1 MOV AH,AL MOV DX,301H IN AL,DX AND AL,CL CMP AL,CL;是否有列线为0 JNZ L2 ADD CH,BH;无,修改键号指向改行末列键号 MOV AL,AH DEC BL;行数减1 JNZ L1 JMP BEGIN L2:INC CH;键号加1

8、,指向本行首列键号 RCR AL,1;右移1位,检测一列 JC L2 MOV AL,CH;该列为0,键号送AL JMP KeyTable;转去查找键盘编码表,获取键码 ;或者直接转向按键相应的子程序去执行相关操作 13.2 LED数码显示器接口 13.2.1 LED显示器的结构与工作原理 p g f e d c b VCC (b)共阳极 a p g f e d c b (a)共阴极 a a b c d e f g (c)内部排列 p 13.2 LED数码显示器接口 13.2.2 LED显示器的字形码(段码) 采用不同的段进行组合来表示字符形状的数据 七段数码显码显 示器的字形码码格式 数据位D

9、7D6D5D4D3D2D1D0 显显示段 名 pgfedcba 七段LED显显示器字符与字形码对码对 照表 显显示 字符 0123456789ABCDEF 字形码码 (共阴) 3FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H 字形码码 (共阳) 40H79H24H30H19H12H02H78H00H10H08H03H46H21H06H0EH 13.2.3 LED显示器的显示方式 静态显示: 构成字符的发光二极管总处于点亮状态 动态显示:用扫描方式使多位显示器逐位轮流循环显示 13.3 可编程键盘/LED接口芯片82C79A 输入:扫描键盘、扫描传

10、感器、选通输入方式 输出:8段LED显示器接口,8个或16个,左(右)入口 13.3.1 82C79A的外部特性(40脚) 1. 面向CPU的信号线(15) D07、CS、RD、WR CLK:系统时钟,为82C79A提供内部定时 RESET:复位,高有效;复位后为16个字符显示(左进方式),编 码扫描键盘(双键锁定),时钟设置为31 A0:端口选择;A0=0数据寄存器,A0=1命令/状态寄存器 IRQ:中断申请,高有效;通常键盘有数据输入时有效 13.3 可编程键盘/LED接口芯片82C79A 13.3.1 82C79A的外部特性(40脚) 2. 面向键盘的信号线(14) SL0SL3:矩阵键

11、盘的行扫描线,可编程为编码输出/译码输出 RL0RL7:返回线,用作键盘矩阵的列线值返回 SHIFT:移位信号,高有效,用于扩充键功能,上/下档键 CNTL/STB:控制线,高有效;用于扩充键的控制功能,功能键 3. 面向显示器的信号线(9) SL0SL3(与键盘共用):字符显示器的位扫描线,可编程为左进 /右进 OUTA0OUTA3、OUTB0OUTB3、A、B组显示输出线,两组可独立 或合并使用;输出与SL03同步,实现按位分时显示 BD:显示消隐,低有效;显示切换或执行消隐命令时有效 13.3.2 82C79A的内部寄存器 13.3.2 82C79A的内部寄存器 1. 显示器/键盘共享的

12、模块 (1)扫描计数器:4位的计数器,可编程为译码/编码方式 译码扫描:最低两位经译码,由SL03输出,作为键盘及显 示器的扫描信号(任何时刻SL03只有一个有效,实现4选1) 编码扫描:计数器的状态由SL03直接输出,再经外部译码 ,才能作为扫描信号(实现16选1) (2)定时控制:将外部时钟CLK分频为内部要求的100KHz 2. LED显示器接口模块 (1)显示存储器RAM:168位,存储16个数码显示器的数据 (2)显示字符寄存器:存放要显示的字符,显示过程中与显示扫 描配合,轮流从显示RAM中读出显示信息输出 (3)显示地址寄存器:读/写显示RAM的地址指针;可由命令直接 设定,或设

13、置为每次读/写后自动加1 输输出端与显显示单单元中各位的对应对应 关系 D7D6D5D4D3D2D1D0 OUTA3OUTA2OUTA1OUTA0OUTB3OUTB2OUTB1OUTB0 13.3.2 82C79A的内部寄存器 3. 键盘接口模块 (1)返回缓冲器:缓冲并锁存回复信号RL07的状态;与CNTL、 SHIFT一起构成完整的键盘按键数据 (2)键盘去抖动:实现对键盘输入的去抖动 (3)FIFO RAM及状态寄存器 FIFO RAM:88位,键盘输入方式暂存键盘输入数据 FIFO RAM状态寄存器:寄存FIFO RAM的工作状态,FIFO RAM不 空时,会使IRQ变高 键盘键盘 按

14、键键的数据格式 D7D6D5D4D3D2D1D0 CNTLSHIFTSL2SL1SL0RL2RL1RL0 控制移位行号编码列号编码 最多88键盘,扩充 后可达644键定义 82C79A的数据输入/输出方式 输入方式 键盘输入(键扫描)、传感器扫描、选通输入 键扫描:按下一个键时形成键盘数据,送入FIFO RAM并产生 IRQ(数据读出后撤除) 传感器扫描:FIFO RAM中8个单元用于寄存传感器的现时状态, 地址编号与扫描线顺序一致,传感器阵列(最多为88位)中 某一位状态发生变化时,产生IRQ 选通输入:与82C55A选通输入端口功能相同,CNTL/STB作为选 通信号,上升沿将RL07锁存

15、到FIFO RAM 输出方式 8字符左入口、16字符左入口、8字符右入口、16字符右入口 左入口:显示器位置编号与显示RAM地址一一对应(0号单元显示 在0号显示器上),显示时从最左位开始 右入口(计算机显示方式):最高位从最右边显示器进入,以后逐 次左移 13.3.3 82C79A的编程模型 数据端口30CH ,命令/状态端口30DH 1. 命令字8个,最高3位为特征位,02、4号命令使用最多 82C79A的命令字 序号命令名称特征码码和命令参数 D7 D6 D5 D4 D3 D2 D1 D0 0设置键盘及显示方式0 0 0 D D K2 K1 K0 1设置扫描频率0 0 1 P P P P

16、 P 2读FIFO RAM0 1 0 AI A2 A1 A0 3读显示RAM0 1 1 AI A3 A2 A1 A0 4写显示RAM1 0 0 AI A3 A2 A1 A0 5禁写显示RAM/消隐1 0 1 IWA IWB BLA BLB 6清除1 1 0 CD2 CD1 CD0 CF CA 7结束中断/设置错误方 式 1 1 1 E D7 D6 D5D4 D3 D2 D1 D0 特征位命令参数 82C79A命令字的一般格式 13.3.3 82C79A的编程模型 1. 命令字 (1)0号命令 :设置键盘及显示方式 K0:设置扫描方式;K0=0编码扫描,K0=1译码扫描 K2K1 :设置输入方式(其中4种为键盘输入) DD :设置显示输出方式 特征位命令参数 0 0 0 D D K2 K1 K0 K2 K1输输入方式D D显显示输输出方式 0 0扫

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号