按键的开始与暂停功能不起作用,这是为什么?自己修改的音乐门铃程序,可以帮忙看看是什么原因吗?我把音乐播放那部分music_play放下来了,按键的开始功能有用了,但暂停又不起用,这又是为什么?
#include "reg52.h"
sbit pause=P3^3;
sbit speaker=P1^5;
unsigned int n=0,k;
void music_play();
unsigned char music_tab[]={96,85,76,96,85,76,96,76,72,64,76,72,64,64,57,64,72,76,96,64,
57,64,72,76,96,96,64,96,96,64,96,0};
unsigned char jiepai_tab[]={40,40,40,40,40,40,40,40,40,40,80,40,40,80,30,10,30,10,40,40,
30,10,30,10,40,40,40,40,80,40,40,80};
void int0() interrupt 1
{
TH0=0XD8;
TL0=0XEF;
n--;
}
void delay( int m)
{
while(m--);
}
void main()
{ pause=1;
while(1)
{
music_play();
if(!pause)
{
delay(5);
if(!pause)
{
k=k;speaker;delay(m);
speaker=1;
while(!pause)
{
if(k==0){}
}
}
}
}
}
void music_play()
{
unsigned char p,m,i=0,j=0;
TMOD=0X01;
TH0=0XD8;
TL0=0XEF;
IE=0X82;
play:
while(1)
{
p=music_tab[i];
if(p==0)
{i=0;j=0;delay(1000);goto play;}
else
{
m=music_tab[i++];
n=jiepai_tab[j++];
}
TR0=1;
while(n!=0)
{
speaker=
}TR0=0; }
}
这个pause=1的情形没有执行任何东西?