《《用户交互接口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《用户交互接口》PPT课件.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 用户交互接口用户交互接口7.1 7.1 键盘接口键盘接口7.2 7.2 打印机接口打印机接口7.3 7.3 显示器接口显示器接口本章学习目标 键盘和键盘接口工作原理键盘和键盘接口工作原理 打印机接口工作原理打印机接口工作原理 MC6845 CRT MC6845 CRT控制器控制器 CGA CGA的显示模式和逻辑结构、显示程序的显示模式和逻辑结构、显示程序7.1 键盘接口键盘接口键盘键盘:是微型计算机系统中最基本的人机对话输入设备。是微型计算机系统中最基本的人机对话输入设备。键盘按键键盘按键:有机械式、电容式、导电橡胶式、薄膜式等有机械式、电容式、导电橡胶式、薄膜式等多种,但不管何
2、种形式,其作用都是多种,但不管何种形式,其作用都是一个使电路接通与断开一个使电路接通与断开的开关的开关。键盘是矩阵式结构键盘是矩阵式结构键盘的矩阵式结构键盘的矩阵式结构7.1键盘的分类键盘的分类1.1.编码键盘编码键盘 键盘键盘本身带有实现接口主要功能所必需的硬件电路。本身带有实现接口主要功能所必需的硬件电路。2.2.非编码键盘非编码键盘 键盘键盘只简单地提供按键开关的行列矩阵。只简单地提供按键开关的行列矩阵。键盘接口键盘接口必须具有去抖动、防串键、按键识别和键码产必须具有去抖动、防串键、按键识别和键码产生生4 4个基本功能。个基本功能。(1 1)去抖动)去抖动 每个按键在按下或松开时,都会产
3、生短时间的抖动。每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为抖动的持续时间与键的质量相关,一般为520ms。键盘接口的功能键盘接口的功能所谓去抖动所谓去抖动是指在识别被按键和释放键时必须避开抖动状是指在识别被按键和释放键时必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖动问题可通过软件延时或硬件电路解决。去抖动问题可通过软件延时或硬件电路解决。7.1(2 2)防串键)防串键 防串键是为了解决多个键同时按下或者前一按键没有释放防串键是为了解决多个键同时按下或者前一按键没有释放又
4、有新键按下时产生的问题。又有新键按下时产生的问题。双键锁定:双键锁定:当检测到有两个或两个以上的键被按下时,当检测到有两个或两个以上的键被按下时,只把最后释放的键当作有效键,并产生相应键码。只把最后释放的键当作有效键,并产生相应键码。N N键轮回:键轮回:当检测到有多个键被按下时,能根据发现它当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。们的顺序依次产生相应键的键码。键盘接口的功能键盘接口的功能7.1(3 3)按键识别)按键识别 行列扫描法:行列扫描法:该方法的基本思想是,由程序对键盘进该方法的基本思想是,由程序对键盘进行逐行扫描,通过检测到的列输出的列输出状态来确定闭合
5、行逐行扫描,通过检测到的列输出的列输出状态来确定闭合键。键。键盘接口的功能键盘接口的功能 先列步进信号在第一列,后发行步电信号扫描一遍,查按先列步进信号在第一列,后发行步电信号扫描一遍,查按键;没有时,列步进一次,然后行步进信号再扫描一遍键;没有时,列步进一次,然后行步进信号再扫描一遍 行反转法:行反转法:该方法的基本思想是通过行列颠倒两次扫描该方法的基本思想是通过行列颠倒两次扫描来识别闭合键。来识别闭合键。先行全先行全1 1,后列全,后列全0 0,读行值,读行值 先列全先列全1 1,后行全,后行全0 0,读列值,读列值7.1(4 4)键码产生)键码产生 一般在内存区中键立一个键盘编码表,通过
6、查表获得按键一般在内存区中键立一个键盘编码表,通过查表获得按键的键码。的键码。键盘接口的功能键盘接口的功能7.1 标准键盘及其接口标准键盘及其接口 1.标准键盘电路标准键盘电路工作原理:行列扫描法工作原理:行列扫描法 CNT64=0:行扫描行扫描 CNT32 CNT16 CNT08 CNT04:00001111循环计数循环计数 74159行译码器:送脉冲步进信号行译码器:送脉冲步进信号16根行线上根行线上 CNT64=1 CNT32=0:列扫描列扫描 CNT04 CNT08 CNT16:000111循环计数循环计数 74156列译码器:送脉冲步进信号列译码器:送脉冲步进信号8根列线上根列线上工
7、作原理:行列扫描法工作原理:行列扫描法 键按下:键按下:T1=1 8048停止扫描,行列当前计数值停止扫描,行列当前计数值扫描码扫描码工作原理:行列扫描法工作原理:行列扫描法 键按下:键按下:T1=1 8048停止扫描,行列当前计数值停止扫描,行列当前计数值扫描码扫描码P21:CLOCK OUT 同步用键盘脉冲同步用键盘脉冲 P22:DATA OUT 按键串行扫描码按键串行扫描码 P10:监视时钟线状态监视时钟线状态 P11:监视数据线状态监视数据线状态 2 2.键盘接口电键盘接口电路路(1 1)串行接收键盘送来的扫描码,完成串并转换后保存。串行接收键盘送来的扫描码,完成串并转换后保存。(2
8、2)收妥一个键盘扫描码后,立即产生一个中断请求信号。收妥一个键盘扫描码后,立即产生一个中断请求信号。(3 3)保存的扫描码可供保存的扫描码可供CPUCPU读取,并通过软件进行相应转换读取,并通过软件进行相应转换 处理。处理。(4 4)接收接收CPUCPU的命令,输出到键盘,并接收键盘回送的响应的命令,输出到键盘,并接收键盘回送的响应信号。信号。接口功能:接口功能:工作原理工作原理(1)组成器件)组成器件 移位移位REG:74LS322 串行扫描码串行扫描码并行扫描码并行扫描码工作原理工作原理(1)组成器件)组成器件 时钟时钟FF:74LS157 键盘时钟键盘时钟DIN1 移位时钟移位时钟CLO
9、CK同步、适时、反向同步、适时、反向PCLK工作原理工作原理(1)组成器件)组成器件 中断中断FF:74S74串行扫描码转换成并行扫描码时产生中断请求串行扫描码转换成并行扫描码时产生中断请求IRQ1工作原理工作原理(1)组成器件)组成器件 8255:PA7PA0,PB2,PB6,PB7 把并行扫描码送到把并行扫描码送到CPU(2)工作过程工作过程 清键盘清键盘PB7=1LS322-OE禁止串禁止串/并行转换输出并行转换输出1LS322-CLR清清LS322LS32274S74-RQ=0IRQ1=0下次中断允许移位下次中断允许移位LS322-G=0Q=1允许键盘送进扫描码允许键盘送进扫描码 封锁
10、时钟封锁时钟PB6=0&OC OC门输出门输出 禁止键盘时钟禁止键盘时钟LS175-QLS175-Q2 2=1LS322=1LS322、74S7474S74无时钟无时钟(2)工作过程工作过程 允许键盘允许键盘(2)工作过程工作过程PB7=0LS322-OE=0 LS322-OE=0 允许传入并出允许传入并出解除解除LS322LS322、74S74 74S74 清零端清零端PB6=0 键盘输入时钟经键盘输入时钟经PCLKPCLK同步、延时、反相后作移位,中断时钟同步、延时、反相后作移位,中断时钟 接收扫描码接收扫描码DIN2中中 间间LS157Q2:移位时钟移位时钟DI8 8位扫描码位扫描码“0
11、”“0”8 8位扫描码位扫描码Q QA AQ QH H“0”“0”Q QH H=1=1 7474S74-1D S74-1D IRQIRQ1 1=1 =1 中断请求中断请求LS322-G=1 LS322LS322-G=1 LS322不允许移位不允许移位74S74-Q=0 KBD DATA=074S74-Q=0 KBD DATA=0初始化程序对初始化程序对82558255A A的设置的设置:MOV AL,99H MOV AL,99H ;模式模式0 0、A A口、口、C C口输入,口输入,B B口输出口输出OUT 63H,AL OUT 63H,AL ;将方式控制字写控制寄存器将方式控制字写控制寄存器
12、MOV AL,80H MOV AL,80H ;PB7=1PB7=1,PB6=0PB6=0,清除清除LS322LS322和中断请求触发器和中断请求触发器OUT 61H,AL OUT 61H,AL MOV AL,40H MOV AL,40H ;PB7=1 PB7=1,PB6=1PB6=1,允许允许LS322LS322工作并输出工作并输出OUT 61H,ALOUT 61H,ALIRQ1中断服务程序中扫描码的读取与控制中断服务程序中扫描码的读取与控制IN AL,60H IN AL,60H ;读读82558255AAAA口获取扫描码口获取扫描码PUSH AXPUSH AXIN AL,61H IN AL,
13、61H ;读读B B口输出状态口输出状态MOV AH,ALMOV AH,ALOR AL,80H OR AL,80H ;置置PB7=1PB7=1OUT 61H,ALOUT 61H,ALXCHG AH,ALXCHG AH,ALOUT 61H,ALOUT 61H,ALPOP AXPOP AXMOV AH,ALMOV AH,AL.本小节作业本小节作业 假定有一个假定有一个3 34 4的矩阵键盘通过并行接口芯片的矩阵键盘通过并行接口芯片82558255A A与微机相连。与微机相连。82558255A A的的A A口口定义为输出口,与键盘行线相连;定义为输出口,与键盘行线相连;B B口定义为输入口,与键盘
14、列线相连。接口硬件口定义为输入口,与键盘列线相连。接口硬件如图所示。如图所示。设设82558255AAAA口地址为口地址为4040H H,B B口地址为口地址为4141H H,控制寄存器地址为控制寄存器地址为4343H H,编写实现接口有关功能的程序。编写实现接口有关功能的程序。PA0PA1PA2PB3PB2PB1PB08255ACPU行0行1行20列3列非编码键盘接口+5v111111101111110111111011PA 1.1.检查是否有键检查是否有键:其方法是:输出扫描码,使所有行线其方法是:输出扫描码,使所有行线为为0 0。然后读入列线状态,检查是否有列线为。然后读入列线状态,检查
15、是否有列线为0 0。若有,则表。若有,则表明有行线和列线接通,意味有键按下。明有行线和列线接通,意味有键按下。2.2.去抖动去抖动:当有键按下时,延时:当有键按下时,延时2020msms左右,待抖动消失后,左右,待抖动消失后,在稳定状态下进行被按键识别。在稳定状态下进行被按键识别。3.3.被按键识别被按键识别:从第:从第0 0行第行第0 0列开始,通过逐行扫描确定被按列开始,通过逐行扫描确定被按键的编号。键的编号。4.4.产生键码产生键码:根据扫描得到的键编号查找键盘编码表,获得:根据扫描得到的键编号查找键盘编码表,获得与被按键功能对应的键码。与被按键功能对应的键码。实现的功能实现的功能DAT
16、A0DATA7:8 8位并行数据输出打印。位并行数据输出打印。4 4位输入位输入/输出口输出口STROBE:打印机接收数据选通打印机接收数据选通AUTO FD XT:打印机自动走纸一行打印机自动走纸一行INIT:打印机初始化打印机初始化SLCT IN:CPUCPU要送数据到打印机要送数据到打印机5 5位输入口位输入口ACK:数据已接收,可送新数据数据已接收,可送新数据 SLCT:打印机处于联机状态打印机处于联机状态BUSY:打印机忙不能接收数据打印机忙不能接收数据PE:打印机检测到设备没有纸打印机检测到设备没有纸 ERROR:打印机检测到错误打印机检测到错误 7.2 打印机接口打印机接口(通用
17、并行接口(通用并行接口Centronics)AENLS155双2-4译码器&=1A3A4A5A6A9A7A82GAB2C1G1C2Y02Y21Y01Y11Y2WPA 378H 输出锁存数据U4:LS374WPC 37AH 输出锁存数据U7:LS174RPA 378H 输入缓冲数据U3:LS244RPB 379H 输入缓冲状态U2-1G:LS240RPC 37AH 输入缓冲控制U2-2G:LS240A0A1J1 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
18、 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 RPCAENLS155双2-4译码器&=1A3A4A5A6A9A7A82GAB2C1G1C2Y02Y21Y01Y11Y2WPA 378H 输出锁存数据U4:LS374WPC 37AH 输出锁存数据U7:LS174RPA 378H 输入缓冲数据U3:LS244RPB 379H 输入缓冲状态U2-1G:LS240RPC 37AH 输入缓冲控制U2-2G:L
19、S240A0A1J1 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 RPC7.3 显示器接口显示器接口7.3.1 光栅扫描图形显示系统概述光栅扫描图形显示系统概述主主机机图图像像/图图形形生生成成器器VRAM作图作
20、图存图存图彩色表彩色表CRTCRTC命令命令像素值像素值颜色颜色(亮度亮度)RHSYNCVSYNCR/W主主机机图图像像/图图形形生生成成器器VRAMCRTC彩色表彩色表CRTCCRTVRAM1.图像图像/图形生成器图形生成器根据主机画图命令在根据主机画图命令在VRAM中生成图形的位图(中生成图形的位图(bitmap)把图像输入设备输入的数字信息直接或间接(经过主存)送入把图像输入设备输入的数字信息直接或间接(经过主存)送入VRAM2.显示缓存显示缓存(VRAM)(1)VRAM中位图数据(像素值)中位图数据(像素值)作为彩色表的地址,找出作为彩色表的地址,找出R、G、B、三原色亮度值三原色亮度
21、值CRT直接作为三原色的亮度值直接作为三原色的亮度值CRT(2)VRAM组织组织 图形与字符方式:图形位图和字符图形与字符方式:图形位图和字符ASCII码存放在码存放在VRAM中中编码编码属性属性ASCIIA10H28H44H82HFEH82H82H00H7.3 单色显示:每个像素单色显示:每个像素1位位 单色多灰度和彩色显示:每个像素用多位二进制表示单色多灰度和彩色显示:每个像素用多位二进制表示 组合像素(组合像素(packed-pixel):):每个像素所有位在单个每个像素所有位在单个bank中中 位平面(位平面(bit-plane)结构:像素每一位在不同的结构:像素每一位在不同的bank
22、中(位平面中(位平面)位平面:位平面:224224个个P1 P2 P3Pmp1p2p3Pm-1pm位平面位平面 n屏幕上一次同时显示的颜色数屏幕上一次同时显示的颜色数2n单显与彩显单显与彩显VRAM3.彩色表彩色表 高速高速RAM,把像素值转换为把像素值转换为R、G、B三原色的亮度值,即图像三原色的亮度值,即图像/视视频信号,控制频信号,控制CRT电子束的通、断、强弱,形成与电子束的通、断、强弱,形成与VRAM所存映像对应所存映像对应的可视画面。的可视画面。010001011100 0101 100045H45H00HFFHColor Index颜色号表地址1100 0101 1000RGB8
23、 8个位平面,个位平面,8 8位像素值位像素值2 28 8=256=256 每帧可同时显示颜色数每帧可同时显示颜色数1212位颜色值位颜色值2 21212=4096=4096 CRTCRT可以显示的颜色数可以显示的颜色数2 22424=16.7=16.7M M 真彩色真彩色CRT上XY点4.CRT(1 1)复合监视器()复合监视器(RGBRGB监视器):接收模拟信号监视器):接收模拟信号由由R R、G G、B B和同步信息组成复合信号在适配器中形成,由一根电缆传送和同步信息组成复合信号在适配器中形成,由一根电缆传送到到CRTCRT,然后在然后在CRTCRT中分开。中分开。精确分离彩色信号限制了
24、分辨率精确分离彩色信号限制了分辨率EGAEGA不直接支持复合监视器不直接支持复合监视器(2 2)数字)数字RGBRGB监视器:监视器:CDCD和和ECDECDCDRGBIECDRGB一条传送低亮度电子束信号一条传送低亮度电子束信号一条传送中亮度电子束信号一条传送中亮度电子束信号混合产生:高、混合产生:高、中、低亮度及中、低亮度及全暗全暗(3 3)模拟)模拟RGBRGB监视器监视器在三根导线上分别传送在三根导线上分别传送RGBRGB信号信号信号亮度由导线上电压控制信号亮度由导线上电压控制色彩的数量基本无限,取决于适配器产生不同电压能力和眼睛区分不同色彩的数量基本无限,取决于适配器产生不同电压能力
25、和眼睛区分不同 颜色的能力颜色的能力多(同步)扫描频率监视器:可调整其扫描频率以适应适配器的频率。多(同步)扫描频率监视器:可调整其扫描频率以适应适配器的频率。这样的这样的CRTCRT最高频率在最高频率在3030KHzKHz之内之内ECDECD支持两种频率:支持两种频率:15.7415.74KHzKHz(标准彩显),标准彩显),21.821.8KHzKHz4.CRT5.CRTC通用图形控制芯片通用图形控制芯片 一般功能:帧存储体的一般功能:帧存储体的R R、W W、刷新控制,行、帧同步及消隐信号。刷新控制,行、帧同步及消隐信号。智能功能:线、弧、多边形,填区图形原语及窗口、视口控制。智能功能:
26、线、弧、多边形,填区图形原语及窗口、视口控制。例如,例如,图图形时序控制芯片形时序控制芯片 MC 6845MC 6845(1MHz1MHz)CRTC 6845与微处理器接口的信号与微处理器接口的信号 CRTC 6845连接刷新存储器和连接刷新存储器和字符发生器的信号字符发生器的信号 CRTC 6845CRT监视信号监视信号MC 6845 功能功能产生产生RAMRAM地址:地址:MAMA0 0MAMA1313 VRAM 16MB VRAM 16MB产生产生ROMROM地址:地址:RARA0 0RARA4 4 光栅地址信号光栅地址信号 字符字符ROMROM低地址选字符点阵上一排点低地址选字符点阵上
27、一排点水平同步信号:水平同步信号:HSYNC HSYNC 控制画面水平位置控制画面水平位置 水平回扫时间水平回扫时间垂直同步信号:垂直同步信号:VSYNC VSYNC 控制画面垂直位置控制画面垂直位置 垂直回扫时间垂直回扫时间显示允许信号:显示允许信号:DISPEN DISPEN 光栅扫描处于有效显示区光栅扫描处于有效显示区光标输出信号:光标输出信号:CURSOR CURSOR 光标(光标(R R1414 R R1515)光笔选通输入:光笔选通输入:LPSSTB LPSSTB 当前当前RAMRAM地址送入光笔地址送入光笔R:RR:R1616R R1717编程监示器扫描方式:隔行或逐行扫描编程监
28、示器扫描方式:隔行或逐行扫描硬件滚屏:编程改变硬件滚屏:编程改变VRAMVRAM中刷新起始地址中刷新起始地址7.3.2 显示方式和显示标准显示方式和显示标准MDA mode 7MDA mode 7CGA mode 0,1,2,3,4,5,6,7CGA mode 0,1,2,3,4,5,6,7EGA mode DH,EH,FH,10H,EGA mode DH,EH,FH,10H,兼容兼容CGACGAVGA mode 11H,12H,13H,VGA mode 11H,12H,13H,兼容兼容EGAEGATVGA mode 50HTVGA mode 50H5AH,5BH5AH,5BH62H,62H,
29、兼容兼容VGAVGA1 1、显示方式、显示方式(1 1)字符显示方式()字符显示方式(A/NA/N)(2 2)图形显示方式()图形显示方式(APAAPA)显示模式见课本显示模式见课本286286页表页表7.47.42.显示标准显示标准适配器适配器显示方式显示方式字符字符分辨率分辨率颜色颜色VRAM地址地址MDAA/N80X25720X350单色B0000H,4KBCGAA/N,APA40X2580X25320X200640X20016色单色B8000H,16KB七种显示模式,兼容MDAEGAA/N80X25(7)单色B0000H,4KBA/N,APA40X2580X25(5,4)320X200
30、(6)640X200(DH)320X200(EH)640X200(FH)640X350(10H)640X350单,4色单16色16色单色16色B8000HA0000H,64KB4X16KB位平面A0000H,2X16KB位平面黑、白、闪、亮白色,4X64KB位平面EGA的BIOS从C0000H起VGAA/N,APA兼容EGA(11H)640X480(12H)640X480(13H)320X200单色16色256色B8000H,256KB总色数256K种同时显示16色或256色显示器的显示标准显示器的显示标准 CGA工作原理与编程工作原理与编程1、字符模式、字符模式 显示器上的每个字符在视频缓冲
31、区(显示器上的每个字符在视频缓冲区(VRAMVRAM)由)由2 2个字节表示,第一个个字节表示,第一个字节是字节是显示字符的显示字符的ASCIIASCII码码,而第二个字节是该,而第二个字节是该显示字符的属性。显示字符的属性。CGACGA的显存首址的显存首址:B8000HB8000H,空间空间:16KB16KBBIRed Green BlueIRed Green Blue闪烁位闪烁位背景颜色背景颜色前景颜色前景颜色D7D6D5D4D3D2D1D0彩色文本方式字符属性彩色文本方式字符属性偶字节地址(字符的偶字节地址(字符的ASCIIASCII)=B8000H+=B8000H+页起始偏移地址页起始
32、偏移地址+160+160X X行号行号+2+2X X列号列号奇字节地址(字符的属性)奇字节地址(字符的属性)=B8000H+=B8000H+页起始偏移地址页起始偏移地址+160+160X X行号行号+2+2X X列号列号+1+1下面是下面是8080 x25x25字符显示子程序。字符显示子程序。AXAX:字符的属性和代码;字符的属性和代码;DXDX:行号;行号;BXBX:列号;列号;CXCX:页起始偏移地址。页起始偏移地址。DIS_CHC PROC NEAR PUSH AX MOV AX,160 MUL DX SHL BX,1 ADD BX,AX ADD BX,CX MOV AX,B800H M
33、OV ES,AX MOV DX,3DAH CLIWAIT1:IN AL,DXTEST AL,1JNZ WAIT1WAIT2:IN AL,DXTEST AL,1JZ WAIT2POP AXMOV ES:BX,ALSTIRETDIS_CHC ENDP(1 1)640640X200X200分辨率分辨率640640X200=128000 16KB=128000 X200=128000 16KB=128000 一位像素值对应一个像素点,而其像素位置由(行号、列号)表示,即一位像素值对应一个像素点,而其像素位置由(行号、列号)表示,即(y,xy,x)行号:行号:0 0199 199 列号:列号:0 063
34、9639偶行像素放在显示缓存的前偶行像素放在显示缓存的前8 8KB,KB,奇行像素放在其后奇行像素放在其后8 8KBKB2、图形方式、图形方式字节地址字节地址=B8000H+2000H XB8000H+2000H X(行号行号mod2mod2)+(行号行号/2/2)X50H+X50H+(列号列号/8/8)位地址位地址=7-7-(列号(列号 mod 8mod 8)列号列号 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 位号位号 D7 D6 D5 D4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0编写按高分辨率模式显编写按高分辨率模式显示一个像素的子程序。
35、示一个像素的子程序。AXAX:行号;行号;BXBX:列号。设像素显示信息是白色。列号。设像素显示信息是白色。DIS_PIEXL PROC NEARPUSH BXPUSH AXSHR BX,1SHR BX,1SHR BX,1SHR AX,1MOV CX,50HMUL CXADD BX,AXMOV DX,BXPOP AXAND AX,1JZ THEREADD DX,2000HTHERE:POP BXAND BX,007HMOV AL,CS:TABLEBXMOV BX,B800HMOV ES,BXOR ES:DX,ALRETTABLE DB 80H,40H,20H,10H,08H,04H,02H,0
36、1HDIS_PIXEL ENDP(2 2)320X200320X200分辨率分辨率320320X200=64000X200=64000像素像素 16 16KB=128000KB=128000位位 每个像素用每个像素用2 2位表示位表示 D D7 7 D D6 6 D D5 5 D D4 4 D D3 3 D D2 2 D D1 1 D D0 0 像素像素0 0:C C1 1 C C0 0 1 1:C C1 1 C C0 0 2 2:C C1 1 C C0 0 3 3:C C1 1 C C0 0 行号:行号:0 0199 199 列号:列号:0 0319319字节地址字节地址=B8000H+20
37、00H X B8000H+2000H X(行号行号 mod 2mod 2)+(行号行号/2/2)X50H+X50H+(列号列号/4/4)位地址位地址=6-26-2X X(列号列号 mod 4mod 4)列号列号 0 1 2 3 0 1 2 3 位号位号 D6 D4 D2 D0D6 D4 D2 D0 像素像素 0 0:C0 1C0 1:C0 2C0 2:C0 3C0 3:C0C02、图形方式、图形方式3.CGA编程编程端口地址端口地址寄存器名称寄存器名称3 3D4H索引寄存器索引寄存器3 3D5H参数寄存器参数寄存器3 3D8H模式控制寄存器模式控制寄存器3 3D9H彩色彩色选择寄存器寄存器3
38、3DAH状状态寄存器寄存器3 3DBH消除光笔触消除光笔触发锁存器存器3 3DCH预置光笔触置光笔触发器器(1 1)模式控制寄存器)模式控制寄存器MR (MR (写写,3,3D8H)D8H)MR7MR6MR5MR4MR3MR2MR1MR0未用未用 0 01 01 01 01 01 01 0 闪烁闪烁 亮度亮度640X200 其它其它允许允许 禁止禁止单色彩色单色彩色图形图形 字符字符80X25 40X253.CGA编程编程(1 1)模式控制寄存器)模式控制寄存器MR (MR (写写,3,3D8H)D8H)MR7MR6MR5MR4MR3MR2MR1MR0未用未用 0 01 01 01 01 01
39、 01 0 闪烁闪烁 亮度亮度640X200 其它其它允许允许 禁止禁止单色彩色单色彩色图形图形 字符字符80X25 40X2540X25单色字符单色字符1011002CH彩色字符彩色字符10100028H3.CGA编程编程(1 1)模式控制寄存器)模式控制寄存器MR (MR (写写,3,3D8H)D8H)MR7MR6MR5MR4MR3MR2MR1MR0未用未用 0 01 01 01 01 01 01 0 闪烁闪烁 亮度亮度640X200 其它其它允许允许 禁止禁止单色彩色单色彩色图形图形 字符字符80X25 40X2540X25单色字符单色字符1011002CH彩色字符彩色字符1010002
40、8H80X25单色字符单色字符1011012DH彩色字符彩色字符10100129H3.CGA编程编程(1 1)模式控制寄存器)模式控制寄存器MR (MR (写写,3,3D8H)D8H)MR7MR6MR5MR4MR3MR2MR1MR0未用未用 0 01 01 01 01 01 01 0 闪烁闪烁 亮度亮度640X200 其它其它允许允许 禁止禁止单色彩色单色彩色图形图形 字符字符80X25 40X2540X25单色字符单色字符1011002CH彩色字符彩色字符10100028H80X25单色字符单色字符1011012DH彩色字符彩色字符10100129H320X200彩色图形彩色图形X01010
41、2AH320X200单色图形单色图形X011102EH640X200单色图形单色图形X111101EH3.CGA编程编程(2 2)彩色选择寄存器)彩色选择寄存器CR(CR(写写,3,3D9H)D9H)CR5CR4CR3CR2CR1CR0CSIIRGB320320X200色色组选择不加不加兰:0:0:绿、红、黄黄加加兰:1:1:青、青、绛红、白、白(0 03 3)字符背景亮度)字符背景亮度(4 45 5)320320X200图形形前景亮度前景亮度加加强C1C0(0 03 3)字符屏幕外框)字符屏幕外框(4 45 5)320320X200图形背形背景色景色(6 6)640640X200图形前景色形
42、前景色320320X200X200图形方式:图形方式:CRCR4 4 C C1 1 C C0 0 CR CR5 5 CR CR3 3 CR CR2 2 CR CR1 1 CR CR0 0 I R G B BI BR BG BB I R G B BI BR BG BB 16 16色前景色前景 16 16色背景色背景3.CGA编程编程(3)状态寄存器)状态寄存器SR(3DAH,只读)只读)SR3SR2SR1SR0VSYNC DLYLPEN SWLPEN STB垂直回垂直回扫期期光笔开关光笔开关光笔触光笔触发位位1010禁止禁止允允许CPU进行行VRAM刷新刷新未接通未接通为1 1置位(置位(OUT
43、 3DCH)复位(复位(OUT 3DBH)水平水平/垂直回垂直回扫光笔光笔输入信号置入信号置“1”“1”LPEN INPUT3.CGA编程编程(1)(1)选定操作模式选定操作模式;(2)(2)把模式控制寄存器第把模式控制寄存器第3 3位清位清0,0,即暂不允许视频信号输出即暂不允许视频信号输出;(3)(3)把所选模式对应的一组参数把所选模式对应的一组参数,置入参数寄存器置入参数寄存器;(4)(4)设置操作模式设置操作模式;(5)(5)设置彩色选择寄存器设置彩色选择寄存器;(6)(6)向显示缓存写入显示信息。向显示缓存写入显示信息。对彩色图形显示器进行程序设计的一般步骤对彩色图形显示器进行程序设
44、计的一般步骤:4.CGA组成组成7.3.4 EGA/VGA工作原理工作原理EGA EGA 兼容兼容MDAMDA、CGA CGA 增加增加 640 640X350/16X350/16色图形显示色图形显示VGA VGA 兼容兼容EGA EGA 增加增加 640 640X480/16X480/16色和色和320320X200/256X200/256色图形显示色图形显示1.1.EGA/VGAEGA/VGA字符显示字符显示2.EGA/VGA图形显示图形显示VGA VGA 信号类型为模拟类型,显示卡端的接口为信号类型为模拟类型,显示卡端的接口为 15 15 针母插针母插座:座:显示器连线端的接口为显示器连
45、线端的接口为 15 15 针公插头:针公插头:显示器编程的各种层次1 1、ROM BIOSROM BIOS提供了显示器驱动程序,可通过提供了显示器驱动程序,可通过INT 10HINT 10H调用。调用。AHAH的内容表的内容表示特定的功能。如:示特定的功能。如:0000H H:置显示模式;置显示模式;0 0CHCH:写点。写点。MOV AH,00HMOV AL,12HINT 10H ;设置640X480/16色的显示模式MOV DX,80H ;起始行号ROW:MOV CX,80H ;起始列号MOV AL,01H ;像素值MOV AH,0CHCOL:INT 10HINC CXCMP CX,0200HJL COLINC DX CMP DX,0160HJL ROW2 2、用、用DOSDOS系统调用编程完全独立于硬件,是最高级的编程方法。系统调用编程完全独立于硬件,是最高级的编程方法。通过通过INT 21HINT 21H调用。调用。0909H H:显示字符串;显示字符串;0202H H:输出字符;输出字符;4040H H:写文件或写文件或外设。外设。可以在不同的机型上运行。可以在不同的机型上运行。显示器编程的各种层次
限制150内