- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机发声及音乐演奏第一页,共十页,2022年,8月28日
音名 CDEFGABCDEFGABCDE唱名 1.2.3.4.5.6.7.1234567.1.2.3频率 131 147 165 175 196 220 247 262 294 330 349 392 440 494 523 587 659 第二页,共十页,2022年,8月28日
声音的产生 1.19318MHz=1234DCHHzINTEL8255PB0PB1INTEL8253GATE2 OUT2驱动器第三页,共十页,2022年,8月28日
data segmentbg db two tigers,$freq dw 2 dup(262,294,330,262) dw 2 dup(330,349,392) dw 2 dup(392,440,392,349,330,262) dw 2 dup(294,196,262),0time dw 10 dup(25),50,25,25,50 dw 2 dup(12,12,12,12,25,25) dw 2 dup(25,25,50)data ends1 2 3 1 | 1 2 3 1 | 3 4 5- | 3 4 5 - |56 54 3 1 |56 54 3 1 |2 5 1 - | 2 5 1 - |__ __ __ __ . .第四页,共十页,2022年,8月28日
code segmentassume cs:code,ds:datastart:mov ax,data mov ds,ax lea dx,bg mov ah,9 int 21h; 显示歌曲名字 lea si,freq; 频率数据首地址送si lea bp,time;时间数据首地址送bp call sing; 调用唱歌子程序 mov ah,4ch;返回DOS int 21h第五页,共十页,2022年,8月28日
sing proc;唱歌子程序 push di push si push bp push bx第六页,共十页,2022年,8月28日
rept1:mov di,[si];频率数据送di cmp di,0h je end_sing;若是零,则程序结束 mov bx,ds:[bp];时间数据送bx call sound; 调用声音子程序 add si,2; 调整频率数据指针 add bp,2; 调整时间数据指针 jmp rept1end_sing:pop bx pop bp pop si pop di retsing endp第七页,共十页,2022年,8月28日
sound proc push ax push cx push dx push di第八页,共十页,2022年,8月28日
mov al,0b6h;初始化8253,计数器2,方式3out 43h,al;二进制计数,计数值送两次mov dx,12hmov ax,34dchdiv di;计算计数值,在ax中out 42h,almov al,ahout 42h,alin al,61hmov ah,al;将PB口原来的值送ahor al,3out 61h,al;将8255的PB1、PB0置成1第九页,共十页,2022年,8月28日
delay:mov cx,2801;标准延时10ms程序段dl10ms:loop dl10ms dec bx;时间数据×10ms jnz delay mov al,ah out 61h,al;恢复PB原来的值 pop di pop dx pop cx pop ax retsound endpcode ends end sta
原创力文档


文档评论(0)