动态图形的快速显示技术.pdfVIP

  • 5
  • 0
  • 约9.67千字
  • 约 4页
  • 2017-09-12 发布于广西
  • 举报
维普资讯 f~Ib 动巷,固影 滤 VM 第 14卷第 2期 微 计 算 机 应 用 Vo1.14,No.2 1993年 3月 M ICROCOMPUTER APPLICATIONS M ar. 1993 动态图形的快速显示技术 倪 伯 林 (中国科学院声学研究所.北京100080) _1f州 摘要 提出了在 IBM PC/AT机上,采用直接写视频显示存储器(VRAM)的方法.找出同行 相邻列和同列相部行画点之间地址转换关系.实现多路信号,快速刷新的动态图形 显 示.该设计 已用于耐频信号采集数据的实时显示.效果 良好。 关■诃:VR,AM CGA 绝对|}址 相对 |}址 像簟点 用 IBM PC/AT机进行数字信号处理时,多路 A/D采集的信号鱼贯而入,加上系统分 配给显示的时间有限,给实时信号的分桁带来困难 。以往的处理办法是采集一段数据存放在内 存或磁盘上,分析处理后,再采集下一段数据。这种办法既费时,又破坏了原始信号的连缕 性,对捕获有用信号极为不利。因此,采用 ROM BIOS中断调用,仍不 瞒 足快速显示的 要求。直接写视频显示存储器 (VRAM)则是一个好方法,但由于信号路数多,数据更新快, 按常规的内存写点方法仍嫌 占用时间过多。为此,我们在拽出同行相邻剐和同剐相邻行,画点 之间的地址转换关系的基础上,提出绝对寻址画点和相对寻址画点相结合的方法,提高了画 点的速度。 1 像素和屏幕的对应关系 现以CGA 显示器在 640x200分辨率图形方式下工作为例,显示缓冲区的段地址为BS00 H,CGA将 16KB的显示缓冲区分成两个区,其中10O条偶数扫描线是由B8o0o0ooH开始, 100条奇数扫描线,则 由BS00;2000H开始。每个像素点用 l位 (Bit)表示,每个字节单 元可 写8个像素点(写 1则亮,写0刚睹)。整个屏幕可看成 640x200的坐标系,屏幕 上 的任意 一 点与VRAM 中某单元某位相对应,原点位于屏幕左上角 (0,0),屏幕 右 下 角 的坐 标为 (199,639)。当画点处在屏幕的偶数行时,其段 内地 址 小 于2000H,丽 在 奇 数 行 则大于 2000H。对于偶数行上的某点而盲,其同列的下一个奇数行上的点,段内地址要比该点地址 大 2000H。另外,由于每行 占50H 个字节,所 以与该点同列的上一奇数行的点 的地 址,要 比 该点地址大 2000H减去50H。 设屏幕上点的坐标为 (X,Y),其对应的内存缓冲区的段内偏移量可按以下公式计算 OFFSET=INT(y12)x80+INT(x/s)+2000H(YAND 1) (1) 其 中INT表示取整I项 INT(y/2)x80表示相应的偶数行首字节对基地址的偏移量I项INT (x/8)是表示该列对行首字节的偏移量,以字节数表示,项2000H(Y AND 1)是 表 示 当Y 维普资讯 为奇数时,还需加上2000H,或此项看作是基地址。 除确定像素所在单元的段 内地址外,还需确定画点字在字节单元中的 哪 一位,即屏蔽 位,可用 以下方法求 出: 一 sHR 80H, (XMOD 8) (2) 其中80H是屏蔽字的韧值,它表示屏蔽位在最高位-z是以0开始的列 值J (XMOD 8)是 表示 x除 以8的余数。式 (2)表示,将 80H 右移 ( MOD 8)次,即可得屏蔽位 。由(2)式 还可看出

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档