fdggg

#include<reg52.h>
sbit beep=P1^2;
unsigned char code yinjie[]={252,68,252,68,252,173,252,68,
253,52,253,10,
252,68,252,68,252,173,252,68,
253,131,253,52,
252,68,252,68,254,34,253,200,
253,52,253,10,254,87,
254,6,254,6,253,200,253,52,
253,131,253,52};
unsigned char code jiepai[]={4,4,8,8,
8,16,
4,4,8,8,
8,16,
4,4,8,8,
8,8,8,
4,4,8,8,
8,16};
unsigned char i,j;
unsigned int counter;
void main()
{
i=0,j=0;
counter=0;
TMOD=0x11;
TH0 = yinjie[i];
TL0 = yinjie[i+1];
TH1 = (63500-62500)/256;
TL1 = (63500-62500)%256;
T1=1; //将T1设为高优先级(发现如果不加这一句的话,程序就无法进入T1的中断)
ET0=1;
ET1=1;
TR0=1;
TR1=1;
EA=1;
while(1)
{
}
}
void timer0() interrupt 1
{
TH0 = yinjie[i];
TL0 = yinjie[i+1];
beep=~beep;
}

void timer1() interrupt 3
{
TH1 = (63500-62500)/256;
TL1 = (63500-62500)%256;
counter++;
if(counter==jiepai[j])
{
TR1=0;
counter=0;
j++;
i++;
TR1=1;
}
}

分类:

技术点:

相关文章: