接口技术人机接口_第1页
接口技术人机接口_第2页
接口技术人机接口_第3页
接口技术人机接口_第4页
接口技术人机接口_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

接口技术人机接口第一页,共六十一页,2022年,8月28日一、键盘接口的功能和原理1.接口功能

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

所谓去抖动是指在识别被按键和释放键时必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖动问题可通过软件延时或硬件滤波电路(RC滤波或RS去抖)解决。第二页,共六十一页,2022年,8月28日(2)防串键

防串键是为了解决多个键同时按下或者前一按键没有释放又有新下时产生的问题。

①双键锁定:当检测到有两个或两个以上的键被按下时,只把最后释放的键当作有效键,并产生相应键码。

②N键轮回:当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。(3)被按键识别

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

②线反转法:该方法的基本思想是通过行列颠倒两次扫描来识别闭合键。多用Z-80PIO芯片实现第三页,共六十一页,2022年,8月28日(4)键码产生一般在内存区中键立一个键盘编码表,通过查表获得被按键的键码。2.接口原理①检查是否有键按下,其方法是:输出扫描码,使所有行线为0。然后读入列线状态,检查是否有列线为0。若有,则表明有行线和列线接通,意味着有键按下。②去抖动:当有键按下时,延时20ms左右,待抖动消失后,在稳定状态下进行被按键识别。③被按键识别:从第0行第0列开始,顺序对所有按键编号。通过逐行扫描确定被按键的编号。④产生键码:根据扫描得到的键编号查找键盘编码表,获得与被按键功能对应的键码。第四页,共六十一页,2022年,8月28日

例如,假定有一个34的矩阵键盘通过并行接口芯片8255A与微机相连。8255A的A定义为输出口,与键盘行线相连;B口定义为输入口,与键盘列线相连。接口硬件如图10.1所示。PA0PA1PA2PB3PB2PB1PB08255ACPU行0行1行2列0列3列1列2图10.1非编码键盘接口第五页,共六十一页,2022年,8月28日

设8255AA口地址为60H,B口地址为61H,控制寄存器地址为63H,则实现接口有关功能的程序如下:

;8255A初始化

MOVAL,82H;方式0,A口输出,B口输入

OUT63H,AL

;检查是否有键按下BEGIN:MOVAL,0;低电平有效

OUT60H,ALWAIT:INAL,61HANDAL,0FHCMPAL,0FH;低电平有效

JZWAIT

第六页,共六十一页,2022年,8月28日

MOVCX,7FFH;;延时去抖动L0:LOOPL0

;识别被按下的键ST:MOVBL,03H;行数送BLMOVBH,04H;列数送BHMOVAL,0FEH;扫描码,0行为0MOVCL,0FH;列线屏蔽码送CLMOVCH,0FFH ;置键号初值为-1L1:OUT60H,AL;扫描一行

ROLALDECBLMOVAH,AL;修改扫描码并送AH保存

INAL,61H第七页,共六十一页,2022年,8月28日

ANDAL,CLCMPAL,CL;读入列线值,检查是否有列填线为0JNZL2;有列线为0时转去找该列线

ADDCH,BH;否则,指向该行末列键号

MOVAL,AH;取回扫描码

DECBLJNZL1;行数减1,未完成转下一行

JMPBEGINL2:INCCH;该列非0,检查下一列

RCRALJCL2;该列非0,检查下一列

MOVAL,CH;该列为0,键号送AL第八页,共六十一页,2022年,8月28日

JMPKEYTABLE;转查找键盘编码表子程序,获取与键功能对应的键码二、可编程键盘/LED接口芯片82791.内部结构及各部分功能

