1 / 63

第七章 用户交互接口

第七章 用户交互接口. 7.1 键盘接口 7.2 打印机接口 7.3 显示器接口. 本章学习目标. 键盘和键盘接口工作原理 打印机接口工作原理 MC6845 CRT 控制器 CGA 的显示模式和逻辑结构、显示程序. 7.1 键盘接口. 键盘: 是微型计算机系统中最基本的人机对话输入设备。 键盘按键: 有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式,其作用都是 一个使电路接通与断开的开关 。 键盘是矩阵式结构. 7.1. 键盘的矩阵式结构. 键盘的分类. 1.编码键盘 键盘 本身带有实现接口主要功能所必需的硬件电路。

hue
Télécharger la présentation

第七章 用户交互接口

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. 第七章 用户交互接口 7.1 键盘接口 7.2 打印机接口 7.3 显示器接口

  2. 本章学习目标 • 键盘和键盘接口工作原理 • 打印机接口工作原理 • MC6845 CRT控制器 • CGA的显示模式和逻辑结构、显示程序

  3. 7.1键盘接口 键盘:是微型计算机系统中最基本的人机对话输入设备。 键盘按键:有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式,其作用都是一个使电路接通与断开的开关。 键盘是矩阵式结构

  4. 7.1 键盘的矩阵式结构

  5. 键盘的分类 1.编码键盘 键盘本身带有实现接口主要功能所必需的硬件电路。 2.非编码键盘 键盘只简单地提供按键开关的行列矩阵。

  6. 7.1 键盘接口的功能 键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。 (1)去抖动 每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为5~20ms。 所谓去抖动是指在识别被按键和释放键时必须避开抖动状 态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。 去抖动问题可通过软件延时或硬件电路解决。

  7. 7.1 键盘接口的功能 (2)防串键 防串键是为了解决多个键同时按下或者前一按键没有释放 又有新键按下时产生的问题。 ①双键锁定:当检测到有两个或两个以上的键被按下时, 只把最后释放的键当作有效键,并产生相应键码。 ②N键轮回:当检测到有多个键被按下时,能根据发现它 们的顺序依次产生相应键的键码。

  8. 7.1 键盘接口的功能 (3)按键识别 ①行列扫描法:该方法的基本思想是,由程序对键盘进行逐行扫描,通过检测到的列输出的列输出状态来确定闭合键。 先列步进信号在第一列,后发行步电信号扫描一遍,查按键;没有时,列步进一次,然后行步进信号再扫描一遍…… ②行反转法:该方法的基本思想是通过行列颠倒两次扫描来识别闭合键。 先行全1,后列全0,读行值 先列全1,后行全0,读列值

  9. 7.1 键盘接口的功能 (4)键码产生 一般在内存区中键立一个键盘编码表,通过查表获得按键的键码。

  10. 7.1.1 标准键盘及其接口1.标准键盘电路

  11. 工作原理:行列扫描法 CNT64=0: 行扫描 CNT32 CNT16 CNT08 CNT04 :0000—1111循环计数 74159行译码器:送脉冲步进信号→16根行线上

  12. CNT64=1∧CNT32=0 : 列扫描 CNT04 CNT08 CNT16:000—111循环计数 74156列译码器:送脉冲步进信号→8根列线上

  13. 工作原理:行列扫描法 键按下:T1=1 8048停止扫描,行列当前计数值→扫描码

  14. 工作原理:行列扫描法 键按下:T1=1 8048停止扫描,行列当前计数值→扫描码 P21:CLOCK OUT 同步用键盘脉冲 P22:DATA OUT 按键串行扫描码 P10:监视时钟线状态 P11:监视数据线状态

  15. 2.键盘接口电路 7.1.1

  16. 7.1.1 接口功能: (1)串行接收键盘送来的扫描码,完成串并转换后保存。 (2)收妥一个键盘扫描码后,立即产生一个中断请求信号。 (3)保存的扫描码可供CPU读取,并通过软件进行相应转换 处理。 (4)接收CPU的命令,输出到键盘,并接收键盘回送的响应信号。

  17. 工作原理 7.1.1 (1)组成器件 移位REG:74LS322串行扫描码→并行扫描码

  18. 工作原理 (1)组成器件 7.1.1 时钟FF:74LS157 键盘时钟DIN1 移位时钟CLOCK 同步、适时、反向 PCLK

  19. 工作原理 (1)组成器件 7.1.1 中断FF:74S74 串行扫描码转换成并行扫描码时产生中断请求IRQ1

  20. 工作原理 (1)组成器件 7.1.1 8255: PA7~PA0,PB2,PB6,PB7把并行扫描码送到CPU

  21. 禁止串/并行转换输出 清LS322 下次中断允许移位 Q=0 IRQ1=0 允许键盘送进扫描码 LS322-OE LS322-CLR 1 74S74-R LS322-G=0 Q=1 (2)工作过程 7.1.1 ① 清键盘 PB7=1

  22. LS175-Q2=1→LS322、74S74无时钟 7.1.1 (2)工作过程 ② 封锁时钟 & PB6=0 O·C门输出 禁止键盘时钟

  23. LS322-OE=0 允许传入并出 — 7.1.1 (2)工作过程 ③ 允许键盘 PB7=0 解除LS322、74S74 清零端 PB6=0 键盘输入时钟经PCLK同步、延时、反相后作移位,中断时钟

  24. 8位扫描码→QA~QH “0” →QH=1 →74S74-1D IRQ1=1 中断请求 LS322-G=1 LS322不允许移位 74S74-Q=0 KBD DATA=0 LS157Q2:移位时钟 7.1.1 ④ 接收扫描码 8位扫描码“0” DIN2 DI 中 间

  25. 初始化程序对8255A的设置: MOV AL, 99H ;模式0、A口、C口输入,B口输出 OUT 63H, AL ;将方式控制字写控制寄存器 MOV AL, 80H ;PB7=1,PB6=0,清除LS322和中断请求触发器 OUT 61H, AL MOV AL, 40H ; PB7=1,PB6=1,允许LS322工作并输出 OUT 61H, AL IRQ1中断服务程序中扫描码的读取与控制 IN AL,60H ;读8255AA口获取扫描码 PUSH AX IN AL,61H ;读B口输出状态 MOV AH,AL OR AL,80H ;置PB7=1 OUT 61H,AL XCHG AH,AL OUT 61H,AL POP AX MOV AH,AL ……..

  26. +5v 0列 3列 PA0 行0 PA1 行1 CPU 行2 8255A PA2 PB0 PB1 PB2 PB3 非编码键盘接口 本小节作业 假定有一个3×4的矩阵键盘通过并行接口芯片8255A与微机相连。8255A的A口定义为输出口,与键盘行线相连;B口定义为输入口,与键盘列线相连。接口硬件如图所示。设8255AA口地址为40H,B口地址为41H,控制寄存器地址为43H,编写实现接口有关功能的程序。 PA 11111110 11111101` 11111011

  27. 实现的功能 1.检查是否有键: 其方法是:输出扫描码,使所有行线为0。然后读入列线状态,检查是否有列线为0。若有,则表明有行线和列线接通,意味有键按下。 2.去抖动:当有键按下时,延时20ms左右,待抖动消失后,在稳定状态下进行被按键识别。 3.被按键识别:从第0行第0列开始,通过逐行扫描确定被按键的编号。 4.产生键码:根据扫描得到的键编号查找键盘编码表,获得与被按键功能对应的键码。

  28. 7.2 打印机接口(通用并行接口Centronics) DATA0~DATA7:8位并行数据输出打印。 4位输入/输出口 STROBE:打印机接收数据选通 AUTO FD XT:打印机自动走纸一行 INIT:打印机初始化 SLCT IN:CPU要送数据到打印机 5位输入口 ACK:数据已接收,可送新数据 SLCT:打印机处于联机状态 BUSY:打印机忙不能接收数据 PE:打印机检测到设备没有纸 ERROR:打印机检测到错误

  29. LS155 双 2-4 译 码 器 2G 2Y0 WPA 378H 输出锁存数据U4:LS374 A3 A0 A & 2Y2 A4 WPC 37AH 输出锁存数据U7:LS174 A1 B A5 A6 A9 1Y0 RPA 378H 输入缓冲数据U3:LS244 A7 2C & AEN 1Y1 1G RPB 379H 输入缓冲状态U2-1G:LS240 A8 =1 1Y2 RPC 37AH 输入缓冲控制U2-2G:LS240 J1 1C A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 00 1 1/0 0 1 1 1 1 X 0 0 0 1 2Y0 378H WPA 1 1 0 1 1 1 1 X 1 0 0 1 2Y2 37AH WPC 1 1 0 1 1 1 1 X 0 0 1 0 1Y0 378H RPA 1 1 0 1 1 1 1 X 0 1 1 0 1Y1 379H RPB 1 1 0 1 1 1 1 X 1 0 1 0 1Y2 37AH RPC

  30. LS155 双 2-4 译 码 器 2G 2Y0 WPA 378H 输出锁存数据U4:LS374 A3 A0 A & 2Y2 A4 WPC 37AH 输出锁存数据U7:LS174 A1 B A5 A6 A9 1Y0 RPA 378H 输入缓冲数据U3:LS244 A7 2C & AEN 1Y1 1G RPB 379H 输入缓冲状态U2-1G:LS240 A8 =1 1Y2 RPC 37AH 输入缓冲控制U2-2G:LS240 J1 1C A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 00 1 1/0 0 1 1 1 1 X 0 0 0 1 2Y0 378H WPA 1 1 0 1 1 1 1 X 1 0 0 1 2Y2 37AH WPC 1 1 0 1 1 1 1 X 0 0 1 0 1Y0 378H RPA 1 1 0 1 1 1 1 X 0 1 1 0 1Y1 379H RPB 1 1 0 1 1 1 1 X 1 0 1 0 1Y2 37AH RPC

  31. 7.3 显示器接口 7.3.1 光栅扫描图形显示系统概述 主 机 主 机 图 像 / 图 形 生 成 器 彩色表 彩色表 CRT CRT 图 像 / 图 形 生 成 器 … 颜色(亮度) 像素值 作图 命令 VRAM VRAM VRAM 存图 CRTC CRTC CRTC HSYNC VSYNC R R/W

  32. ASCII 10H 28H 44H 82H FEH 82H 82H 00H A 编码 属性 7.3 • 根据主机画图命令在VRAM中生成图形的位图(bitmap) • 把图像输入设备输入的数字信息直接或间接(经过主存)送入VRAM 1.图像/图形生成器 2.显示缓存(VRAM) • (1)VRAM中位图数据(像素值) • 作为彩色表的地址,找出R、G、B、三原色亮度值→CRT • 直接作为三原色的亮度值→CRT (2)VRAM组织 ①图形与字符方式:图形位图和字符ASCII码存放在VRAM中

  33. 屏幕上一次同时显示的颜色数2n 位平面 n p1 p2 p3 … P1 P2 P3 Pm … Pm-1 pm 7.3.1 ②单显与彩显VRAM • 单色显示:每个像素1位 • 单色多灰度和彩色显示:每个像素用多位二进制表示 • 组合像素(packed-pixel):每个像素所有位在单个bank中 • 位平面(bit-plane)结构:像素每一位在不同的bank中(位平面) • 位平面:2—24个

  34. FFH Color Index CRT上X·Y点 颜色号 45H 110001011000 1100 01011000 01000101 45H 表地址 R G B 00H 8个位平面,8位像素值 28=256 每帧可同时显示颜色数 12位颜色值 212=4096 CRT可以显示的颜色数 224=16.7M 真彩色 7.3.1 高速RAM,把像素值转换为R、G、B三原色的亮度值,即图像/视频信号,控制CRT电子束的通、断、强弱,形成与VRAM所存映像对应的可视画面。 3.彩色表

  35. R G B I CD 7.3.1 • (1)复合监视器(RGB监视器):接收模拟信号 • 由R、G、B和同步信息组成复合信号在适配器中形成,由一根电缆传送到CRT,然后在CRT中分开。 • 精确分离彩色信号限制了分辨率 • EGA不直接支持复合监视器 • (2)数字RGB监视器:CD和ECD 4.CRT 一条传送低亮度电子束信号 R G B ECD 混合产生:高、 中、低亮度及 全暗 一条传送中亮度电子束信号

  36. 7.3.1 4.CRT • (3)模拟RGB监视器 • 在三根导线上分别传送RGB信号 • 信号亮度由导线上电压控制 • 色彩的数量基本无限,取决于适配器产生不同电压能力和眼睛区分不同 颜色的能力 • 多(同步)扫描频率监视器:可调整其扫描频率以适应适配器的频率。这样的CRT最高频率在30KHz之内 • ECD支持两种频率:15.74KHz(标准彩显),21.8KHz

  37. 7.3.1 通用图形控制芯片 一般功能:帧存储体的R、W、刷新控制,行、帧同步及消隐信号。 智能功能:线、弧、多边形,填区图形原语及窗口、视口控制。 例如,图形时序控制芯片MC 6845(1MHz) 5.CRTC

  38. 7.3.1 CRTC 6845 与微处理器接口的信号

  39. 7.3.1 CRTC 6845 连接刷新存储器和字符发生器的信号

  40. 7.3.1 CRTC 6845 CRT监视信号

  41. 7.3.1 • 产生RAM地址:MA0~MA13 VRAM 16MB • 产生ROM地址:RA0~RA4光栅地址信号 • 字符ROM低地址选字符点阵上一排点 • 水平同步信号:HSYNC 控制画面水平位置 水平回扫时间 • 垂直同步信号:VSYNC 控制画面垂直位置 垂直回扫时间 • 显示允许信号:DISPEN 光栅扫描处于有效显示区 • 光标输出信号: CURSOR 光标(R14 R15) • 光笔选通输入:LPSSTB 当前RAM地址送入光笔R:R16R17 • 编程监示器扫描方式:隔行或逐行扫描 • 硬件滚屏:编程改变VRAM中刷新起始地址 MC 6845 功能

  42. 7.3.2 显示方式和显示标准 1、显示方式 (1)字符显示方式(A/N) (2)图形显示方式(APA) 显示模式见课本286页表7.4 2.显示标准 MDA mode 7 CGA mode 0,1,2,3,4,5,6,7 EGA mode DH,EH,FH,10H,兼容CGA VGA mode 11H,12H,13H,兼容EGA TVGA mode 50H~5AH,5BH~62H,兼容VGA

  43. 显示器的显示标准 7.3.2

  44. D7 D6 D5 D4 D3 D2 D1 D0 BI Red Green Blue I Red Green Blue 闪烁位 背景颜色 前景颜色 彩色文本方式字符属性 7.3.3CGA工作原理与编程 1、字符模式 显示器上的每个字符在视频缓冲区(VRAM)由2个字节表示,第一个字节是显示字符的ASCII码,而第二个字节是该显示字符的属性。 CGA的显存首址:B8000H,空间:16KB 偶字节地址(字符的ASCII)=B8000H+页起始偏移地址+160X行号+2X列号 奇字节地址(字符的属性)=B8000H+页起始偏移地址+160X行号+2X列号+1

  45. 7.3.3 下面是80x25字符显示子程序。AX:字符的属性和代码;DX:行号;BX:列号;CX:页起始偏移地址。 DIS_CHC PROC NEAR PUSH AX MOV AX,160 MUL DX SHL BX,1 ADD BX,AX ADD BX,CX MOV AX,B800H MOV ES,AX MOV DX,3DAH CLI WAIT1: IN AL,DX TEST AL,1 JNZ WAIT1 WAIT2: IN AL,DX TEST AL,1 JZ WAIT2 POP AX MOV ES:[BX],AL STI RET DIS_CHC ENDP

  46. 7.3.3 2、图形方式 (1)640X200分辨率 640X200=128000 16KB=128000 一位像素值对应一个像素点,而其像素位置由(行号、列号)表示,即(y,x) 行号:0~199 列号:0~639 偶行像素放在显示缓存的前8KB,奇行像素放在其后8KB 字节地址=B8000H+2000H X(行号mod2)+(行号/2)X50H+(列号/8) 位地址=7-(列号 mod 8) 列号 0 1 2 3 4 5 6 7 位号 D7 D6 D5 D4 D3 D2 D1 D0

  47. 7.3.3 编写按高分辨率模式显示一个像素的子程序。AX:行号;BX:列号。设像素显示信息是白色。 AND AX,1 JZ THERE ADD DX,2000H THERE: POP BX AND BX,007H MOV AL,CS:TABLE[BX] MOV BX,B800H MOV ES,BX OR ES:[DX],AL RET TABLE DB 80H,40H,20H,10H,08H ,04H,02H,01H DIS_PIXEL ENDP DIS_PIEXL PROC NEAR PUSH BX PUSH AX SHR BX,1 SHR BX,1 SHR BX,1 SHR AX,1 MOV CX,50H MUL CX ADD BX,AX MOV DX,BX POP AX

  48. 7.3.3 2、图形方式 (2)320X200分辨率 320X200=64000像素 16KB=128000位 每个像素用2位表示 D7 D6 D5 D4 D3 D2 D1 D0 像素0: C1 C0 1:C1 C0 2:C1 C0 3:C1 C0 行号:0~199 列号:0~319 字节地址=B8000H+2000H X (行号 mod 2)+(行号/2)X50H+(列号/4) 位地址=6-2X(列号 mod 4) 列号 0 1 2 3 位号 D6 D4 D2 D0 像素 0:C0 1:C0 2:C0 3:C0

  49. 3.CGA编程 7.3.3

More Related