#include<reg51.h>
#include <INTRINS.H> //包含 51 单片机寄存器定义的头文件
sbit P14=P1^4; //将 P14 位定义为 P1.4 引脚
sbit P13=P1^3; //将 P15 位定义为 P1.5 引脚
sbit P16=P1^6; //将 P16 位定义为 P1.6 引脚
sbit P17=P1^7; //将 P17 位定义为 P1.7 引脚
sbit Beep=P1^5; //将 sound 位定义为 P3.7
unsigned char keyval; //储存按键值
unsigned char n=0;
unsigned char code music_tab[] ={
0x18, 0x30, 0x1C , 0x10, 0x20, 0x40, 0x1C , 0x10, //频率常数,节拍常数, 频率常数, 节拍常数,
0x18, 0x10, 0x20 , 0x10, 0x1C, 0x10, 0x18 , 0x40,
0x1C, 0x20, 0x20 , 0x20, 0x1C, 0x20, 0x18 , 0x20,
0x20, 0x80, 0xFF , 0x20, 0x30, 0x1C, 0x10 , 0x18,
0x20, 0x15, 0x20 , 0x1C, 0x20, 0x20, 0x20 , 0x26,
0x40, 0x20, 0x20 , 0x2B, 0x20, 0x26, 0x20 , 0x20,
0x20, 0x30, 0x80 , 0xFF, 0x20, 0x20, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x20,0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40, 0x20, 0x20, 0x1C , 0x10,
0x18, 0x10, 0x20 , 0x20, 0x26, 0x20, 0x2B , 0x20,
0x30, 0x20, 0x2B , 0x40, 0x20, 0x30, 0x1C , 0x10,
0x18, 0x20, 0x15 , 0x20, 0x1C, 0x20, 0x20 , 0x20,
0x26, 0x40, 0x20 , 0x20, 0x2B, 0x20, 0x26 , 0x20,
0x20, 0x20, 0x30 , 0x80, 0x20, 0x30, 0x1C , 0x10,
0x20, 0x10, 0x1C , 0x10, 0x20, 0x20, 0x26 , 0x20,
0x2B, 0x20, 0x30 , 0x20, 0x2B, 0x40, 0x20 , 0x15,
0x1F, 0x05, 0x20 , 0x10, 0x1C, 0x10, 0x20 , 0x20,
0x26, 0x20, 0x2B , 0x20, 0x30, 0x20, 0x2B , 0x40,
0x20, 0x30, 0x1C , 0x10, 0x18, 0x20, 0x15 , 0x20,
0x1C, 0x20, 0x20 , 0x20, 0x26, 0x40, 0x20 , 0x20,
0x2B, 0x20, 0x26 , 0x20, 0x20, 0x20, 0x30 , 0x30,
0x20, 0x30, 0x1C , 0x10, 0x18, 0x40, 0x1C , 0x20,
0x20, 0x20, 0x26 , 0x40, 0x13, 0x60, 0x18 , 0x20,
0x15, 0x40, 0x13 , 0x40, 0x18, 0x80, 0x00
};
void int0() interrupt 1
{ TH0=0xd8;
TL0=0xef;
n--;
}
void delay1 (unsigned char m)
{
unsigned i=3*m;