资源描述:
《开关控制蜂鸣器播放两首音乐.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于单片机C52的音乐播放C语言程序//此程序在硬件上调试通过//本程序的单片机晶振采用11.0592M#include"reg52.h"#include"intrins.h"//#defineucharunsignedchar//#defineuintunsignedintsbitBEEP=P1^0;sbitS1=P3^3;sbitS2=P3^5;unsignedchartimer0h,timer0l,timer0h1,timer0h2,timer0l1,timer0l2,time1,time2;//voidDelay_MS();保存了4个八度的28个频率数据unsignedcharcod
2、eFREQH[]={0xf2,0xf3,0xf5,0xf5,0xf6,0xf7,0xf8,//低音0xf9,0xf9,0xfa,0xfa,0xfb,0xfb,0xfc,0xfc,//中音i0xfc,0xfd,0xfd,0xfd,0xfd,0xfe,//高音0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff//超高音};unsignedcharcodeFREQL[]=//频率半周期数据表低8位{0x42,0xc1,0x17,0xb6,0xd0,0xd1,0xb6,//低音0x21,0xe1,0x8c,0xd8,0x68,0xe9,0x5b,0x8f,//中音i0xee,0x4
3、4,0x6b,0xb4,0xf4,0x2d,//高音0x47,0x77,0xa2,0xb6,0xda,0xfa,0x16//超高音};unsignedcharcodesh[]=//东风破数据表{6,3,1,3,3,1,5,3,1,2,3,1,3,3,1,1,3,1,2,3,1,6,2,1,5,2,1,6,2,1,1,3,1,2,3,1,3,3,1,5,3,1,6,3,4,5,3,2,5,3,2,5,3,2,6,3,3,7,3,1,6,3,2,5,3,2,3,3,2,3,3,2,3,3,1,2,3,1,2,3,2,2,3,8,5,3,2,5,3,2,5,3,2,3,3,2,2,3,2,2,3,
4、2,1,3,2,2,3,2,1,3,2,2,3,2,3,3,2,3,3,10,1,3,2,1,3,2,2,3,2,3,3,2,2,3,2,3,3,2,5,3,2,6,3,2,5,3,2,5,3,1,3,3,1,3,3,2,5,3,10,6,3,2,6,3,1,5,3,1,5,3,2,3,3,3,5,3,1,3,3,1,2,3,1,2,3,4,2,3,2,2,3,2,1,3,2,3,3,2,2,3,2,1,3,2,6,2,2,1,3,8,0,0,0};unsignedcharcodejiandanai[]=//简单爱数据表{5,2,1,1,3,1,2,3,1,3,3,1,2,3,1,3,3,1
5、,4,3,1,5,3,1,5,3,1,5,3,1,4,3,1,3,3,1,2,3,1,2,3,3,5,2,1,1,3,1,2,3,1,3,3,1,2,3,1,3,3,1,4,3,1,5,3,1,5,3,1,5,3,1,4,3,1,3,3,1,2,3,1,2,3,3,5,2,1,1,3,1,2,3,1,3,3,1,2,3,1,3,3,1,4,3,1,5,3,1,5,3,1,5,3,1,6,3,1,5,3,2,3,3,2,1,3,2,1,3,1,6,2,1,2,3,1,2,3,1,3,3,1,3,3,1,1,3,2,5,3,1,1,3,1,5,2,1,1,3,1,7,2,1,1,3,3,1,3,
6、1,6,2,1,2,3,1,2,3,1,3,3,1,3,3,1,4,3,1,4,3,1,4,3,1,3,3,1,2,3,1,1,3,1,1,3,2,0,0,0};voidDelay_MS(unsignedchart)//控制发音的时间长短{unsignedchart1;unsignedlongt2;for(t1=0;t17、2;TH0=0XDC;TL0=0X00;BEEP=~BEEP;//输出方波,发音if(S1==0){TH0=timer0h1;//下次的中断时间,期间控制音调高低TL0=timer0l1;}if(S2==0){TH0=timer0h2;//下次的中断时间,期间控制音调高低TL0=timer0l2;}TR0=1;//启动t0}voidPlay_Song1(){TH0=timer0h1;TL0=timer0l1;