63
1 第第第 第第第第第第 7.1 第第第第 7.2 第第第第第 7.3 第第第第第

第七章 用户交互接口

  • Upload
    hue

  • View
    122

  • Download
    5

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: 第七章  用户交互接口

1

第七章 用户交互接口

7.1 键盘接口

7.2 打印机接口

7.3 显示器接口

Page 2: 第七章  用户交互接口

2

本章学习目标

键盘和键盘接口工作原理

打印机接口工作原理

MC6845 CRT控制器

CGA的显示模式和逻辑结构、显示程序

Page 3: 第七章  用户交互接口

3

7.1 键盘接口

键盘 : 是微型计算机系统中最基本的人机对话输入设备。

键盘按键 :有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何种形式,其作用都是一个使电路接通与断开的开关。

键盘是矩阵式结构

Page 4: 第七章  用户交互接口

4

键盘的矩阵式结构 7.1

Page 5: 第七章  用户交互接口

5

键盘的分类

1. 编码键盘 键盘本身带有实现接口主要功能所必需的硬件电路。

2.非编码键盘 键盘只简单地提供按键开关的行列矩阵。

Page 6: 第七章  用户交互接口

6

键盘接口必须具有去抖动、防串键、按键识别和键码产生 4个基本功能。( 1)去抖动 每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为 5~20ms 。

键盘接口的功能

所谓去抖动是指在识别被按键和释放键时必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。 去抖动问题可通过软件延时或硬件电路解决。

7.1

Page 7: 第七章  用户交互接口

7

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

键盘接口的功能7.1

Page 8: 第七章  用户交互接口

8

( 3)按键识别 ①行列扫描法:该方法的基本思想是,由程序对键盘进行逐行扫描,通过检测到的列输出的列输出状态来确定闭合键。

键盘接口的功能

先列步进信号在第一列,后发行步电信号扫描一遍,查按键;没有时,列步进一次,然后行步进信号再扫描一遍……

②行反转法:该方法的基本思想是通过行列颠倒两次扫描来识别闭合键。

先行全 1,后列全 0,读行值 先列全 1,后行全 0,读列值

7.1

Page 9: 第七章  用户交互接口

9

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

键盘接口的功能7.1

Page 10: 第七章  用户交互接口

10

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

Page 11: 第七章  用户交互接口

11

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

Page 12: 第七章  用户交互接口

12

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

Page 13: 第七章  用户交互接口

13

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

Page 14: 第七章  用户交互接口

14

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

Page 15: 第七章  用户交互接口

15

2. 键盘接口电路 7.1.1

Page 16: 第七章  用户交互接口

16

( 1)串行接收键盘送来的扫描码,完成串并转换后保存。

( 2)收妥一个键盘扫描码后,立即产生一个中断请求信号。

( 3)保存的扫描码可供 CPU读取,并通过软件进行相应转换 处理。

( 4)接收 CPU的命令,输出到键盘,并接收键盘回送的响应信号。

接口功能:7.1.1

Page 17: 第七章  用户交互接口

17

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

7.1.1

Page 18: 第七章  用户交互接口

18

工作原理 ( 1 )组成器件 时钟 FF : 74LS157 键盘时钟 DIN1 移位时钟 CLOCK

同步、适时、反向PCLK

7.1.1

Page 19: 第七章  用户交互接口

19

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

7.1.1

Page 20: 第七章  用户交互接口

20

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

7.1.1

Page 21: 第七章  用户交互接口

21

7.1.1( 2 )工作过程① 清键

盘PB7=1 LS322-OE 禁止串 /并行转换输出1 LS322-CLR 清 LS322

74S74-R Q=0 IRQ1=0 下次中断允许移位LS322-G=0

Q=1 允许键盘送进扫描码

Page 22: 第七章  用户交互接口

22

7.1.1

② 封锁时钟

PB6=0 & O·C门输出 禁止键盘时钟LS175-Q2=1→LS322 、 74S74无时钟

( 2 )工作过程

Page 23: 第七章  用户交互接口

23

7.1.1

③ 允许键盘

( 2 )工作过程

PB7=0—

LS322-OE=0 允许传入并出

解除 LS322 、 74S74 清零端PB6=0 键盘输入时钟经 PCLK同步、延时、反相后作移位,中断时钟

Page 24: 第七章  用户交互接口

24

7.1.1④ 接收扫描码DIN2 中 间

LS157Q2 :移位时钟

DI8 位扫描码“ 0”

8位扫描码→ QA ~ QH

“0” →QH=1 →74S74-1D IRQ1=1 中断请求LS322-G=1 LS322不允许移位74S74-Q=0 KBD DATA=0

Page 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 AXIN AL,61H ;读 B 口输出状态MOV AH,ALOR AL,80H ;置 PB7=1OUT 61H,ALXCHG AH,ALOUT 61H,ALPOP AXMOV AH,AL……..

Page 26: 第七章  用户交互接口

26

本小节作业

假定有一个 3×4 的矩阵键盘通过并行接口芯片 8255A 与微机相连。 8255A 的 A口定义为输出口,与键盘行线相连; B 口定义为输入口,与键盘列线相连。接口硬件如图所示。设 8255AA口地址为 40H , B 口地址为 41H,控制寄存器地址为 43H,编写实现接口有关功能的程序。

PA0

PA1

PA2

PB3

PB2

PB1

PB0

8255ACPU

行 0

行 1行 2

0 列 3 列

非编码键盘接口

+5v

