资源预览内容
第1页 / 共91页
第2页 / 共91页
第3页 / 共91页
第4页 / 共91页
第5页 / 共91页
第6页 / 共91页
第7页 / 共91页
第8页 / 共91页
第9页 / 共91页
第10页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,第八章 人机交互设备接口,微机接口技术,浙江工业大学信息学院 古辉 ghzjut.edu.cn,2,第八章 人机交互设备接口,第八章 人机交互设备接口 8.1 键盘接口 8.2 CRT显示器接口 8.3 打印机接口 8.4 鼠标器接口 8.5 多媒体设备及其接口,3,8.1 键盘接口,一、键盘的分类 1按键的形式分类 键盘按其按键的结构形式来分一般有机械式、电容式、电感式、磁感式、薄膜式和橡胶垫式等。其中最常用的是机械式和电容式键盘。如下图所示。,4,8.1 键盘接口,2.键盘插口方式 按照键盘插口方式,键盘可分为大口(AT键盘)和小口(即PS/2键盘)两类。其接口引脚及功能如下图所示。,5,8.1 键盘接口,3三种类型的键盘编码方式 编码键盘:接口简单,价格较贵。本身带有实现接口主要功能所必需的硬件电路,自动检测被按下的键,提供给CPU该键所代表的信息代码,能完成去抖动、防串键等功能。 非编码键盘:便宜、广泛用于微机系统的输入设备。键盘内部有一个扫描电路,不断地扫描键盘是否有键被按下。键所代表的键盘信息代码,由键盘接口及键盘处理软件根据键盘送来的位置信息产生,然后再送给CPU。 其它:介于上述两种类型之间的键盘。,6,8.1 键盘接口,二、键盘接口的功能 以机械式、非编码键盘为例,键盘功能有: 1.按键识别 行扫描法 线反转法 2.去抖动 3.防串键 双键锁定 N键轮回 4.键码产生,7,8.1 键盘接口,三、接口原理 非编码键盘的接口功能主要由软件完成。假定有一个34的矩阵键盘通过8255A与微机相连,采用行扫描法,接口如图8.1所示。,8,8.1 键盘接口,程序段 ;8255A初始化 MOV AL,82H ; OUT 43H,AL ;检查是否有键按下 BEGIN:MOV AL,0 OUT 40H,AL WAIT:IN AL,41H AND AL,0FH CMP AL,0FH JZ WAIT ;延时去抖动 MOV CX,7FFH L0:LOOP L0,说明: A口地址:40H B口地址:41H 控制寄存器地址:43H,9,8.1 键盘接口,;识别被按下的键 ST:MOV BL,3 ;行数3送BL MOV BH,4 ;列数4送BH MOV AL,0FEH ;扫描码,0行为0 MOV CL,0FH ;列线屏蔽码送CL,4根列线均为1 MOV CH,0FFH ;置键号初值为-1 L1:OUT 40H,AL ;扫描一行,PA口输出 ROL AL ;循环左移,依次改变行扫描码 MOV AH,AL ;扫描码送AH保存 IN AL,41H ;从PB口读 AND AL,CL CMP AL,CL ;读入列线值,检查是否有列线为0 JNZ L2 ;有列线为0时转L2去找该列线 MOV AL,AH ;取回扫描码 DEC BL JNZ L1 ;行数减1,未完转L1 JMP BEGIN,10,8.1 键盘接口,;找列线 L2:INC CH ;CH初值0FFH。 ;键号加1,指向本行首列键号,C标志置1 RCR AL ;带进位循环右移 JC L2 ;该列非0,检查下一列 MOV AL,CH ;该列为0,键号送AL JMP KEYTABLE ;转查找键盘编码表子程序,获取键码 例如,PB30数据为1101,有键按下,辨别列号如下:,11,8.1 键盘接口,四、可编程键盘/LED接口芯片8279 1.8279内部结构和功能,12,8.1 键盘接口,输入/输出控制及数据缓冲器: 数据缓冲器是双向缓冲器,用于传送CPU和8279之间的命令或数据。 A0=1,输入为指令,输出为状态字;A0=0,输入输出都为数据。 控制与定时寄存器及定时控制: 控制与定时寄存器用于寄存键盘及显示的工作方式,以及由CPU编程的其它操作方式。 定时控制将外部时钟CLK经过分频处理,为键盘和显示提供适当的扫描频率。 扫描计数器:扫描计数器有两种工作方式。 编码方式工作:计数器作二进制计数,四位计数状态从扫描线SL0-SL3输出,经外部译码器译码后,为键盘和显示器提供扫描线。 译码方式工作:扫描计数器的最低二位被译码后,从SL0-SL3输出,作为键盘和显示器的扫描信号。,13,8.1 键盘接口,键盘去抖动与控制及返回缓冲器 返回缓冲器锁存来自RL0-RL7的列回复信号,由回复缓冲器缓冲并储存。 当某一键闭合时,去抖动电路就被置位,延时等待100mS之后,再检验该键是否是连续保持闭合。若闭合,则该键的地址和附加的位移、控制状态一起形成键盘数据被送入8279内部的FIFO存储器。键盘的数据格式如下: 控制和上档的状态由两个独立的附加开关决定,SL2SL1SL0是按键的行编码,而R2R1R0是根据回复信号确定的列编码。,14,8.1 键盘接口,FIFO RAM及其状态寄存器 FIFO RAM是一个88 RAM。在键盘输入方式时,遵循先入先出(FIFO)原则。 FIFO状态寄存器用来存放FIFO RAM的工作状态。例如:RAM满、空等;当工作在键盘方式FIFO RAM不空时,将产生IRQ=1信号,向CPU申请中断。 显示RAM、显示寄存器和显示地址寄存器 显示RAM用来存储显示数据,具有16个字节。 显示寄存器存放显示内容,驱动显示器件。 显示地址寄存器用来寄存由CPU进行读/写的显示RAM的地址,它可以由命令设定,也可以设置成每次读出或写入之后自动递增。,15,8.1 键盘接口,2.外部特性,16,8.1 键盘接口,D0D7:双向数据总线。 CLK:系统时钟。 RESET:复位线,高电平有效。 CS:片选信号,低电平有效。 RD/WR:读/写信号,低电平有效。 A0:地址线。A0=0,选数据寄存器; A0=1,选命令/状态寄存器。 IRQ:中断请求线,高电平有效,向CPU申请中断。 SL0SL3:扫描键盘或显示,可编程设定为编码输出或译码输出。,17,8.1 键盘接口,RL0RL7:返回线,键盘矩阵列线的返回信号输入。 SHIFT:上档信号,高电平有效。键盘数据D6位,作扩充功能。 CNTL:控制线,高电平有效。键盘数据D7位,作扩充功能。 OUTA0OUTA3,OUTB0OUTB3:A组、B组显示信号输出线,可单独使用,也可合并使用。 BD:显示消隐线,低电平有效。用于在显示数据切换或收到消隐命令时的显示消隐。,18,8.1 键盘接口,3.命令字 当A0=1时,CPU向8279芯片写入命令字,格式为: 特征位D7D6D5的8种取值代表了8种命令,下面分别介绍。,19,8.1 键盘接口,(1)键盘/显示方式设置命令,20,8.1 键盘接口,(2)设置时钟频率 (3)读FIFO RAM,21,8.1 键盘接口,(4)读显示RAM (5)写显示RAM,22,8.1 键盘接口,(6)禁写显示RAM/消隐 (7)清除,23,8.1 键盘接口,(8)结束中断/设置错误方式,24,8.1 键盘接口,4.状态字 FIFO状态字,主要用于指示FIFO RAM中的字符数和是否有错误发生,其格式和意义如下:,25,8.1 键盘接口,5. 8279芯片应用举例,26,8.1 键盘接口,键盘输入程序段,执行后可在400H单元中找到被按键代码。 MOV DI,400H ;DI指向存放按键代码的内存单元 MOV DX,0FFEAH ;命令/状态口 MOV AL 00H ;设定键盘输入方式 OUT DX,AL MOV AL 39H;设分频系数,产生100kHz扫描频率 OUT DX,AL LOOPl:MOV DX,0FFEAH IN AL,DX TEST AL 07H ;检查是否有键入代码 JZ LOOPl ;无再查 MOV AL,4OH ;有键入代码,设置读FIFO RAM OUT DX,AL MOV DX,0FFE8H ;数据口 IN AL,DX ;读入数据 MOV DI,AL ;存入内存400H单元 HLT ;暂停,27,8.1 键盘接口,显示输出段,执行后从0位开始显示19991208八个字符。 MOV SI,300H ;设置显示字符内存区地址指针 MOV CX,08H ;设置显示字符数 MOV DX,OFFEAH MOV AL,00H ;设置显示输出工作方式 OUT DX,AL MOV AL,39H ;分频系数,产生100kHz扫描频率 OUT DX,AL MOV AL,90H ;写显示RAM,0号单元起,地址自动加1 OUT DX,AL L:MOV DX,OFFE8H MOV AL,SI OUT DX,AL ;从内存中取显示代码送显示RAM INC SI ;修改地址指针 DEC CX ;修改计数器值 JNZ L HLT 300H DB 7FH,3FH,5BH,06H,67H,67H,67H,06H ;字形码,28,8.1 键盘接口,五、PC微机键盘及接口 1.特点 键盘由单片机、译码器和16行8列的键开关矩阵三部分组成。 单片机能自动识别键的按下与释放,生成相应的扫描码,通过一根五芯电缆发往主机,由主机将扫描码转换为反映键功能的ASCII码。严格地说,仍属于非编码键盘。 系统以中断请求控制方式支持键符的随即输入。每当键盘接口收妥从键盘送来的一个串行扫描码序列时,即向CPU发出一个键盘中断请求。若CPU响应该中断请求,则转去执行中断号为09H的键盘硬中断服务程序。,29,8.1 键盘接口,系统通过两个键盘程序与键盘发生联系。 硬中断程序:中断号为09H,当按键动作引发IRQ1时,该程序负责把键盘扫描码转换成ASCII码,然后存入键盘缓冲区。 软中断程序INTl6H:ROM BIOS中的键盘功能调用程序,该调用的功能是从键盘缓冲区取出按键产生的ASCII码。,30,8.1 键盘接口,2.接口电路,8255A的PB7、PB6实施控制,输入到8255A,8259 CPU,串并转换电路,经PCLK两级同步后作为LS322的时钟。,31,8.1 键盘接口,初始化程序对8255A的设置 MOV AL,99H ;模式O,A口、C口输入,B口输出 OUT 63H,AL ;将方式控制字写控制寄存器 MOV AL,80H ;PB7=1,PB6=0,清LS322和中断请求触发器 OUT 61H,AL MOV AL,40H ;PB7=0,PB6=1,允许LS322工作并输出 OUT 61H,AL IRQl中断服务程序中扫描码的读取与控制 IN AL,60H ;读8255A A口获取扫描码 PUSH AX ;将AL中的扫描码入栈保存 IN AL,61H ;读B口原输出状态 MOV AH,AL ;暂存于AH OR AL,80H ;置PB7=1,清除LS322和中断请求触发器 OUT 61H,AL XCHG AH,AL ;交换,使PB7=0 PB6=1,允许再接收 OUT 61H,AL POP AX ;弹出扫描码至AL中 MOV AH,AL ;AH中也为键扫描码 ;键处理,32,8.2 CRT显示器接口,一、显示系统的组成 一个完整的微型计算机显示系统由显示控制适配器和显示器(即监视器)组成。 微机显示系统组成示意图,33,8.2 CRT显示器接口,二、CRT显示器原理,34,8.2 CRT显示器接口,三、CRT显示器接口,35,8.2 CRT显示器接口,1.字符发生器 将显示存储器RAM中代表一个字符的ASCII码变换成点阵信息,送去控制电子束的强弱,从而在屏幕上打出相应字符的光点。,36,8.2 CRT显示器接口,字符ROM是字符发生器的核心部件,它存储了128个字符的57点阵信息。 ASCII码选择不同的字符; 线选信号选择字符点阵中不同行线的线代码输出。,37,8.2 CRT显示器接口,2.显示缓冲器RAM 存放要显示的信息,包括显示字符码和显示属性。通常,将显示画面划分为许多方块,每个方块为显示一个字符的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号