汇编语言音乐播放器.docxVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言音乐播放器 汇编语言音乐播放器 PAGE 汇编语言音乐播放器 ORG?0000H? AJMP?LOOOOP?//绝对转移指令。 ?ORG?000BH? ?AJMP?TIM0? ?ORG?001BH? ?RETI?//中断返回指令 ?ORG?0023H? LOOOOP:?MOV? A,#01H? LOOOP:??MOV?P1,#3FH? ???? MOV?P2,A? ?????RL??A?//A左移 MOV?R2,#0FFH? DELAY0:?MOV?R3,#0FFH? DJNZ?R3,$?//$在某些51的汇编语言里表示本条指令的地址 DJNZ??R3,$??意思是 R3减一,不为零跳转到本条指令(为零执行下一条指令) MOV?R4,#0FFH? DJNZ?R4,$? DJNZ?R2,DELAY0? ???JNB?,START?//直接寻址位不为1转 LJMP?LOOOP?//长调用指令 START:??MOV?P1,#06H? MOV?R5,#00H??/初始化???????????????? ??MOV?TMOD,? ??MOV?IE,#B? ??MOV?DPTR,#TAB2??//装第一首歌?????????? MOV?30H,DPL??//DPTR低8位送30H暂存 MOV?31H,DPH??//DPTR高8位送31H暂存? START1:?INC?R4???寄存器内容加1//产生8位随机数 ???MOV?A,? MOV?B,R4? ???MUL?AB?????????????? ???MOV?P2,A? ???MOV?DPL,30H? ???MOV?DPH,31H? ???MOV?A,#00H? ???MOVC?A,@A+DPTR?????//查表?????? ???MOV?R0,A????????//音符数据送R0暂存?? ???MOV?A,#00H? ???INC?DPTR? //DPTR的内容加1 ???MOVC?A,@A+DPTR????//查表??????? ???MOV?R1,A?//节拍数据送R1暂存????????? ???INC?DPTR? ???MOV?30H,DPL? ???MOV?31H,DPH? ???CJNE?A,#01H,ELECT//立即数与A相比不相等则转移/一首歌没结束转ELECT ???INC?R5? ???LJMP?KEYWORK???//结束歌曲计数器加1 ELECT:?JZ?START?//所有歌曲结束转START循环(累加器内容为0转移)??????????????????? ?MOV?A,R0? ????JNZ?SING?(累加器内容不为0转移) ????CLR?TR0?//累加器内容清0 ????SETB??//置位直接位 ??LOOP1:?ACALL?DELAY??//绝对调用(调用延时子程序) ?DJNZ?R1,LOOP1? ? SJMP?START1?//相对转移 SING:?MOV?DPTR,#TAB1??//音符表首地址送DPTR ? DEC?R0???//R0内容减1(计算音符) ??MOV?A,R0? ??MOV?B,#02H? ??MUL?AB?//A乘以B ? MOV?R0,A? ??MOVC?A,@A+DPTR????????? ??MOV?21H,A? ??INC?DPTR?//数据之指针加1 ??MOV?A,R0? ??MOVC?A,@A+DPTR? ??MOV?20H,A? ??MOV?TL0,20H??? MOV?TH0,21H? SETB?TR0??开T0定时器 ???LOOP2:?ACALL?DELAY? ?????????DJNZ?R1,LOOP2? ?????????AJMP?START1? ???TIM0:?MOV?TL0,20H? ?????????MOV?TH0,21H? ?????????CPL?? ?????????RETI????中断返回 ??DELAY:?MOV?R2,#70? ?DELAY1:?MOV?R3,#252? ??? DJNZ?R3,$? ? JNB?,AGAIN?重复正播放的曲子 ? JNB?,FORM?//上一曲开关按下转FORM? ??JNB?,NEXT?//下一曲开关按下转NEXT? ? DJNZ?R2,DELAY1? ??????RET? AGAIN:??JNB??,$?等待键释放 ???LJMP?KEYWORK? ???FORM:?CLR?EA?????关中断 ??JNB?,$??等待键释放 ??CJNE?R5,#00H,ZERO??不是第一首歌曲转ZER0? ??MOV?R5,

文档评论(0)

天风浪人 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档