世上只有妈妈好oft Word 97 2003 Document由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“世上只有妈妈好观后感”。
#include//包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#define uchar unsigned char
高编程速度
sbit fmq=P3^4;//定义音乐输出端口
uchar timer0h,timer0l,time;
//世上只有妈妈好数据表
code uchar zymmh[]={6,2,3,5,2,1,3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1,6,2,4,3,2,2,5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1,6,1,1,5,2,1,3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2,5,2,1,6,2,1,3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1,2,2,1,1,2,1,6,1,1, 1,2,1, 5,1,6, 0,0,0
};
// 音阶频率表 高八位
code uchar FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF};
// 音阶频率表 低八位
code uchar FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16};
/*延时子程序*/
void delay(uchar t)
{
uchar t1;unsigned long t2;for(t1=0;t1
}
/*定时器中断*/
void t0int()interrupt 1
{
}
/*音乐处理函数*/
void song()
{
}
/*主程序*/
void main(void)
{
uchar k,i;TMOD=1;EA=1;ET0=1;while(1){i=0;{//音乐数组长度,唱完从头再来
k=zymmh[i]+7*zymmh[i+1]-1;
timer0h=FREQH[k];
timer0l=FREQL[k];
time=zymmh[i+2];//IE=0x82 //CPU开中断,CT0开中断//置CT0定时工作方式1 TH0=timer0h;TL0=timer0l;TR0=1;delay(time);TR0=0;fmq=!fmq;TH0=timer0h;TL0=timer0l;TR0=1;while(i
}}}song();