图形和发声程序.ppt

上传人:小飞机 文档编号:6257023 上传时间:2023-10-11 格式:PPT 页数:18 大小:333.32KB
返回 下载 相关 举报
图形和发声程序.ppt_第1页
第1页 / 共18页
图形和发声程序.ppt_第2页
第2页 / 共18页
图形和发声程序.ppt_第3页
第3页 / 共18页
图形和发声程序.ppt_第4页
第4页 / 共18页
图形和发声程序.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《图形和发声程序.ppt》由会员分享,可在线阅读,更多相关《图形和发声程序.ppt(18页珍藏版)》请在三一办公上搜索。

1、第九章 图形和发声程序,10.1 显示方式10.2 BIOS图形显示中断10.3 图形方式下的文本显示10.4 动画显示技术10.5 发声程序设计10.6 乐曲程序,本章我们主要要掌握图形、动画、乐曲的汇编语言程序设计。,10.1 显示方式,ROM BIOS显示例程支持多种文本方式和图形方式,每种方式适合于特定适配器。在不同的显示方式下,屏幕显示的分辨率、颜色数和视频显示存储器的组织方式都不同。10.1.1 分辨率 显示分辨率包括字符分辨率和像素分辨率,分别表示显示器在水平和垂直方向上所能显示的字符数和像素数。显示分辨率和色彩决定了显示器的显示质量,分辨率越高所显示的字符和图像就越清晰,但是需

2、要更多的处理时间和更大的存储空间,而速度和成本也是不容忽视的问题。,10.1 显示方式,10.1.2 BIOS设置显示方式 显示方式分为两类:文本方式和图形方式。文本方式主要用于字符文本处理,图形方式又称为所有点可寻址方式。在图形方式下,可通过读写屏幕上各个点的映像,显示出单色或彩色图形。BIOS显示中断提供了设置各种文本和图形显示方式的功能,程序只要给出调用参数,使用BIOS INT 10H即可建立某种显示方式。,0 AL=00 40*25 文本16级灰度 CGA MCGA EGA VGA=03 80*25 文本16色或8色 CGA MCGA EGA VGA=04 300*200 图形4色

3、CGA MCGA EGA VGA=06 640*200 图形黑白显示 CGA MCGA EGA VGA=07 80*25 文本黑白显示 MDA EGA VGA=0D 320*200 图形16色 EGA VGA=10 640*350 图形4色或16色 EGA VGA=12 640*480 图形16色 VGA=13 320*200 图形256色 MCGA VGA,AH 调用参数 显示方式 适合显示器适配器,BIOS设置显示方式 INT 10H,常用的显示方式:,例:设置320*200 图形256色显示方式。MOV AH,00H MOV AL,13H INT 10H 注意:在为未知的显示器编写程序时

4、,首先应该判断PC机配置的显示适配器并选择与之相适应的最佳显示方式。BIOS INT 11H有确定系统配置的功能。这个操作实际上是把设备标志的值回送给AX,其中4位和5位表示显示器的配置及初始的显示方式,如下图所示:,01=彩色适配板(40*25彩色)10=彩色适配板(80*25彩色)11=黑白适配板(80*25彩色),0,1,2,3,4,5,6,7,设备标志字提供的信息是相当原始的,一般只能区分出是单色还是彩色显示。另一种确定适配器的方法是调用BIOS INT 10H。确定是否装配VGA适配器。MOV AH,1AH MOV AL,0 INT 10H;AL=1AH,有装配VGA适配器,否则没有

5、。相关代码 运行结果 确定是否装配EGA适配器。MOV AH,12H MOV BL,10H INT 10H;BL=10H,有装配EGA适配器,否则没有。,10.2 BIOS图形显示(INT 10H),AH 功能 调用参数 返回参数,0CH 将一个点写至像素位置 AL=像素颜色,取决于显示方式 合适的视频显示方式下,BH=显示页号 还可以指定颜色。DX=像素列,取决于显示方式 CX=像素行,取决于显示方式0DH 读取指定像素位置的颜色。BH=显示页号 AL=颜色值 DX=像素列,取决于显示方式 CX=像素行,取决于显示方式,例:从坐标(50,0)到(50,320)画一条直线。代码 运行效果例:画

6、一个高50,宽100的矩形。代码 运行效果例:读取坐标为(50,12)像素位置的颜色。代码 debug9,10.3 图形方式下的文本显示,大多数图形程序都需要以某种形式显示文本,最简单的一种方法是使用BIOS字符显示功能。许多图形程序还通过使用ASCII码扩展字符集中的图形符号来组成大号的显示字符。例如利用ASCII码为0DBH,0DCH,0DDH,0DEH,0DFH 等方块来设计大号字母或文章中的方块标记。例:利用方块符号来组成G字符,背景用品红色,方块符号用浅绿色。代码 运行结果,10.4动画显示技术,计算机动画是利用计算机图形显示技术来模仿物体活动的效果,一般分为两种类型:逐帧动画和实时