8279芯片的内部结构框图如图10.2所示。图中各组成部分功能如下:(1)I/O控制及数据缓冲器(2)控制与定时寄存器及定时控制(3)扫描计数器(4)键盘去抖与控制及返回缓冲器(5)FIFORAM及状态寄存器(6)显示RAM、显示寄存器、显示地址寄存器第九页,共六十一页,2022年,8月28日数据缓冲器I/O控制FIFORAM的状态寄存器显示地址寄存器16×8显示RAM片选总线控制与定时寄存器8×8FIFORAM键盘去抖与控制显示寄存器定时控制扫描计数器返回缓冲器时钟CLK复位ResetOUTA0~3OUTB0~3BDSL0~3RL0~3SHIFTCNTL/STBD0~7RDWRCSA0IRQ图10.28279芯片的内部结构框图第十页,共六十一页,2022年,8月28日2.外部特性电信号连接示意图可知,40条引线中与CPU一侧相关的共15条,与键盘、显示接口相关的共23条,电源、地各一条。8279RL0~RL7SHIFTCNTL/STBSL0~SL3OUTA0~3OUTB0~3BDD0~D7IRQRDWRCSA0CLKRESET+5VGNDCPU键盘显示器第十一页,共六十一页,2022年,8月28日D0~D7:双向数据线,用于CPU和8279芯片之间传送数据、命令和状态信息。CLK:系统时钟,为8279芯片提供内部定时。RESET:复位线,高电平时复位8279芯片到:16个字符显示(左进方式);编码扫描键盘(双键锁定);时钟设置为31.CS-:片选线,由I/O端口地址译码器产生低电平时8279芯片被选中。RD-:读信号,低电平有效。WR-:写信号,低电平有效。A0:地址线,为0时选中数据口;1时选中命令/状态口。IRQ:中断请求线,高电平有效,向CPU申请中断。第十二页,共六十一页,2022年,8月28日SL0~SL3:扫描线,用来扫描键盘或显示器,可编程设定为编码输出或译码输出。编码扫描:SL3-SL0输出扫描计数,经外部译码器的译码后最多可为键盘和显示器提供16个扫描信号。译码扫描:

SL3-SL0输出可直接作为键盘和显示器的扫描信号,此时键盘矩阵为4*8,显示字符为4位。RL0~RL7:返回线,用作键盘矩阵列线的返回信号输入。SHIFT:移位信号,是键盘数据的D6位,用于扩充键的功能,如作为上、下档功能键。CNTL:控制线。是键盘数据的D7位,用于扩充键的控制功能--控制功能键。OUTA0~OUTA3,OUTB0~OUTB3:A/B组显示信号输出线,与扫描线SL0~3同步,实现分时数据显示,即刷新各显示字符。BD-:显示消隐线,显示数据切换时或收到消隐命令时,将显示消隐。第十三页,共六十一页,2022年,8月28日3.命令字当引脚A0=1时,CPU向8279芯片写入命令字。8279芯片可执行的命令共有8条,它们决定了8279芯片的操作方式。命令字格式如下:特征位命令参数D7

D6D5D4D3D2D1D0(1)设置键盘及显示方式设置键盘及显示方式命令字格式为:000D2D1

K2K1K0D4D3(D2D1):用来设定显示输出方式,定义如表10.1所示。D4D3(K2K1):设定键盘输入方式,定义如表10.2所示。D0(K0):键盘扫描方式。K0=0为编码扫描;K0=1为译码扫描。第十四页,共六十一页,2022年,8月28日D2D1方式

000110118个字符显示,左进方式16个字符显示,左进方式8个字符显示,右进方式16个字符显示,右进方式

K2K1

方式

00011011扫描键盘输入,双键锁定扫描键盘输入,N键轮回扫描传感器输入选通输入表10.1显示输出方式表10.2键盘输入方式D2:0-左进方式1-右进方式D1:0-8个字符1-16个字符左进:显示位置从最左一位即最高位开始,逐个向右顺序输出右进:显示位置从最右一位即最低位(个位)开始,高位从右边进入,逐次左移。==计算器显示方式N键轮回:根据发现顺序依次将相应键盘数据送入FIFORAM第十五页,共六十一页,2022年,8月28日

D4~D0(PPPPP):用来设定对外输入CLK的分频系数N(N值可为2~31),以便获得8279芯片内部要求的100kHz的基本频率D7D6D5D4D3D2D1D0001AI×A1A2A0D4(AI):自动地址增量标志位。当AI=1时,每次读出后地址自动加1指向下一存储单元AI=0时,读出后地址不变。D2D1D0(A2A1A0):在键盘方式中无意义,都写0.(2)设置时钟频率D7D6D5D4D3D2D1D0010PPPPP(3)读FIFORAMD7D6D5D4D3D2D1D0CNTLSL2ShiftSL1SL0RL1RL2RL0键盘数据格式:第十六页,共六十一页,2022年,8月28日(4)读显示RAMD7D6D5D4D3D2D1D0011AIA3A1A2A0

