1 / 22

微机接口技术 ( 第八章)

微机接口技术 ( 第八章). 第八章 人机交互设备接口. 本章内容 8.1 键盘接口 8.2 CRT 显示器接口 8.3 打印机接口 8.4 鼠标器接口. 双键锁定 : 后释放者有效 N 键轮回 : 所有键依顺序产生键码. 行扫描 : 逐行扫描 , 由列线状态识别 线反转 : 行列颠倒两次扫描识别. 8.1 键盘接口. 编码键盘 : 内部设有键盘编码器 , 能识键、生成键码、去抖动、防串键 非编码键盘 : 只提供键盘矩阵,按键的识别、键码的提供都由软件来完成. 键盘接口的功能和原理. 1 )接口功能.

Download Presentation

微机接口技术 ( 第八章)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微机接口技术(第八章)

  2. 第八章 人机交互设备接口 • 本章内容 • 8.1 键盘接口 • 8.2 CRT显示器接口 • 8.3 打印机接口 • 8.4 鼠标器接口

  3. 双键锁定:后释放者有效 N键轮回:所有键依顺序产生键码 行扫描:逐行扫描,由列线状态识别 线反转:行列颠倒两次扫描识别 8.1 键盘接口 • 编码键盘:内部设有键盘编码器,能识键、生成键码、去抖动、防串键 • 非编码键盘:只提供键盘矩阵,按键的识别、键码的提供都由软件来完成 • 键盘接口的功能和原理 1)接口功能 • 去抖动:时间5~20ms,软件延时或硬件完成 • 防串键:多键同时按下或前一按键未释放又按下新键的处理 • 按键识别: • 键码产生:得到反映键功能的键码,查表法 2)接口原理——非编码键盘,行扫描,低有效 • 是否有键按下:输出扫描码,使所有行线为0,读列线,全1无键按下 • 去抖动:延时20ms • 按键识别:逐行扫描确定按键(相应行线为0,读列线,是否非全1)并得键号 • 产生键码:根据键号查键盘编码表 本章首页

  4. 例:48键盘,8255A作接口,PA作行扫描口,PB读取列值例:48键盘,8255A作接口,PA作行扫描口,PB读取列值 8255A的PA方式0、输出 PB方式0、输入 方式字:82H 设8255A地址300H~303H 程序流程图 本章首页

  5. DATA SEGMENT DW n ;延时常数(使延时时间约20ms) DB ? ;存储按键的键号 ENDS … ;8255A初始化 MOV DX,303H MOV AL,82H OUT DX,AL ;检测是否有键按下 MOV DX,300H MOV AL,0 OUT DX,AL ;令所有行线为低电平 MOV DX,301H IN AL,DX ;读取列线值 CMP AL,0FFH JZ WAIT ;所有列线为高,无键按下 ;有键按下,延时去抖动 MOV CX,NUM LOOP DLY ;按键识别 MOV AH,0FEH ;行扫描码初值 MOV BL,4 ;行数 MOV BH,8 ;列数 MOV CL,0FFH ;键号初值设为-1 NUM BUF MOV DX,300H MOV 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 INC CL RCR AL,1 JC F_KEY MOV BUF,CL ;根据键号查找键盘编码表,获取与键功能对应的键码 DATA NEXT: SCAN: WAIT: F_KEY: DLY: KEY: 部分程序清单: 本章首页

  6. 输入:扫描键盘、扫描传感器、选通输入方式 输出:8段LED显示器接口,8个或16个,左(右)入口 • 与LED显示器接口的信号(专用9根) 除了SL0~3外 OUTA0~3、OUTB0~3:A组、B组显示数据输出,与SL0~3同步,两组可独立使用或合并使用 BD:显示消隐信号,出,低有效,显示消隐时,有效.(显示数据切换或执行消隐命令时,显示消隐) • 面向CPU的信号(15) • 与键盘接口的信号(14) SL0~3:扫描信号,扫描键盘及LED显示器(既与键盘接口,也与LED接口).由编程设定为编码输出或译码输出.编码扫描实现16选1;译码扫描实现4选1 RL0~7:回复信号,返回键盘矩阵或传感器阵列的列信号SHIFT:移位信号,入,高有效,键盘数据D6位,用于扩充键功能(上、下档功能键);传感器输入及选通输入中无效 CNTL/STB:控制/选通信号,入,高有效,键盘输入中,是键盘数据D7位,也用于扩充键功能,(作为控制功能键);选通输入方式,其上升沿将RL0~7上的数据存入先入先出存储器(FIFO RAM) D0~7、CS、RD、WRA0:端口选择,=0,数据口,=1,命令口或状态口 RESET:复位,高有效,复位后工作于16字符,左入口; 编码扫描键盘,双键互锁;时钟分频系数31 IRQ:中断申请,高有效,通常键盘有数据输入请求时有效 CLK:时钟,为8279提供内部工作时钟 • 可编程键盘/LED接口芯片8279 1)外部特性(40脚) 本章首页

  7. I/O控制操作 • I/O控制及数据缓冲器 CS WR RD A0 操作 • 控制与定时寄存器及定时控制 0 0 1 0 写显示RAM 0 0 1 1 写命令字 控制与定时寄存器:寄存键盘及显示器工作方式,完成控制功能 定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(2~31),对CLK分频,获得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟 0 1 0 0 读FIFO RAM或显示RAM • 扫描计数器 0 1 0 1 读状态字 4位的计数器,有译码、编码两种方式,由编程设定 译码方式:最低两位经译码,由SL0~3输出,作为键盘及显示器的扫描信号.(任何时刻, SL0~3只有一个信号有效,实现4选1) 编码方式:计数器的状态由SL0~3直接输出,再经外部译码,才能作为扫描信号.(实现16选1) 2)内部结构及各部分功能 本章首页

  8. 显示RAM及显示地址寄存器 • 恢复缓冲器、键盘去抖动及控制逻辑 回复缓冲器:缓冲并锁存回复信号RL0~7的状态 去抖动电路:实现对键盘输入的去抖动 控制逻辑:按命令要求控制去抖动电路,并处理回复信号RL0~7 键盘输入方式,有键闭合时,去抖动电路被置位,延时10ms再检测,并将其位置信息与SHIFT、CNTL的状态一起形成键盘数据,送入FIFO RAM 传感器输入方式,RL0~7的状态直接送入传感器RAM(即FIFO RAM) 选通输入方式,在CNTL/STB的上升沿将RL0~7状态送入FIFO RAM 显示RAM:16×8位,存储字符的字形码,显示时,从OUTA0~3和OUTB0~3输出 显示地址寄存器:显示RAM的内部地址, 可由命令直接设定,或设置为每次读/写后自动加1。 • FIFO/传感器RAM及其状态寄存器 FIFO/传感器RAM:8×8位,键盘输入方式或选通输入方式作先入先出存储器(FIFO RAM);传感器输入方式被称为传感器RAM,存储传感器阵列中每个传感器的状态 FIFO RAM的状态寄存器:键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态,FIFO RAM不空时,会使IRQ变高; 传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高 输出端与显示单元中各位的对应关系: D7 D6 D5 D4 D3 D2 D1 D0 OUTA3 OUTA2 OUTA1 OUTA0 OUTB3 OUTB2 OUTB1 OUTB0 本章首页

  9. 最多88键盘,扩充后可达644键定义 键盘数据格式 CNTL SHIFT SL2 SL1 SL0 R2 R1 R0 2个独立开关 扫描码,键所在行编码,计数器低3位 回复码,键列线(RL0~7)编码 3)工作方式 • 数据输入方式——键盘输入(键扫描)、传感器扫描、选通输入 • 键扫描:按下一个键时,形成键盘数据,送入FIFO RAM,并产生IRQ(数据读出后撤除) • 传感器扫描:FIFO RAM中8个单元用于寄存传感器的现时状态,又称传感器RAM,地址编号与扫描线顺序一致,传感器阵列(最多为8×8位)中某一位状态发生变化时,产生IRQ • 选通输入:与8255A通输入端口的功能完全一样,CNTL/STB作为选通信号,上升沿锁存RL0~7到FIFO RAM • 显示输出方式——8字符左入口、16字符左入口、8字符右入口、16字符右入口 • 左入口:显示器位置编号与显示RAM地址一一对应(0号单元显示在0号显示器上),显示时从最左位开始 • 右入口(计算器显示方式):最高位从最右边显示器进入,以后逐次左移 4)命令字(8个,D0~7特征位) • 设置分频系数 • 设置工作方式 00:键盘,双键锁定 01:键盘,N键轮回10:传感器扫描 11:选通输入 0:编码扫描 1:译码扫描 00:8字符,左入口 01:16字符,左入口10:8字符,右入口11:16字符,右入口 分频目的:得到100KHz的基本工作时钟 本章首页

  10. CD2=1或CA=1有效 • 设置读显示RAM的地址 • 设置读FIFO/传感器RAM的地址 0:读出后地址不变 1:每次读出地址自动加1 0:读出后地址不变 1:每次读出地址自动加1 键盘方式无效,写0 • 禁写显示RAM/消隐命令 • 设置写显示RAM的地址 0:写入后地址不变 1:每次写入地址自动加1 1:相应显示RAM禁止写入 • 清除命令 • 结束中断/设置错误方式 键盘N键轮回方式,发现多键同时按下,置状态位S/E,产生中断并阻止写入FIFO RAM 0:全部清0 10:置成20H 11:置成全1 置空FIFO RAM 并复位IRQ 清除FIFO RAM及显示RAM 本章首页

  11. 数据段各单元定义 DATA SEGMENT ;依次存储0~F及小数点的共阴极段码 DB 3FH,06H,5BH,4FH,66H,6DH,7DH DB 07H,7FH,6FH,77H,7CH,39H,5EH DB 79H,71H,80H ;显示字符存储区 DB 00H,03H,10H,01H,02H,10H,02H,05H DB ? ENDS SEGTAB 反相 驱动器 DISPMEM KEY_DATA DATA 6)8279芯片应用举例 5)状态字(指示FIFO RAM中字符数及是否有错误) TP86A单板机系统,8279管理3×8的矩阵键盘和8个8段共阳极数码显示器,8279的地址为0FFF8H和0FFFAH DU:显示无效标志,由命令清除显示RAM时置1 S/E:键盘输入方式下作特殊错误标志,=1:多键同时按下 O:溢出标志,向已满的FIFO RAM写时置1 U:不足标志,从已空的FIFO RAM读时置1 N2N1N0:FIFO RAM中字符的个数 将8279的工作方式设置为:编码扫描键盘输入,双键互锁;8字符,左入口 外接时钟频率2.5MHz,分频系数25 要求:在显示器上显示03.12.25 键盘:查询方式检测键盘,有键按下,将键盘数据存入KEY_DATA单元 本章首页

  12. 程序段 ; 字形码送入显示RAM LEA SI,DISPMEM+7;指向最右端字符 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,自动递增 MOV DX,0FFF8H MOV BL,[SI] ;取字符值,作查表位移量 MOV AL,SEGTAB[BX];取显示字符的字形码 OUT DX,AL ;字形码写入显示RAM DEC SI ;修改地址指针 LOOP NEXT ;查询是否有键按下,若有,将键盘数据存入内存 MOV DX,0FFFAH IN 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 ;存储键盘数据 NEXT: WAIT: • PC微机键盘及接口 PC机键盘与主机独立,通过一根5芯电缆与主机箱相连,PS/2接口、USB接口等 PC机键盘组成:单片机、译码器和键盘矩阵,101个按键组成16行×8列的键盘开关矩阵 • 键盘接口的功能 • 串行接收键盘送来的扫描码,转换成并行数据并保存 • 收到一个键的扫描码后产生中断请求 • 接收CPU的命令,输出到键盘;接收键盘的响应信号 本章首页

  13. 接口电路的组成 • 单片机8048及键盘矩阵组成的智能化键盘,独立于主机 • 串并转换器74LS322、并行接口芯片8255A和中断触发器组成,在主机箱内 单片机8048:完成对键盘的扫描、编码工作,利用内部的计数器对键盘矩阵扫描,形成按键的扫描码(即行列位置码),再通过串行口送出 5芯电缆:除了来自于主机的电源、地和复位信号外,还有两根双向信号线DATA和CLOCK,分别用于传输数据和时钟信号 CPU响应键盘的硬件中断,在中断服务程序中,由8255A的PA口可以读到键盘扫描码 本章首页

  14. 8.2 CRT显示器接口 按功能分 单色彩色 按显示色彩分 字符终端图形终端 • 概述 CRT(Cathode Ray Tube,阴极射线管)显示器 微机系统中,采用光栅扫描技术电子束的强弱由视频信号(“0”或“1”)控制;扫描发生器产生水平扫描和垂直扫描信号,分别加到显示器的水平和垂直偏转线圈上,以确定电子束射到荧光屏上的位置 • CRT显示器原理 • CRT显示器组成——电子枪、偏转板和荧光屏 显示原理:由电子枪把电子束打到涂有一层磷光材料的显示屏上;电子束穿过一连串强磁场,发生偏转打在显示屏的不同位置上,使得磷光材料暂时性地发亮.每个点代表一个像素,控制电子束的电压,就能调整每个点的明暗 电子枪:一个或多个,位于CRT的最底端,发射高速电子束.单色显示器只有一个,只能发一个电子束;彩色显示器有红(R)、绿(G)、蓝(B)三个电子枪,能发三束电子 偏转板:分为水平偏转板和垂直偏转板,分别控制电子束打向荧光屏的水平方向和垂直方向 • CRT显示器接口 接口电路组成:显示缓冲器RAM、字符发生器、CRT控制器、移位寄存器、视频信号合成器 本章首页

  15. ASCII码 线选地址 5×7点阵 输出码 RS2 RS1 RS0 Q4 Q3 Q2 Q1 Q0 42H 0 0 1 1 1 1 1 0 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 5×7字符点阵 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 字符以点阵形式显示 NOTE: • 字符发生器:将字符的ASCII码转换成点阵信号,控制电子束的强弱 • 就是字符点阵代码存储器——以ASCII码为高位地址、是以扫描行地址为低位地址的只读存储器ROM • 显示RAM(VRAM):存储要显示的信息 • 字符显示方式中,存储字符码(ASCII码)和显示属性码,一个字符窗口对应VRAM中的两个单元,偶地址单元存储字符码;奇地址单元存储属性码 • 图形显示方式中,存储整幅屏幕的点阵图(即:每个点的明暗状态及色彩) 显示字符时,不是扫描显示出一个完整的字符后再扫描显示下一个字符,而是同时扫描显示一个字符行中的所有字符 本章首页

  16. CRT控制器:CRT接口的核心部件 • 主要功能 提供读显示RAM的扫描地址和屏幕显示的扫描地址 提供时序控制信号 • 移位寄存器和视频信号合成器 移位寄存器:并行线代码转换成串行数据送往视频输出电路视频信号合成器:把字符、图形的点阵信息与水平同步信号、垂直同步信号、消隐信号合成为一种复合的视频信号 水平同步、垂直同步、消隐信号 锁存器的锁存信号 移位寄存器的串行移位信号(打点时钟) 8.2 CRT显示器接口(续) 图形的显示:显示RAM中的点信息与屏幕上点相对应图形显示方式,不需要字符发生器,存储器中的点信息直接变成串行数据输出 显示字符时,不是扫描显示出一个完整的字符后再扫描显示下一个字符,而是同时扫描显示一个字符行中的所有字符 本章首页

  17. 8.3 打印机接口 • 打印机的结构及各部分功能——针式打印机 1)打印机构 针式打印机由打印头、字车、色带、电磁传动机构、走纸机构、检测器组成 打印头由电磁机构和打印针组成,功能是将字符数据转换成电磁信号 字车由打印头架及伺服驱动机构组成,功能是驱动打印头产生水平运动 色带机构由色带及色带墨盒组成,其功能是使色带产生与字车平行的运动并相对字车产生相对运动 走纸机构由滚纸筒传动齿轮的步进电机组成,其功能是在垂直方向按行移动纸张即产生走纸运动 检测器进行纸尽检测、初始位置检测 2)控制逻辑电路 电路组成:微处理器、行缓存RAM、ROM、打印头驱动电路 主要功能:接受主机发出的命令和数据,返回主机所需状态信息和应答信号,驱动各个机构执行初始化命令、打印命令和自检命令,并发出检测信号 3)控制面板 4)电源单元 本章首页

  18. 8.3 打印机接口(续) 8根数据信号线、2根握手联络信号线STROBE、ACK和1根状态线BUSY • 打印机接口方法 1)并行打印机接口标准——Centronics标准 • 25针打印电缆线引脚 • 数据传送时序 本章首页

  19. 数据/控制/状态 并行打印机 主机系统 36脚插座 25脚插座 并行接口 地址(A0~A9) 读/写 2)接口逻辑结构 接口的组成: 若干端口寄存器、数据缓冲器、地址译码器和数据驱动部件 接口的功能: 数据缓冲作用——接受主机的数据,在适当的时候再送给打印机;接受主机的控制信息,经缓冲后送给并行设备,控制并行设备工作;接受并保存并行设备的状态,供CPU读取处理 3)IBM-PC打印机接口与打印机的连接 本章首页

  20. 8位双向数据端口 输出口:锁存送给打印机的数据输入口:接口自校验 • 5位双向控制端口 写入用于锁存写入的控制字节 读出用于自校验 • 5位的状态端口 供CPU查询 ACK既可由状态口读出,也可反相后请求中断(8259A的IR7) D7 D6 D5 D4 D3 D2 D1 D0    INTE SLCTIN INIT AUTOFDXT STOBE 无效 1:允许中断 1:选择输入 0:初始化 1:自动 走纸 1:选通 控制字格式 D7 D6 D5 D4 D3 D2 D1 D0 BUSY ACK PE SLCT ERROR    0:忙 0:应答 1:无纸 1:选中 0:出错 无效 状态字格式 • IBM-PC打印机接口与打印机的连接 1)可编程的并行打印机接口设计 8255A作并行打印机接口(参考第7章) 2)不可编程的并行打印机接口设计 • 查询方式 • 硬件中断——8259A的IR7 • 软件中断——BIOS INT 17H 接口的驱动程序 本章首页

  21. 8.4 鼠标器接口 机械式:在基座凹处安装橡皮包裹的金属球 光电式:基座上装有发光二极管和光敏接收管 光机式:靠发光二极管和光传感器工作,对前两种取长补短 按测量位移部件的不同分 串口/并口一般用串口 鼠标器:控制屏幕上光标运动、实现选择操作 基本原理:将鼠标移动的距离和方向信息转换成脉冲信号计算机;再由驱动程序将脉冲信号转换成鼠标器光标的坐标数据 或将鼠标器的移动翻译成能被现行应用程序执行的动作 分辨率:像素点/厘米(d/cm)——鼠标器移动1厘米所经历的像素点数,是衡量鼠标器性能的重要参数 本章首页

  22. 本章要点 • 编码键盘与非编码键盘的区别 • 键盘接口需要完成的功能 • 非编码键盘采用行扫描法识别按键的硬件连接及软件编程 • 8279的主要功能和工作方式 • 8279编码扫描和译码扫描的原理 • 利用8279控制LED显示器和矩阵键盘 • PC键盘的组成、键盘接口的主要工作 • CRT显示器的工作原理、字符发生器的工作原理 • 打印机打印机构的组成及各部分功能 • 打印机的数据传送时序 • 用8255A作为打印机接口的硬、软件设计 • 鼠标器的主要功能及工作原理 • 鼠标器的种类、分辨率 本章首页

More Related