unsigned char code FREQL[]={
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
sbit LED=P0^0 //定义P0^0为LED,方便操作,这个只是举例,实际以你led与具体IO口连接为准
void main(void)
{
TMOD=0x11; //T0 T1 均在工作方式1
ET0=1; //T0开中断
EA=1; //CPU开中断
while(1)
{ LED=0;
delay_ms(500);
LED=1;
delay_ms(500);//这四句可以实现闪烁,但是由于下面语句可能会有其他语句延时
//具体延时未知,若要准确闪烁,可使用定时器中断。
music_play(); //根据当前状态播放相应歌曲的某个音符
实际修改已用红色标出,还有疑问,可直接询问 |