为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

音乐盒生日快乐歌的汇编程序

2017-12-27 4页 doc 15KB 41阅读

用户头像

is_633808

暂无简介

举报
音乐盒生日快乐歌的汇编程序音乐盒生日快乐歌的汇编程序 基于STC89C52单片机的七彩迷你音乐盒。在单片机最小系统的基础上,对其他两个I/O口连接硬件电路。P1.0接一个七彩快闪LED灯。P1.5口接一个NPN型三极管的放大电路,再连接一个无源蜂鸣器(用来播放乐曲)。 这样一个迷你音乐盒就完成了。硬件电路非常简单,其中单片机任意一个I/O口都可以作为乐曲的输出,信号经过NPN三极管放大驱动蜂鸣器发出电子乐曲。 紧接着就是为单片机设计运行的程序了,这里我用汇编写了一段《生日快乐》的程序。大家可以仿照,我的思路修改乐曲。 DIY手记:用C52这么大...
音乐盒生日快乐歌的汇编程序
音乐盒生日快乐歌的汇编程序 基于STC89C52单片机的七彩迷你音乐盒。在单片机最小系统的基础上,对其他两个I/O口连接硬件电路。P1.0接一个七彩快闪LED灯。P1.5口接一个NPN型三极管的放大电路,再连接一个无源蜂鸣器(用来播放乐曲)。 这样一个迷你音乐盒就完成了。硬件电路非常简单,其中单片机任意一个I/O口都可以作为乐曲的输出,信号经过NPN三极管放大驱动蜂鸣器发出电子乐曲。 紧接着就是为单片机运行的程序了,这里我用汇编写了一段《生日快乐》的程序。大家可以仿照,我的思路修改乐曲。 DIY手记:用C52这么大块头的单片机,确实很浪费。因为一共有32个I/O引脚,设计音乐盒只用了其中的两个,非常的浪费。大家可以用其他的单片机代替,例如16引脚的单片机。价格相对会便宜一点。 单片机汇编源代码分享: org 0000h ajmp main org 000bh jmp tim0 org 0030h main: ;主程序 setb p1.1 clr p1.4 setb p3.0 mov tmod,#01h ;设定时方式 mov ie,#82h ;开中断 start0: mov 30h,#00h ; next:mov a,30h mov dptr,#table movc a,@a+dptr ;查取音调和节拍 mov r2,a jz end0 ;为零,不进行处理. anl a,#0fh mov r5,a ;将节拍存入R5 mov a,r2 swap a anl a,#0fh jnz sing ;根据音调决定是否演奏. clr tr0 jmp d1 sing:dec a mov 22h,a ;将音调存入22H. rl a mov dptr,#table1 movc a,@a+dptr ;根据音调决定定时器初值. mov th0,a ;放入TH0 mov 21h,a mov a,22h rl a inc a movc a,@a+dptr mov tl0,a ;放入TL0 mov 20h,a setb tr0 ;启动定时 d1: call delay inc 30h jmp next end0:clr tr0 jmp start0 tim0: ;定时器中断服务程序 push acc push psw mov tl0,20h ;重赋初值. mov th0,21h cpl p1.7 pop psw pop acc retidelay:mov r7,#02h ;延时子程序 d2: mov r4,#130 d3: mov r3,#248 djnz r3,$ djnz r4,d3 djnz r7,d2 djnz r5,delay ret table1: ;决定音调的定时初值. dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217 table: ;决定音调和节拍的表格,不同的歌曲只是此表不同 ;1 db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h ;2 db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h ;3 db 82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h ;4 db 82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h,00 end
/
本文档为【音乐盒生日快乐歌的汇编程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索