D4(AI):自动地址增量标志。AI=1时读后地址自动增1;

AI=0时,读后地址不变。(5)写显示RAM100AIA3…A0(6)禁写显示RAM/消隐

101×IWAIWBBLABLBIW=1时,显示RAM禁止写入该组,CPU写数据不影响该组显示

BL=1时,该组显示被消隐,=0时显示恢复(7)清除

110CD2CD1CD0CFCACF:清空FIFORAM,使IRQ复位

CA总清位,显示RAM清除方式CD1-0CD2CD1CD0方式10×1011100××

全部清除(为00)置成20H(为‘-’)置成全1(为FF)不清除,CA=1,则CD1-0仍有效表10.3显示RAM清除方式第十七页,共六十一页,2022年,8月28日(8)结束中断/设置错误方式111E××××N键轮回方式下,当E=1时,设置一种特殊错误方式:在8279消抖周期内发现多件同时按下时,将状态字中S/E位置1,并产生中断请求信号和阻止写入FIFORAM4.状态字主要用来指示FIFORAM中的字符数和有无错误发生。其格式为:Du:显示无效,当执行RAM清除时置位S/E:多键同时按下O:FIFO满时,再写入即置位U:FIFO空,即字符个数=0F:FIFO满,即字符个数=8NNN:FIFO有几个字符待取走0-7D7D6D5D4D3D2D1D0Du0S/EUFNNN5.8279芯片应用举例

TP86A单板微型计算机使用8279芯片作为键盘及LED显示器接口,电路原理图如图10.4所示。第十八页,共六十一页,2022年,8月28日8279RL0SHIFTCNTLOUTA0~3OUTB0~3D0~D7RDWRCSA0CLKRESETTP86SL0SL1SL2SL3RL0键盘矩阵A74LS45BCD74LS45段驱动器(反相)ABCY0Y1Y20007+5V译码器74LS156图10.4TP86单板机键盘/显示器接口电路译码器第十九页,共六十一页,2022年,8月28日

①键盘输入程序段,执行下面程序段后可在内存400H单元中找到被按下键的代码。

MOVDX,0FFEAHMOVAL,00H;设定键盘输入,编码扫描方式

OUTDX,AL MOVAL,39H;扫描频率

OUTDX,ALMOVAL,0D3H;

OUTDX,AL;显示RAM清0LOOP1:MOVDX,0FFEAHINAL,DX

第二十页,共六十一页,2022年,8月28日

TESTAL,10H ;检查是否有键入代码

JNZLOOP1;无再查

MOVAL,40H;有键入代码,指定读FIFOOUTDX,AL

MOVDX,0FFE8HINAL,DX;读出数据

MOVDI,400H;DI指向存放按键代码的内存单元

MOV[DI],AL;存入内存400H单元

HLT;暂停②显示输出程序段,执行下面程序段后从0位开始显示19991208八个字符,假定八个字符的字形码存于内存300H开始的8个单元中。第二十一页,共六十一页,2022年,8月28日

MOVSI,300H;设置显示字符内存区地址指针

MOVCX,08H;设置显示字符数

MOVDX,0FFEAHMOVAL,00H;设置显示输出工作方式

OUTDX,ALMOVAL,39H;分频系数为25,产生

100kHz扫描频率

OUTDX,ALMOVAL,0D1H;D3HOUTDX,AL;显示RAM清0MOVAL,90H;写显示RAM命令,从0号单元起,地址自动加1OUTDX,ALL:MOVDX,0FFE8HMOVAL,[SI]OUTDX,AL;从内存中取显示代码送显示RAMINCSI;修改地址指针第二十二页,共六十一页,2022年,8月28日

DECCX;修改计数器值

JNZLHLT300HDB7FH,3FH,5BH,06H,67H,67H,67H,06H三、PC微机键盘及接口①键盘由单片机、译码器和16行×8列的键开关矩阵三大部分组成。②按键采用电容开关,即按键时的上下动作使电容量发生变化,从而实现开关接通或断开的目的。③它是一种由单片机扫描、编码的智能化键盘。④它是一个与主机箱分开的独立部件,通过一根五芯电缆与主机相连接。

