我比较喜欢动漫歌曲,最近用它打了《东京泰迪熊》到单片机里面,用P0.0做蜂鸣器输出口,挺好听的,分享一下源代码应该没什么问题吧?
/*-----------------------------------------------
---------8051单片机音乐代码生成器---------
本软件作者:CLY
作者QQ:2315959474
本音乐编写日期:2016年4月10日 19:46
曲名:东京泰迪熊
使用的晶振频率:11.059200MHz
时钟周期:12个
曲调:G
速度:240
感谢您对本音乐代码生成器作者的支持!
------------------------------------------------*/
#include//包含头文件
sbit fmq = P0^0;//定义蜂鸣器端口
static unsigned int bf;//定义全局变量播放位置变量
static unsigned char jp0;//定义全局变量播放时间单位化到0.015s
static unsigned char jp1;//定义全局变量控制播放时间即节拍
unsigned char code th[] = {//定时器0高八位频率设定
0x93,0xF6,0xF6,0xF7,0xF7,0xF8,0xF8,0xF9,0xF9,0xF9,0xFA,0xFA,0xFA,0xFB,
//低八度0,b1,1,#1,2,#2,3,4,#4,5,#5,6,#6,7
0xFB,0xFB,0xFB,0xFC,0xFC,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,
//中音1,#1,2,#2,3,4,#4,5,#5,6,#6,7
0xFD,0xFD,0xFD,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE
//高八度1,#1,2,#2,3,4,#4,5,#5,6,#6,7,#7
};
unsigned char code tl[] = {//定时器0低八位频率设定
0xFF,0x44,0xD6,0x5D,0xD5,0x4A,0xB5,0x1D,0x85,0xDD,0x38,0x89,0xDA,0x22,
//低八度0,b1,1,#1,2,#2,3,4,#4,5,#5,6,#6,7
0x67,0xAB,0xE8,0x23,0x59,0x8E,0xC1,0xEF,0x1C,0x44,0x6