汇编语言音乐播放器

汇编语言音乐播放器

ID:9058633

大小:18.94 KB

页数:9页

时间:2018-04-16

汇编语言音乐播放器_第1页
汇编语言音乐播放器_第2页
汇编语言音乐播放器_第3页
汇编语言音乐播放器_第4页
汇编语言音乐播放器_第5页
资源描述:

《汇编语言音乐播放器》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、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减一,不为零跳转到本条指令(为零

2、执行下一条指令)MOV R4,#0FFH DJNZ R4,$ DJNZ R2,DELAY0    JNB P3.3,START //直接寻址位不为1转LJMP LOOOP //长调用指令START:  MOV P1,#06H MOV R5,#00H  /初始化                  MOV TMOD,#00010001B   MOV IE,#10101010B   MOV DPTR,#TAB2  //装第一首歌          MOV 30H,DPL  //DPTR低8位送30H暂存MOV 31

3、H,DPH  //DPTR高8位送31H暂存 START1: INC R4   寄存器内容加1//产生8位随机数   MOV A,#01010101B 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 //D

4、PTR的内容加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   //结束歌曲计数器加1ELECT: JZ START //所有歌曲结束转START循环(累加器内容为0转移)             

5、       MOV A,R0     JNZ SING (累加器内容不为0转移)    CLR TR0 //累加器内容清0    SETB P3.7 //置位直接位  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 

6、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    

7、      CPL P3.7          RETI    中断返回  DELAY: MOV R2,#70  DELAY1: MOV R3,#252    DJNZ R3,$  JNB P3.3,AGAIN 重复正播放的曲子 JNB P3.4,FORM //上一曲开关按下转FORM   JNB P3.5,NEXT //下一曲开关按下转NEXT  DJNZ R2,DELAY1       RET AGAIN:  JNB  P3.3,$ 等待键释放   LJMP KEYWORK    FORM: CLR EA

8、     关中断  JNB P3.4,$  等待键释放  CJNE R5,#00H,ZERO  不是第一首歌曲转ZER0   MOV R5,#04H//是第一首将最后一首歌曲装入歌曲计数器  SJMP KEYWORK  ZERO: DEC R5      歌曲向上进一首 SJMP KEYWORK    NEXT: CLR EA      JNB P3.5,$  CJNE R5,#04H,LAST  

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。