硬中断程序:中断号为09H,当按键动作引发IRQ1时,该第二十三页,共六十一页,2022年,8月28日程序负责把键盘扫描码转换成ASCII码,然后存入键盘缓冲区。

软中断程序INT16H:ROMBIOS中的键盘功能调用程序,该调的功能是从键盘缓冲区取出按键产生的ASCII码。2.键盘接口电路(1)接口功能串行接收键盘送来的扫描码,完成串行转换后保存;收妥一个键盘扫描码后,立即产生一个中断请求信号;保存的扫描码可供CPU读取,并通过软件进行相应转换处理;接收CPU的命令,输出到键盘,并接收键盘回送的响应信号。(2)接口电路根据接口电路应完成的功能,接口电路可由串行并转换电路、时钟同步电路、中断请求触发器及一些门电路组成。第二十四页,共六十一页,2022年,8月28日Keyboard(5PC)Pin Name Description TechnicalCLOCK Clock CLK/CTS,DATA Data RxD/TxD/RTS,n/c 4 GND Ground VCC +5VDC口朝上134526PIN(PS/2STYLE)Pin Name Description1 DATA KeyDatan/c - GND 4 VCC +5VDC5 CLK Clockn/c - 654321第二十五页,共六十一页,2022年,8月28日SEDSS/PD0OECLRCLKGOAOBOHOHD11DCLKCLRPR+5VQQDCLKRQDCLKRQ+5VLS3228255APB7PB6CLKDATARESETGND+5VPCLKRESET8255APA7PA6PA0IRQ1图10.5微机键盘接口电路第二十六页,共六十一页,2022年,8月28日初始化程序中对8255A的设置:

MOVAL,99H;模式0,A口,C口输入,B口输出

OUT63H,AL;将方式控制字写控制寄存器

MOVAL,40H;PB7=0,PB6=1,允许LS322工作方式输出

OUT61H,ALIRQ1中断服务程序中扫描码的读取与控制:

INAL,60H;读8255AA口获取扫描码

PUSHAX;将AL中的扫描码入栈保存

INAL,61H;读B口原输出状态

MOVAH,AL;暂存于AHORAL,80H;置PB7=1,清除LS322T和中断请求触发器

第二十七页,共六十一页,2022年,8月28日

OUT61H,ALPOPAX;弹出扫描码至AL中

MOVAH,AL;AH中也为键扫描码键处理

10.2CRT显示器接口

显示器是计算机系统的基本设备,主要用于程序输入、程序调试、信息显示、结果显示等。(如:MDA单显示器、低分辩率的CGA、EGA等)当前流行的都分辨率可达1024×768、1280×1042等的高分辨率SuperVGA显示器.第二十八页,共六十一页,2022年,8月28日第二十九页,共六十一页,2022年,8月28日一、显示器文本方式I/O

显示的文本方式(TEXTMODE)对于所有类型的显示器(MDA、CGA、EGA、VGA、SuperVGA等)的操作方法和显示原理都基本相同。在文本方式下,显示器的屏幕一般被分成80×25(80列,25行)的网络,所有的字符就在这2000个(80×25)的网格上显示,屏幕上显示的每个字符都在显示缓冲区(VRAM)中对应一个存储单元,即屏幕的存储器映象。在彩色文本方式下,显示文本的视频缓冲区首地址为B800:000H,每个字符占用两个存储器单元,其中每一具单元为显示字符的ASCII码,第二个单元为该显示字符的属性。第三十页,共六十一页,2022年,8月28日1.字符显示原理