7、动画。逐帧动画技术的最重要的用途是设计图形系列以建立用不同介质表现的动画图象。例如,利用图形系统来制作卡通电影的图片,当把这些图片以适当的速度投影时,就会产生运动的影像。设计这种逐帧动画的图片,对计算机系统的性能没有严格的要求。对实时动画来说,因为直接在终端上显示动画程序执行的结果,所以计算机系统的性能的优劣直接影响动画生成的速度和图象的质量,此时计算机的性能就显得非常重要了。屏幕物体的动画效果,经常通过几何变换来产生,最简单的几何变换有平移、旋转和比例变换,复杂的动画通过组合两个或更多的变换来完成。在所有情况下,变换都是以一个新的图象代替先前的图象来实现。在动画软件中,不仅要能画出一系列连续

8、的图象,而且要能从屏幕上擦除先前的图象,否则,运动的物体就会在屏幕上留下痕迹。擦除和重画屏幕物体有几种实现的方法,最直接的一种方法是在显示图形之前,把图形将要占据的屏幕部分的背景图象保存下来,当要擦出图形时,再把保存的背景图象重新显示出来。另一种擦除屏幕图象的方法是基于XOR操作的方法。,移动案例演示,代码,变形案例演示,代码,可编程时间间隔定时器8253/54,其中CLK输入频率为1.1931817MHz(12348ChHZ),10.5 发声程序设计,计数初值格式,操作模式,读写指示,选择计数器,控制寄存器(8位)端口号 43H,例 将计数器0设定为模式3,计数初值为4282(BCD)MOV

9、 AL,00110111B OUT 43H,AL MOV AX,4282H OUT 40H,AL MOV AL,AH OUT 40H,AL 计数器的输出频率=1.19318MHz/装入计数器的计数初值。计数器0作为定时器为系统提供计时基准,计时器0的输出端OUT与中断控制器8259A的中断请求端IRQ0相连,为IRQ0提供每秒18.2次的中断信号。计数器1作为定时器使用,其输出脉冲用作DRAM刷新的定时信号。DRAM要求每隔15s刷新一次,这样,OUT1的输出脉冲的平率是66.2KHz。计数器2用来控制扬声器的发声频率。,10.5 发声程序设计,例 使计数器2在模式3下输出频率为330。MOV

10、 DI,330 MOV AL,0B6H OUT 43H,AL MOV DX,12H MOV AX,348CH DIV DI OUT 42H,AL MOV AL,AH OUT 42H,AL,10.5 发声程序设计,CLK,下一页,例:写一个发声子程序,入口参数为发声频率和延长节拍。,设 入口参数发声的频率放在DI中,让计数器3输出频率为DI中的值。mov al,0b6h out 43h,al mov dx,12h mov ax,348ch div di out 42h,al mov al,ah out 42h,al,让61端口产生一个脉冲,打开扬声器,脉冲的延长时间由入口参数BX决定。in al

11、,61h mov ah,al or al,3 out 61h,al wait1:mov cx,5602 delay:loop delay dec bx jnz wait1 mov al,ah out 61h,al,写一个WAITF子程序,延长的时间为15.08s*CX的值,CX为入口参数waitf proc near push axwaitf1:in al,61h and al,10h cmp al,ah je waitf1 mov ah,al loop waitf1 pop ax retwaitf endp,由循环次数决定发声的延长时间的发声程序代码,运行结果,由WAITF子程序决定发声的延

12、长时间的发声程序代码,运行结果,10.6 乐曲程序的设计 利用计算机控制发声的原理,可以编写演奏乐曲的程序。乐曲是按照一定的高低、长短和强弱关系组成的音调。在一首乐曲中,每个音符的音高和音长和频率和节拍有关。组成乐曲的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。编写乐曲程序可以分为4个步骤:1.为演奏的乐曲定义一个频率表和一个节拍时间表。2.分别将来年各个表的偏移地址放入SI和BP。3.从表中取出音符的频率放入DI,取出音符的持续时间放 入BX。,太湖船乐曲演奏代码,运行结果,音符和频率之间有一定的对应关系,如果计算机键盘上的某些键和音符、频率也形成一种对应关系,则可通过键盘控制扬声器发出各种音符声音,这时计算机键盘就变成了钢琴键盘,就可以用它弹奏出简单的音乐。钢琴有88个音符,为了简单起见,下面编写一个八度音程的钢琴程序来了解键盘控制发声的原理。为了方便弹奏,让数字键1-8对应一个音阶的八个音符。,八度钢琴程序代码,运行结果,返回,返回,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号