网站大量收购独家精品文档,联系QQ:2885784924

第10章图形与发声系统程序设计1.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章图形与发声系统程序设计1剖析

第10章图形与发声系统程序设计 10.1 显示方式 10.2 视频显示存储器 10.3EGA/VGA图形程序设计 10.4通用发声程序 10.5乐曲程序 2、扬声器驱动方式 PC机大多数I/O都是由主板上的8255可编程外围接口芯片管理。它 包括三个8位寄存器,两个用于输入,一个用于输出功能。输入寄存 器的端口号为60H和62H,输出寄存器的端口号为61H。输出寄存器 中的0和1两位来控制扬声器的驱动方式如图10.9 利用8253定时器来驱动扬声器发声。连接到扬声器上的 是定时器2,其中GATE2与端口61H的PB0相连接,当 PB0=1时,GATE2获得高电平,使定时器2可以在模式3 下工作。定时器2的OUT2与端口61H的PB1通过一个与门 与扬声器的驱动电路相连接。当PB1=1时,允许OUT2的 输出 信号到达扬声器电路。 控制扬声器代码: IN AL,61H MOV AH,AL OR AL OUT 61H,AL 3、通用发声程序 产生任意频率的声音计数器2初值的计算 1193100/给定频率=12348CH/给定频率 DI=给定频率 执行下列程序: MOV DX,12H MOV AX,348CH DIV DI 例:10.13编写通用发声程序GENSOUND,利用定时器发出指定频 率的声音。 4、80X86的时间延迟 建立一个与频率无关的时间延迟,IBM采用了利用硬件产 生延迟的方法,即通过监控端口61H的PB4,使PB4每 15.08US触发一次,以产生一个固定不变的时间基准。 在IBM PC AT BIOS中的WAITF子程序,就是产生一个 Nx15.08US的时间延迟的程序。调用WAITF子程序时, CX必须装入15.08US的倍数N。 以下是WAITF子程序 ;(CX)=Count of 15.08us WAINTF PROC NEAR PUSH AX WAITF1: IN AL,61H AND AL,10H CMP AL,AH JE WAINTF1 MOV AH,AL LOOP WAITF1 POP AX RET 例:产生0.5S的延迟。 (CX)=0.5S/15.08us=3314 则: MOV CX,33144 CALL WAITF 如果要产生1.5S的延迟 1.5s/15.08us=99436而CX最大才65536因此必须调用3次0.5s 延迟子程序。 MOV BL,03 BACK:MOV CX,33144 CALL WAITF DEC BL JNZ BACK 10.5乐曲程序 1、编写乐曲程序的步骤 为演奏的乐曲定义一个频率表和一个时间表 分别将表的偏移地址放入SI和BP 从表中取出音符的频率放入DI,取出音符的持续时间放入BX MOV DI,[SI] MOV BX,DS:[BP] 调用SOUNDF子程序发出音调。 2、键盘发声程序 让数字键1~8对应一个音阶的8个音符。 例:10.16 第十章结束 2、图形方式下的文本显示 INT 10H的功能9是BIOS提供的唯一能用图形方式的字符显示功能 INT 10H功能2也能在图形方式下设置字符显示位置。通过ASCII 码扩展字符集中的图形符号来组成大号的显示字符,例如ASCII 码为0DBH,0DCH,0DDH,0DEH,0DFH等方块字符来设计大号字母 或文章中的方块标记。 例:显示词GALLERY 3、彩色绘图程序 计算出指定像素的显存中的地址,包括字节偏移量和位偏移量,只 要使用汇编指令MOV,MOVS,STOS等传输像素即可,也可以利用图 形控制器提供的硬件支持,完成某些像素的运算和快速位面的更新 。 例:10.9 10.4通用发声程序 计算机中的可编程时间间隔定时器8253/8254根据程序提供的计 数值和工作模式,产生各种形状和各种频率的计数/定时脉冲,提供 给系统的系统日历时钟,刷新定时信号给动态存储器,对分时系统 产生时间片等。它还可以产生不同频率的脉冲作为扬声器的声源。 1、可编程时间间隔定时器 8253/8254定时器内部有3个独立的计数器,每个计数器都分配一个端口地址分别为40H,41H,42H,内部还有一个公用的控制寄存器,端口地址为43H。每个计数器由三个引脚与外部联系分别是 CLK:时钟输入端 GATE:门控信号输入端 OUT:为计数/定时信号输出端。 每个计数器是一个16位减1计数器,控制字如下: 图10.8 8253/8254控制字格式 例:将计数器0设置为模式3,计数值为4282(BCD) MOV AL OUT 43H,AL MOV A

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档