显示器字符的方法以点阵为基础。这种方式将字符分解成m×n个点阵组成阵列,将点阵存入由ROM构成的字符发生器中,在CRT进行光栅扫描的过程中,从字符发生器中依次读出点阵,按照点阵的0和1控制扫描电了束开关,在屏幕中形成字符。字符字符点阵的多少取决于字符显示质量和字符块大小,在PC机中字符窗口为9×14点阵,字符为7×9点阵。在PC机中,整个屏幕的字符共占用4000字节的视频存储器空间(B800:0H-B800:F9FH),彩色文本显示的视频缓冲区首地址为B800:0H,单色文本为B000:000H。第三十一页,共六十一页,2022年,8月28日移位寄存器SL视频信号字符发生器ROMVRAMRA3~RA0ASCII码OSCI/9I/(80+18)I/(9+5)I/(25+1)点振荡器(16.257MHz)点计数器水平地址计数器加载控制水平消隐行间消隐垂直消隐光栅地址计数器垂直地址计数器水平同步电路垂直同步电路水平同步信号垂直同步信号CPU控制字符时钟定时控制电路VRAM与显示屏的对应关系第三十二页,共六十一页,2022年,8月28日2.字符属性显示器上的每个字符在视频缓冲区(VRAM)由2个字节表示,第一个字节是显示字符的ASCII码,而第二具字节是该显示字符的司性。字符的必性确定了该显示字符的特性,如显示字符的颜色、背景颜色、闪铄等,在彩色文本方式下,字符的属性定义如图所示。其中:1)BI=1:表示该显示的字符闪烁;2)D6~D4:表示该显示字符的背景颜色RGB;3)D3~D0:表示该显示字符的前景颜色RGB;第三十三页,共六十一页,2022年,8月28日BIRedGreenBlueIRedGreenBlue闪烁位背景颜色背景颜色D7D6D5D4D3D2D1D0彩色文本方式字符属性如把80×25模式的整个屏幕全部刷成字符A,属性为红色前景、蓝色背景、显示字条款闪烁的程序段为:MOVAX,0B800H;彩色文本方式VRAM首址MOVES,AXMOVDI,0MOVCX,2000MOVAH,10010100B;显示属性:闪烁,蓝色背景,红色前景REPSTOSW;AX→VRAM单元中,相当于显示到屏幕上

第三十四页,共六十一页,2022年,8月28日在上述程序中,如果把字符属性改为08(黑色背景,灰白色前景,不闪烁),同时把显示的字符‘A’改为20H(空格),上述程序则是一个清屏程序。在彩色文本方式下,视频缓冲区(VRAM)的首地址为B800:0H,屏幕上显示的字符依次与B800:0H后的存储器单元相应,因此,直接写屏就是把需显示的字符及属性直接写入VRAM中,就达到了彩色文本显示的目的。直接写屏的子程序如下:WRITE_SCREENPROCNEARPUSHESPUSHDISHLDX,1SHLDX,1第三十五页,共六十一页,2022年,8月28日SHLDX,1SHLDX,1;行坐标×16MOVDI,DXSHLDX,1SHLDX,1;行坐标×64ADDDI,DX;行坐标×(64+16)ADDDI,CX;视频缓冲区偏移=行×80+列MOVDX,0B800H;VRAM首地址MOVES,AXSTOSW;字符和属性VRAMPOPDIPOPESRETWRITE-SCREENENDP第三十六页,共六十一页,2022年,8月28日Inearly2001,….andresearchCorporationcompletedAnotheryearof80x25CRTVRAM0行1行i行B800:00B800:A7Hf2行7列第三十七页,共六十一页,2022年,8月28日在彩色文本直接写屏中,显示位置在视频缓冲区VRAM的偏移地址可由公式:VRAM偏移地址=80×行坐标+列坐标,来进行计算。屏幕字符的显示通常使用中断(如INT10H、INT21H等)来进行,中断字符显示方式速度较慢,但通用性和兼容性好。二、显示器图形接口显示器的图形方式就是利用显示器的像点(Pixel)来构成图形、图像、各种显示适配器有不同的显示模式和分辨率,在下表中主要列出了标准的显示适配器的各种显示模式的图形分辨率、颜色数和视频缓冲区地址。各种显示适配器(显示卡)都是向下包含的,如TVGA显示适配器包含VGA以下的所有显示适配器的各种显示模式。第三十八页,共六十一页,2022年,8月28日显示类型模式号显示分辨率VRAM首地址MDA07720×350(2C)

B000:0HCGA0406320×200(4C)640×200(2C)

B800:0HB800:0HEGA0D0E0F10320×200(16C)640×200(16C)640×350(4C)640×350(16C)

A000:0HA000:0HA000:0HA000:0HVGA111213640×480(2C)640×480(16C)320×200(256C)