1111111011111101`11111011

PA

Page 27: 第七章  用户交互接口

27

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

实现的功能

Page 28: 第七章  用户交互接口

28

DATA0~DATA7 : 8 位并行数据输出打印。

4位输入 /输出口

STROBE :打印机接收数据选通

AUTO FD XT :打印机自动走纸一行

INIT :打印机初始化

SLCT IN : CPU要送数据到打印机

5 位输入口

ACK :数据已接收,可送新数据 SLCT :打印机处于联机状态

BUSY :打印机忙不能接收数据

PE :打印机检测到设备没有纸

ERROR :打印机检测到错误

7.2 打印机接口(通用并行接口 Centronics )

Page 29: 第七章  用户交互接口
Page 30: 第七章  用户交互接口

AEN

LS155双

2-4译码器

&&

=1

A3A4A5A6A9

A7

A8

2GAB

2C1G

1C

2Y0

2Y2

1Y0

1Y1

1Y2

WPA 378H 输出锁存数据 U4 :LS374WPC 37AH 输出锁存数据 U7 :LS174

RPA 378H 输入缓冲数据 U3 : LS244

RPB 379H 输入缓冲状态 U2-1G :LS240RPC 37AH 输入缓冲控制 U2-2G :LS240

IOWA0A1

IORJ1

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

IOW IOR

Page 31: 第七章  用户交互接口

AEN

LS155双

2-4译码器

&&

=1

A3A4A5A6A9

A7

A8

2GAB

2C1G

1C

2Y0

2Y2

1Y0

1Y1

1Y2

WPA 378H 输出锁存数据 U4 :LS374WPC 37AH 输出锁存数据 U7 :LS174

RPA 378H 输入缓冲数据 U3 : LS244

RPB 379H 输入缓冲状态 U2-1G :LS240RPC 37AH 输入缓冲控制 U2-2G :LS240

IOWA0A1

IORJ1

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

IOW IOR

Page 32: 第七章  用户交互接口

32

7.3 显示器接口7.3.1 光栅扫描图形显示系统概述

图像/图形生成器

VRAM

作图

存图

彩色表 CRT

CRTC

命令

像素值 颜色 (亮度 )

RHSYNCVSYNCR/W

图像/图形生成器

VRAMCRTC

彩色表

CRTC

CRT

VRAM

Page 33: 第七章  用户交互接口

33

1.图像 /图形生成器

根据主机画图命令在 VRAM 中生成图形的位图( bitmap )

把图像输入设备输入的数字信息直接或间接(经过主存)送入 VRAM2. 显示缓存( VRAM )( 1 ) VRAM 中位图数据(像素值)

作为彩色表的地址,找出 R 、 G 、 B 、三原色亮度值→ CRT

直接作为三原色的亮度值→ CRT( 2 ) VRAM组织

①图形与字符方式:图形位图和字符 ASCII 码存放在 VRAM 中

编码 属性

ASCII A10H28H44H82HFEH82H82H00H

7.3

Page 34: 第七章  用户交互接口

34

单色显示:每个像素 1位

单色多灰度和彩色显示:每个像素用多位二进制表示

组合像素( packed-pixel ):每个像素所有位在单个 bank 中

位平面( bit-plane )结构:像素每一位在不同的 bank 中(位平面)

位平面: 2—24 个

P1 P2 P3

Pm

p1 p2 p3 …

Pm-1 pm…

位平面 n 屏幕上一次同时显示的颜色数 2n

②单显与彩显 VRAM7.3.1

Page 35: 第七章  用户交互接口

35

3.彩色表

高速 RAM ,把像素值转换为 R 、 G 、 B 三原色的亮度值,即图像/视频信号,控制 CRT 电子束的通、断、强弱,形成与 VRAM 所存映像对应的可视画面。

01000101

1100 0101 100045H45H

00H

FFH

Color Index

颜色号表地址

1100 0101 1000

R G B

8个位平面, 8 位像素值

28=256 每帧可同时显示颜色数12位颜色值

212=4096 CRT可以显示的颜色数

224=16.7M 真彩色

CRT 上 X·Y 点

7.3.1

Page 36: 第七章  用户交互接口

36

4.CRT

( 1)复合监视器( RGB监视器):接收模拟信号•由 R 、 G 、 B 和同步信息组成复合信号在适配器中形成,由一根电缆传送到 CRT,然后在 CRT中分开。•精确分离彩色信号限制了分辨率•EGA不直接支持复合监视器

( 2)数字 RGB监视器: CD 和 ECD

CD

RGBI

ECDRGB

一条传送低亮度电子束信号

一条传送中亮度电子束信号混合产生:高、中、低亮度及全暗

7.3.1

Page 37: 第七章  用户交互接口

37

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

4.CRT 7.3.1

Page 38: 第七章  用户交互接口

38

5.CRTC

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

7.3.1

Page 39: 第七章  用户交互接口

7.3.1 CRTC 6845

与微处理器接口的信号

Page 40: 第七章  用户交互接口

40

7.3.1 CRTC 6845

连接刷新存储器和字符发生器的信号

Page 41: 第七章  用户交互接口

41

7.3.1 CRTC 6845

CRT 监视信号

Page 42: 第七章  用户交互接口

42

MC 6845 功能

产生 RAM地址: MA0 ~ MA13 VRAM 16MB

产生 ROM地址: RA0 ~ RA4 光栅地址信号 字符 ROM低地址选字符点阵上一排点水平同步信号: HSYNC 控制画面水平位置 水平回扫时间垂直同步信号: VSYNC 控制画面垂直位置 垂直回扫时间显示允许信号: DISPEN 光栅扫描处于有效显示区光标输出信号: CURSOR 光标( R14 R15 )

光笔选通输入: LPSSTB 当前 RAM地址送入光笔 R:R16R17

编程监示器扫描方式:隔行或逐行扫描硬件滚屏:编程改变 VRAM中刷新起始地址

7.3.1

Page 43: 第七章  用户交互接口

43

7.3.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

1 、显示方式( 1 )字符显示方式( A/N)

( 2 )图形显示方式( APA) 显示模式见课本 286页表 7.4

2. 显示标准

Page 44: 第七章  用户交互接口

适配器 显示方式 字符 分辨率 颜色 VRAM 地址MDA A/N 80X25 720X350 单色 B0000H , 4KB

CGA

A/N , APA 40X25

80X25

320X200

640X200

16 色单色

B8000H , 16KB

七种显示模式,兼容 MDA

EGA

A/N 80X25 ( 7 ) 单色 B0000H , 4KB

A/N , APA 40X25

80X25

( 5,4 ) 320X200

( 6 ) 640X200

( DH ) 320X200

( EH ) 640X200

( FH ) 640X350

( 10H ) 640X350

单, 4色单16 色16 色单色

16 色

B8000H

A0000H , 64KB4X16KB 位平面

A0000H , 2X16KB 位平面黑、白、闪、亮白色,4X64KB 位平面

EGA 的 BIOS 从 C0000H 起

VGA

A/N , APA

兼容 EGA

( 11H ) 640X480

( 12H ) 640X480

( 13H ) 320X200

单色16 色256 色

B8000H , 256KB

总色数 256K 种同时显示 16 色或 256 色

显示器的显示标准 7.3.2

Page 45: 第七章  用户交互接口

45

7.3.3 CGA 工作原理与编程1 、字符模式 显示器上的每个字符在视频缓冲区( VRAM)由 2 个字节表示,第一个字节是显示字符的 ASCII码,而第二个字节是该显示字符的属性。CGA的显存首址: B8000H,空间: 16KB

BI Red Green Blue I Red Green Blue闪烁位 背景颜色 前景颜色

D7 D6 D5 D4 D3 D2 D1 D0

彩色文本方式字符属性

偶字节地址(字符的 ASCII ) =B8000H+页起始偏移地址 +160X 行号 +2X列号奇字节地址(字符的属性) =B8000H+页起始偏移地址 +160X 行号 +2X 列号+1

Page 46: 第七章  用户交互接口

下面是 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

7.3.3

Page 47: 第七章  用户交互接口

47

( 1) 640X200分辨率640X200=128000 16KB=128000 一位像素值对应一个像素点,而其像素位置由(行号、列号)表示,即( y,x )

行号: 0 ~ 199 列号: 0 ~ 639偶行像素放在显示缓存的前 8KB,奇行像素放在其后 8KB

2、图形方式

字节地址 =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

7.3.3

Page 48: 第七章  用户交互接口

编写按高分辨率模式显示一个像素的子程序。 AX:行号;BX:列号。设像素显示信息是白色。

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

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

7.3.3

Page 49: 第七章  用户交互接口

49

( 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

2、图形方式 7.3.3

Page 50: 第七章  用户交互接口

50

3.CGA 编程

端口地址 寄存器名称3D4H 索引寄存器3D5H 参数寄存器3D8H 模式控制寄存器3D9H 彩色选择寄存器3DAH 状态寄存器3DBH 消除光笔触发锁存器3DCH 预置光笔触发器

7.3.3

Page 51: 第七章  用户交互接口

51

( 1)模式控制寄存器 MR (写 ,3D8H)

MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0

未用 0 0 1 0 1 0 1 0 1 0 1 0 1 0

闪烁 亮度 640X200 其它 允许 禁止 单色彩色 图形 字符 80X25 40X25

3.CGA 编程7.3.3

Page 52: 第七章  用户交互接口

52

( 1)模式控制寄存器 MR (写 ,3D8H)

MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0

未用 0 0 1 0 1 0 1 0 1 0 1 0 1 0

闪烁 亮度 640X200 其它 允许 禁止 单色彩色 图形 字符 80X25 40X25

40X25 单色字符 1 0 1 1 0 0 2CH

彩色字符 1 0 1 0 0 0 28H

3.CGA 编程7.3.3

Page 53: 第七章  用户交互接口

53

( 1)模式控制寄存器 MR (写 ,3D8H)

MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0

未用 0 0 1 0 1 0 1 0 1 0 1 0 1 0

闪烁 亮度 640X200 其它 允许 禁止 单色彩色 图形 字符 80X25 40X25

40X25 单色字符 1 0 1 1 0 0 2CH

彩色字符 1 0 1 0 0 0 28H

80X25 单色字符 1 0 1 1 0 1 2DH

彩色字符 1 0 1 0 0 1 29H

3.CGA 编程7.3.3

Page 54: 第七章  用户交互接口

54

( 1)模式控制寄存器 MR (写 ,3D8H)

MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0

未用 0 0 1 0 1 0 1 0 1 0 1 0 1 0

闪烁 亮度 640X200 其它 允许 禁止 单色彩色 图形 字符 80X25 40X25

40X25 单色字符 1 0 1 1 0 0 2CH

彩色字符 1 0 1 0 0 0 28H

80X25 单色字符 1 0 1 1 0 1 2DH

彩色字符 1 0 1 0 0 1 29H

320X200 彩色图形 X 0 1 0 1 0 2AH

320X200 单色图形 X 0 1 1 1 0 2EH

640X200 单色图形 X 1 1 1 1 0 1EH

3.CGA 编程7.3.3

Page 55: 第七章  用户交互接口

55

( 2)彩色选择寄存器 CR(写 ,3D9H)

CR5 CR4 CR3 CR2 CR1 CR0

CS I′ I R G B

320X200色组选择不加兰 :0:绿、红、 黄

加兰: 1:青、绛红、白

( 0 ~ 3 )字符背景亮度

( 4 ~ 5) 320X200图形前景亮度 加强 C1C0

( 0 ~ 3 )字符屏幕外框

( 4 ~ 5) 320X200图形背景色( 6) 640X200图形前景色

320X200图形方式: CR4 C1 C0 CR5 CR3 CR2 CR1 CR0

I R G B BI BR BG BB

16色前景 16 色背景

3.CGA 编程7.3.3

Page 56: 第七章  用户交互接口

56

( 3 )状态寄存器 SR ( 3DAH ,只读)

SR3 SR2 SR1 SR0

VSYNC DLY LPEN SW LPEN STB

垂直回扫期 光笔开关 光笔触发位 1 0禁止 允许

CPU进行VRAM刷新

未接通为 1 置位( OUT 3DCH )复位( OUT 3DBH )

水平 /垂直回扫

光笔输入信号置“ 1”LPEN INPUT

DISPEN

3.CGA 编程7.3.3

Page 57: 第七章  用户交互接口

57

(1) 选定操作模式 ;

(2)把模式控制寄存器第 3位清 0, 即暂不允许视频信号输出 ;

(3)把所选模式对应的一组参数 ,置入参数寄存器 ;

(4)设置操作模式 ;

(5)设置彩色选择寄存器 ;

(6) 向显示缓存写入显示信息。

对彩色图形显示器进行程序设计的一般步骤 :7.3.3

Page 58: 第七章  用户交互接口

58

4.CGA组成7.3.3

Page 59: 第七章  用户交互接口

59

7.3.4 EGA/VGA 工作原理

EGA 兼容 MDA 、 CGA 增加 640X350/16色图形显示VGA 兼容 EGA 增加 640X480/16色和 320X200/256色图形显示1. EGA/VGA字符显示

Page 60: 第七章  用户交互接口

2. EGA/VGA图形显示7.3.4

Page 61: 第七章  用户交互接口

VGA 信号类型为模拟类型,显示卡端的接口为 15 针母插座:

显示器连线端的接口为 15 针公插头:

7.3.4

Page 62: 第七章  用户交互接口

62

7.3.6 显示器编程的各种层次

1 、 ROM BIOS提供了显示器驱动程序,可通过 INT 10H调用。 AH的内容表示特定的功能。如: 00H:置显示模式; 0CH:写点。

MOV AH , 00H

MOV AL , 12H

INT 10H ;设置 640X480/16 色的显示模式

MOV DX , 80H ;起始行号

ROW : MOV CX , 80H ;起始列号

MOV AL , 01H ;像素值

MOV AH , 0CH

COL : INT 10H

INC CX

CMP CX , 0200H

JL COL

INC DX

CMP DX , 0160H

JL ROW

Page 63: 第七章  用户交互接口

63

2 、用 DOS系统调用编程完全独立于硬件,是最高级的编程方法。

通过 INT 21H调用。 09H:显示字符串; 02H:输出字符; 40H:写文件或外设。

可以在不同的机型上运行。

7.3.6 显示器编程的各种层次