音乐门铃 (3)

音乐门铃 (3)

ID:38486649

大小:560.50 KB

页数:19页

时间:2019-06-13

音乐门铃  (3)_第1页
音乐门铃  (3)_第2页
音乐门铃  (3)_第3页
音乐门铃  (3)_第4页
音乐门铃  (3)_第5页
资源描述:

《音乐门铃 (3)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、音乐门铃门铃效果描述:按下按键K1,定时器中断程序将控制蜂鸣模拟发出“叮”“咚”的门铃声,其中“叮”“咚”的声音的长短通过不同的定时形成高低频率。“叮”:用较短的声音形成高频率;“咚”:用较长的声音形成低频率;AT89C51:3.8元;Mega16:6元;MSP430系列芯片:10元以上;具体的控制如程序所示原理电路图:按下按键效果:程序代码://-----------------------------------------------------------------音乐门铃//---------------------------------

2、--------------------------------//说明:按下按键时蜂鸣器发出叮咚的门铃声//-----------------------------------------------------------------#include#include#defineINT8Uunsignedchar#defineINT16UunsignedintsbitKey=P1^7;sbitDoorbell=P3^0;INT16Up=0;//延时函数//--------------------------

3、---------------------------------------voiddelay_ms(INT16Ux){INT8Ut;while(x--)for(t=0;t<120;t++);}//------------------------------------------------------------------//T0中断voidTimer0_ISR()interrupt1{Doorbell=~Doorbell;p++;if(p<400)//高音//时间拖长的话:调节400和800{TH0=(8192-700)/32;TL0=(81

4、92-700)%32;}elseif(p<800)//低音{TH0=(8192-1000)/32;TL0=(8192-1000)%32;}else//关闭{TR0=0;p=0;}}//主程序voidmain(){IE=0x82;//使能T0中断TMOD=0x00;//T0工作于方式0TH0=(8192-700)/32;//初始值定时700usTL0=(8192-700)%32;while(1){if(Key==0)//按下K1键时启动定时器{delay_ms(10);//延时消抖if(Key==0)//按键按下,按键释放后启动T1{while(!Key

5、);TR0=1;}}}}其它的效果:按下按键后播放音乐后,随着按下次数不同,播放不同的音乐;代码如下://说明:内置三段音乐曲目,K1可启停音乐播放(常开),K2用于选择音乐段.#include#include#defineINT8Uunsignedcharchang#defineINT16Uunsignedint//当前曲目索引,音符索引INT8USong_idx=0,Tone_idx=0;//曲目,音符sbitSPK=P3^7;//蜂鸣器sbitK1=P1^0;//播放和停止键K1(曲目选择键K2由INT0中

6、断控制)//14个音符在TIMER0模式0下的定时/计数寄存器值初值表INT8UcodeHI_LIST[]={0,226,229,232,234,236,238,240,241,243,244,245,246,247,248};INT8UcodeLO_LIST[]={0,4,12,9,20,2,8,6,2,22,5,26,1,4,2};//三段曲目音符(可以自行修改)INT8UcodeSong[][50]={{1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1},{3,3,3,4,5,5

7、,5,5,6,5,3,5,3,2,1,5,6,5,3,3,2,1,1,-1},{3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1}};//三段曲目节拍INT8UcodeLen[][50]={{1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1},{1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1},{1,1,2,1,1,2,1,1,1,1,1,1,1,1,1

8、,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1}};//延时子程序

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

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

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