A000:0HA000:0HA000:0HTVGA5B5C5D5E5F62800×600(16C)640×400(256C)640×480(256C)800×600(256C)1024×768(16C)1024×768(256C)

A000:0HA000:0HA000:0HA000:0HA000:0HA000:0H显示器各种图形模式下的分辨率第三十九页,共六十一页,2022年,8月28日

MDA、CGA、EGA都是数字式的显示适配器,这类显示器由于颜色数较少,VGA、SuperVGA均是采用RGB三基色分量的模拟显示器,由于计算机送出颜色索引值,通过查找索引寄存器取得DAC表中的RGB分量亮度值,再由DAC(数/模转换器)输出RGB的模拟信号供显示器显示。采用RGB模拟信号的显示器的颜色数多,颜色过渡平滑,色彩鲜艳,更接近自然颜色。

1.VGA图形显示原理

VGA(VideoGraphicsArray)显示适配器是采用RGB模拟显示的接口卡,VGA显示适配器的视频存储器VRAM与显示器屏幕上的像点有两种映射方式:彩色位面法和压缩像素法。(1)彩色位面法从EGA(EnhanceGraphicsAdapter----增强型图形适配器)适配器开始首先采用了彩色位面显示方式,所谓彩色位面第四十页,共六十一页,2022年,8月28日就是把视频缓冲区VRAM按照一定的大小(与显示模式有关,不同的显示模式一页的大小也不同)划分为几个独立的位面(页)每个页面被用来控制一种颜色分量(RGB),每个显示像至少在页面中占一位。如图10.7所示。

3210IRGBVGA16色显示模式………..101000000100……………………图10.7VGA显示器VRAM与显示屏映射关系第四十一页,共六十一页,2022年,8月28日在VGA显示适配器中,彩色位面法用于16色模式。图形16色显示时把VRAM划分为4个彩色位面。屏幕上的像点特征由4个位面的值共同确定。在12H(640×480×16C)模式下,一页的大小为640/8×480=38400B,因此一屏图形或图像共占VRAM空间为38400×4=153600字节。VRAM与物理显示屏的对应关系(省去了颜色索引和DAC处理)如图10.7所示。一个彩色位面上的一个字节对应屏幕上的8个像点Pixel),在缺省调色板一个位面实际上代表某一基色(RGB),因此4个位面共可以表示16种颜色。一般来说,由0~3位面合成的值是一个颜色索引值,而不是真正显示器所显示的颜色值,真正显示的颜色必须通过索引寄存器查到,再通过DAC表产生,如图10.8所示。第四十二页,共六十一页,2022年,8月28日0111颜色索引寄存器

001001模块寄存器颜色选择寄存器D0D1D2D3D4D5D6D7Red000000Green000000Blue000000063

D/A

D/A

D/A到模拟显示器DAC转换表VRAM01110715图10.8VGA位面法VRAM内存映像第四十三页,共六十一页,2022年,8月28日下面是采用直接写点的640×480(16色)子程序,在应用程序中可以直接调用入口参数:AX=行坐标;BX=列坐标;CH=颜色值VGA-COLOR16PROCNEARMOVDX,0A000H;视频缓冲区首地址MOVES,DXMOVDX,80;一行字节数MULDX;行×80MOVDI,AXMOVAX,BXMOVCL,3SHRAX,3;列/8第四十四页,共六十一页,2022年,8月28日ADDDI,AX;VRAM偏移=行×80+列/8;分离字处理MOVCL,BLANDCL,7XORCL,7MOVBL,80HSHLBL,CL;BL=图形点分离字;寄存器设置MOVDX,3C4H;定序器MOVAL,2OUTDX,AL;选映射模式寄存器INCDXMOVAL,OFH;开放4个彩色位面OUTDX,AL第四十五页,共六十一页,2022年,8月28日MOVDX,3CEH;图形控制器端口MOVAL,5;5号:写模式寄存器OUTDX,ALINCDXMOVAL,2;设置写模式2:锁存写点OUTDX,ALDECDXMOVAL,8;选择8号:分离字寄存器OUTDX,ALINCDXMOVAL,BLOUTDX,AL;写入分离字第四十六页,共六十一页,2022年,8月28日MOVAL,ES:[DI];读出数据MOVES:[DI],CH;写入新的颜色数据RET;返回(2)压缩像素法在压缩像素法中,VRAM中的一个字节对应屏幕上的一个像点(Pixel),由于一个字节取值0-255,所以屏幕上的点就有256种颜色的变化(256色)。VRAM与屏幕的映射关系如图10.9所示。为了与彩色位面法和真彩色的彩色位面相对应,在习惯上把256色的显示方式也称为8位的彩色位面,相对应256色下生成的图像、图形文件称为8位面的图像或图形。第四十七页,共六十一页,2022年,8月28日

