#include "at89x51.h"
#define uchar unsigned char
#define uint unsinged int
sbit speaker=P1^5;//蜂鸣器。按键默认的是P3.2脚(外部中断0)
uchar t0h,t0l,time,flag;
//--------------------------------------
//单片机晶振采用12MHz
// 频率-半周期数据表 高八位 本软件共保存了四个八度的28个频率数据
uchar code FREQH[]={0x01, //0的时候没有音符
0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, //低音1234567
0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,//1,2,3,4,5,6,7,i
0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, //高音 234567
0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF}; //超高音 1234567
//-----------------------------------------
// 频率-半周期数据表 低八位
uchar code FREQL[]={0x01, //0的时候没有音符
0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, //低音1234567
0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,//1,2,3,4,5,6,7,i
0xEE,0x44,0x6B,0xB4,0xF4,0x2D, //高音 234567
0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16}; //超高音 1234567
//--------------------------------------
//一个音符有三个数字。前为第几个音、中为第几个八度、后为时长(以1/4拍为单位)。
//6,2,6 分别代表:6,中音,6个1/4拍;
//5,2,2 分别代表:5,中音,2个1/4拍;
//3,2,4 分别代表:3,中音,4个1/4拍;
//5,2,4 分别代表:5,中音,4个1/4拍;
//1,3,4 分别代表:1,高音,4个1/4拍;
//低音为1,中音为2,高音为3,超高音为4;
//////////////////////////////////////////////////////////
/********************世上只有妈妈好*********************/
uchar code sszymmh[]={
6,2,6,5,2,2,3,2,4,5,2,4,
1,3,4,6,2,2,5,2,2,6,2,8,
3,2,4,5,2,2,6,2,2,5,2,4,
3,2,4,1,2,2,6,1,2,5,2,2,
3,2,2,2,2,8,2,2,6,3,2,2,
5,2,4,5,2,2,6,2,2,3,2,4,
2,2,4,1,2,8,5,2,6,3,2,2,
2,2,2,1,2,2,6,1,2,1,2,2,
5,1,16,0,0,0};
/**********************两只耗子**********************/
uchar code TwoMouse[]={
3,2,2,6,2,2,7,2,2,5,2,2,
3,2,2,6,2,2,7,2,2,5,2,2,
7,2,2,1,3,2,2,3,4,
7,2,2,1,3,2,2,3,4,
2,3,1,3,3,1,2,3,1,1,3,1,7,2,2,5,2,2,
2,3,1,3,3,1,2,3,1,1,3,1,7,2,2,5,2,2,
6,2,2,2,2,2,5,2,4,6,2,2,2,2,2,5,2,4,
0,0,0};
/***********************两只蝴蝶**********************/
uchar code TwoButterfly[]={
3,2,2,2,2,2,3,2,6,3,2,2,3,2,2,2,2,2,
1,2,6,6,1,2,1,2,2,2,2,4,2,2,2,3,2,2,
2,2,2,1,2,2,6,1,2,1,2,2,5,1,12,3,2,2,
2,2,2,3,2,8,3,2,2,2,2,2,3,2,2,3,2,2,
1,2,12,6,1,2,1,2,2,2,2,4,2,2,2,3,2,2,
2,2,2,1,2,2,6,1,2,1,2,2,2,2,12,3,2,2,
2,2,2,3,2,8,3,2,2,2,2,2,3,2,2,2,2,2,
1,2,12,6,1,2,1,2,2,2,2,4,2,2,2,3,2,2,
2,2,2,1,2,2,6,1,2,1,2,2,5,2,12,3,2,2,
5,2,2,5,2,8,5,2,2,5,2,2,6,2,2,5,2,2,
3,2,12,2,2,2,3,2,2,2,2,4,2,2,2,3,2,2,
2,2,2,1,2,2,6,1,2,6,1,1,1,2,1,1,2,1,
1,2,1,1,2,12,0,0,4,5,2,2,5,2,2,6,2,2,
1,3,2,7,2,2,7,2,2,6,2,2,3,2,2,2,2,2,
2,2,2,3,2,2,3,2,8,3,2,2,3,2,2,
5,2,2,6,2,4,6,2,6,6,1,2,3,2,2,2,2,2,
2,2,12,3,2,2,5,2,2,5,2,2,3,2,2,5,2,4,
1,3,4,7,2,2,6,2,2,7,2,2,3,2,4,
上一篇:AT89C52单片机Proteus仿真音乐播放器操作步骤
下一篇:51单片机十进制整数与二进制整数转换汇编语言子程序
推荐阅读最新更新时间:2024-11-13 16:50