课设参考资料之二:图形与发声系统的程序设计.ppt

课设参考资料之二:图形与发声系统的程序设计.ppt

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

10.1.2  动画程序的开发 CALL CLEAR_SCREEN LEA DI,CAR MOV DH,10 ;车身起始位置(10,10) MOV DL,10 CALL MOVE_SHAPE RET MAIN ENDP 10.2.1 系统发声途径 1.8254(8253)定时器作为发声源 2.8255端口B(PB1位)作为发声源 10.2.2 发声应用程序举例 1.扬声器发声通用子程序 2.演奏乐曲程序 3.定时报警程序 和CPU无关延时程序:产生N*15.08μs延时: waitf proc near push ax waitf1: in al , 61h and al , 10h cmp al , ah ;判断61H的PB4=1否? je waitf1 (15.08μs延时到,PB4=1) mov ah , al loop waitf1 ; CX初始值为15.08μs的倍数N pop ax ret waitf endp 通用发声程序Sounf : 发声10ms的BX倍: 将GENSOUND程序中的: WAIT1:MOV CX,2800H DELAY:LOOP DELAY 修改为: WAIT1 : MOV , 663 CALL WAITF 乐曲程序的编写步骤: 为乐曲定义一个频率表MUS_FREQ和一个节拍时间表MUS_TIME;节拍时间表中的数据是各音符的节拍持续时间相对10ms的倍数,频率表最后定义0FFFFH或-1作为结束。 将MUS_FREQ的偏移地址送SI,将MUS_TIME的偏移地址送BP,指令如下:LEA SI, MUS_FREQ LEA BP,DS: MUS_TIME 从表中取出音符的频率送入DI,取出音符的持续时间送入BX 指令为:MOV DI,[SI] MOV BX,DS:BP 调用SOUNDF或GENSOUND子程序发出音调 Thank you very much ! 课程到此结束! 祝您取得好成绩! POP DI ;恢复寄存器 POP DX POP CX POP BX POP AX RET GENSOUND ENDP CODE ENDS END 返回本节 要产生10ms 延时, Cx=10ms/15.08μs =10*103/15.08μs=663 2.演奏乐曲程序 表10.1 音律与频率对应表(HZ) 494 440 392 349 330 294 262 频率 7 6 5 4 3 2 1 音符 B’ A’ G’ F’ E’ D’ C’ 音名 247 220 196 175 165 147 131 频率 7 6 5 4 3 2 1 音符 B A G F E D C 音名 音符的持续时间是根据乐曲的速度及每个音符的节拍数来确定的。在4/4拍中,每小节4拍,全音符持续4拍,二分音符持续二拍,四分音符持续一拍,八分音符持续半拍.如果给全音符分配1s(100*10ms),则二分音符持续时间为0.5s,四分音符持续时间为0.25s,等等。 程序如下: TITLE MUSIC –乐曲“玛丽有只小羊羔” EXTRN GENSOUND:FAR ;定义外部调用程序 STACK SEGMENT PARA STACK ‘STACK’ DB 64 DUP(‘STACK’) STACK ENDS 【例10.3】以乐谱“玛丽有只小羊羔”为例编写演奏程序 DATA SEGMENT PARA ‘DATA’ ;为演奏的乐曲定义一个频率表 MUS_FREQ DW 330, 294, 262, 294, 3 DUP(330) DW 3 DUP(294), 330, 392, 392 ; DW 330, 294, 262, 294, 4 DUP(330)

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档