A000:00000100101010100111

…………111010010001

0002VGA256色显示模式……..

VRAM……..图10.9VGA压缩像素法VRAM内存映象在压缩像素法中,VRAM的一个字节的内容直接通过DAC表查出对应的屏幕显示颜色值,通过RGB三基色的D/A转换器显示到屏幕上。压缩像素法与彩色位面法一样,在不同的分辨率模式下,其一屏图形或图你所占的VRAM的大小也不相同,第四十八页,共六十一页,2022年,8月28日如模式为13H(320×200×256C)时,一屏图像大小为64000字节,为5DH(640×480×256C)时,一屏图像的大小需256KB的VRAM空间。

VGA_COLOR256PROCNEARMOVDX,0A000H;视频缓冲区首地址MOVES,DXMOVDX,320;一行字节数MULDX;行数×一行字节数ADDAX,BX;VRAM偏移=行数×一行字节数+列MOVDI,AXMOVES:[DI],CHRET;返回第四十九页,共六十一页,2022年,8月28日2.DAC数模转换器数模转换器(DAC)是VGA和VGA图形适配器所特有寄存器组。DAC能将数字信号转换为模拟信号,以驱动VGA或SuperVGA的RGB模拟显示器。由于模拟信号可以连续变化,因此显示器显示的色彩变化可以非常平滑,适合人的视觉感受。第五十页,共六十一页,2022年,8月28日DAC数模转换器由3个视频数模转换寄存器(RGB)和DAC电路组成,它们分别控制红(R)、绿(G)、蓝(B)原色亮度值(RGB)。每个寄存器为6位,其亮度值(色饱和度)范围为0~63,3个寄存器一共可以产生64×64×64=266144种颜色。同时DAC还必须从查色表(颜色索引寄存器)中取得颜色编码,以决定屏幕上应显示何种颜色。查色表为8位,所以DAC一次只能从醒色表中转换28=256种颜色。对于假彩色显示适配器(显卡)如:VGA、SuperVGA等,虽然DAC能产生266144种颜色,但同一时刻同屏上只能显示256种颜色。

DAC的操作一般可通过I/O端口或BIOS的INT10H相应功能来进行,常用I/O端口地址如下:第五十一页,共六十一页,2022年,8月28日

3C7H:查色表读索引寄存器

3C8H:查色表写索引寄存器

3C9H:查色表数据寄存器用BIOS的INT10H可以方便地对DAC进行操作,主要功能有:AH=10HAL=10H设置某一颜色的RGB值

AL=12H设置一组颜色的RGB值

AL=15H读某一颜色的RGB值

AL=17H读一组颜色的RGB值第五十二页,共六十一页,2022年,8月28日10.3打印机接口打印机是微型计算机系统中一种最常用、最重要的硬拷贝输出设备,它可以打印字母、数字、文字、字符和图形等。打印机的种类很多,性能差别也很大。一、打印机的结构及各部分功能针式打印机的主要工作是接收外部送来的数据或控制命令,然后根据控制命令的要求,将要打印的数据变为打印头的动作,把数据记录在打印纸上。1.打印机构打印机由打印头、字车机构、走纸机构、色带机构、检测器等组成。第五十三页,共六十一页,2022年,8月28日2.控制逻辑电路控制逻辑电路着打印机各部分的动作,它由微处理器、行缓存RAM、ROM和打印头驱动电路等主要部分组成。(1)微处理器微处理器是控制逻辑电路的核心,通常为6800、Z80或8085等8位CPU,具体随不同打印机而异。CPU主要完成两方面功能:一是根据接收的控制命令和打印数据,完成指定的打印,并将打印机的状态返回给系统和操作面板;二是控制走纸步进电机和字车驱

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论