1、浙江工业大学计算机学院12018/5/5内容回顾n 并口基本概念l 并行传输与串行传输的概念与特点。l 并口的分类:基本并口电路、可编程并口电路。n8255A可编程并行接口l 内部结构、外部引脚。l 8255A编程:方式选择控制字、 C口置位 /复位控制字。l 8255A工作方式:方式 0、 1、 2。nPC机中的并口应用l PC/XT机:单片 8255A,地址 6063H。l PC/AT机:集成,地址和功能与 PC/XT相同。22018/5/53第七章 人机交互设备接口显示器接口4鼠标接口2LED接口3打印机接口5键盘接口1音频设备接口52018/5/5(1) 键盘分类 根据按键开关的结构:
2、有触点式:机械式、弹簧式等。手感差、易磨损。无触点式 : 电容式 、电感式。手感好、寿命长。 根据键盘插口形式 : 大口、小口、 USB口。47.1 键盘接口2018/5/5 根据键盘的编码方式:编码键盘由 硬件电路 完成扫描、编码和传送,直接提供与按键相对应的编码信息,并完成去抖、防串键等功能。特点:响应速度快,但硬件结构复杂,价格较贵。非编码键盘键盘的扫描、编码和传送由 软、硬件共同完成 。响应速度不如编码键盘快,但可通过修改软件重新定义按键,在需要 扩充 键盘功能时非常方便。5目前主要使用 非编码键盘 。2018/5/5(2) 键盘的工作原理(非编码键盘) 线性键盘适用于按键较少的专用键
3、盘, 每个按键都有一条数据线 送到计算机接口。缺点:按键较多时,数据线也增多,增加成本。62018/5/5 矩阵键盘按键按照行列排放。优点:节省输入线。缺点:需要采用特殊的方法(行扫描法、行列反转法、行列扫描法)进行按键识别。72018/5/5(1) 判断有无键按下CPU首先向所有的行输出低电平,若无键按下,则所有列线为高。若有键按下,则该键所在的列线因与行线相连而变为低电平。CPU此时读取列线的值即可判断是否有键按下。(2) 判断是哪个键按下(行扫描法)先向第 0行输出低电平,其余行输出高电平,然后读取所有列线的值。若某一列为低,则说明 0行与该列交叉位置的键被按下,扫描成功即可退出。若列线
4、全为高,说明本行无键按下,则继续扫描下一行。依次类推,直到找到按键的位置后退出扫描。确定了行号和列号,可形成键盘扫描码。8n 行扫描法2018/5/5【 例 7-1】 如图的矩阵键盘,其行线接 8255A A口的低 4位,列线接 B口的低 4位。 A、 B口均为方式 0, A口输出, B口输入。试采用行扫描法编程读取键盘码。92018/5/510Start: MOV AL, 82H ;设置 8255A的工作方式OUT 83H, AL;判别是否有键按下MOV AL, 00H ;给 A口输出 00HOUT 80H, ALWait1: IN AL, 81H ;读入 B口的值AND AL, 0FH ;取低 4位CMP AL, 0FH ;比较JZ Wait1 ;全 1则无键按下,继续等待CALL DELAY ;延时, 消除抖动IN AL, 81H ;再次读 B口,测试有无低电平AND AL, 0FHCMP AL, 0FHJZ WAIT1 ;全 1则是干扰,继续等待2018/5/5