|
初學(xué)單片機(jī),碰到這樣兩個(gè)程序同時(shí)進(jìn)行的問(wèn)題不知道該怎么辦,網(wǎng)上有說(shuō)用定時(shí)器,嘗試一下還是不太對(duì),蜂鳴器響但是有雜音,求大神指點(diǎn)
#include<reg52.h>
#include<intrins.h>
typedef unsigned int u16; \\宏定義
typedef unsigned char u8;
sbit k1 = P3^0; \\獨(dú)立按鍵 蜂鳴器
sbit beep = P1^5;
void delay(u16 i) \\延時(shí)函數(shù)
{
while(i--);
}
void Timer0Init() \\定時(shí)器中斷條件
{
TMOD |= 0x01;
TH0 = 0xff;
TL0 = 0xf6;
ET0 = 1;
EA = 1;
TR0 = 1;
}
void main()
{
beep = 1; \\賦初值
Timer0Init();
if(k1==0)
{
while(k1==0) \\流水燈
{
P2 = 0xfe;
delay(30000);
while(1)
{
P2 = _cror_(P2,1);
delay(30000);
}
while(k1!=0)
{
P2 = 0xff;
}
}
}
}
void Timer0() interrupt 1
{
static u16 j;
TH0 = 0xff;
TL0 = 0xf6;
j++;
if(j==5 & k1==0)
{
j = 0;
beep = ~beep;
if(k1==1)
{
beep = 1;
}
}
}
|
|