新浪博客

计算机中段的字符发生器

2017-11-06 10:21阅读:
【2】字符发生器(ROM)
字符发生器将VRAM中的字符编码(ASCII)转换成字符点阵信息。!把字符点阵用二进制编码表示后,存入一个ROM中就形成了字符库。显示时根据字符的ASCII码将点阵信息从ROM中读出,送到CRT作为!亮度控制信号使用,在屏幕上显示出对应的字符。字符发生器的容量由字符集的大小和字符点阵的规模决定。
例如,ASCII字符集中可显示的字符为95中,若每个字符点阵为7(列)*9(行),则ROM最小容量=95种*9行*7位=855*7位。通常,在一个字符行中字符之间的间隙信息也一起存入ROM中。若字符间隙为一个像素点,那么该字符发生器ROM容量至少为855B。字符发生器ROM的地址由两部分组成,高位地址来自从VRAM读出的字符ASCII,低位地址(光栅地址)即为在字符点阵中的行号。
图5-30(a)示意了字符“A'的点阵字形,点阵大小为7(列)*9(行),字符间隔为一个点阵,若字符行之间的间隔为两个像素行,则字符窗口为8(列)*11(行)。但是,字符发生器ROM中不需要存储这两行间隔信息。这样,每个字符在字符发生器ROM中占据连续9个单元存放其字形点阵信息,起始地址为字符ASCII,ROM单元宽度为一个字节。对于字符”A“来说,其字形点阵信息在字符发生器ROM中的起始地址为410H(高位41H为”A'的ASCII,低位0H为起始行号),连续9个单元的内容分别为:10H,28H,44H,82H,82H,FEH,82H,82H,82H。
图5-30(b)示意了字符发生器的结构。从Rom读出的字符点阵一行信息,经过移位寄存器进行并——串转换后,形成串行位流送至CRT视频输入口,作为CRT亮度控制信号。
【3】显示定时控制
显示控制器中的定时控制电路主要提供CRT屏幕刷新过程中的定时信号,以专用的LSI芯片形式出现,例如Intel8275等,图5-31给出了CRT字符显示控制器(CRTC)的组成结构。
点振荡器产生扫描所需要的点时钟信号,控制视频信号的输出,点振荡器的频率与帧频和分辨率有关。当帧频固定时,分辨率越高,点频率就越高,点频的稳定性对显示质量影响较大,所以,点振荡器通常采用稳定性较好的晶体振荡器。
点计数器对字符窗口中一行的像素点进行计数。点计数器的计数脉冲来自点时钟信号,每计满一次输出一个字符时钟信号,控制对位移寄存器进行加载。点计数器的模等于字符窗口的宽度。
字计数器(也称为水平地址计数器)对屏幕一行中的字符进行计数。字计数器的计数值送往VRAM作为高位地址,计数脉冲来自计数器输出的排脉冲信号,每计满一次控制电子束进行垂直回扫。排计数器的模等于屏幕所显示的字符行数加上垂直回扫时间(折合成字符行周期个数)。
水平同步信号和垂直同步信号是CRT中两个基本的同步信号,用来控制电子束的偏转,使电子束打在屏幕的对应位置。
【例题】某CRT显示器可显示95种ASCII字符,每帧可显示64字*25排,每个字符字形采用7*8点阵,即横向7点,字间间隔为1点(为方便起见和点阵一起存在ROM中),从向8点,排间间距隔离6点。帧频50HZ,行频24.5KHZ,点频14.896MHZ,采用逐行扫描方式,问:
【1】缓存容量至少有多大?
【2】字符发生器(ROM)容量至少有多大?
【3】缓存中存放的是ASCLII还是点阵信息?
【4】缓存地址与屏幕显示位置如何对应?
【5】需要设置那些计数器来实现显示定时控制?各计数器的模分别是多少?
解题【1】VROM最小容量(缓存容量)=64*25*6B=1600B。
【2】ROM最小容量=95*8行*8点=760B。
【3】缓存中存放的是一屏待显示字符的ASCII码。
【4】显示位置自左至右,从上到下,相应的,缓存地址由由低到高与屏幕显示位置一一对应。
【5】点计数器模=7+1=8.
   字计数器模=14.896MHZ/24.5HZ/8=76.
   行计数器模=8+6=14.
排计数器模=24.5KHZ/50HZ/14=35.

我的更多文章

下载客户端阅读体验更佳

APP专享