下面这个程序,按下按键,蜂鸣器响一下,帮忙分析一下中断里面那些语句的作用? 10
u8bzon;u8cpbzon;u8bzunm;u8bzoff;voidBeefun(u8param,u8len){if(param){bzon=len;cpbzon=b...
u8 bzon;
u8 cpbzon;
u8 bzunm;
u8 bzoff;
void Beefun(u8 param,u8 len)
{
if(param)
{
bzon=len;
cpbzon=bzon;
bzunm=param-1;
}
}
void main()
{
while(1)
{
if(key==0)
{
delay(10);
if(key==0)
{
Beefun(1,250);
}
}
}
}
void T0_time() interrupt 1
{
TF0=0; //清除中断标志
TR0=0; //关中断
if(cpbzon)
{
cpbzon--;
BEEP = 0;
if(cpbzon == 0)
bzoff = 100;//蜂鸣器间隔时间设置
}
if(bzoff && (cpbzon==0))
{
bzoff--;
BEEP = 1;
if(bznum && (bzoff == 0))
{
bznum--;
cpbzon = bzon;
}
}
TH0=0xf8; //重装初始值
TL0=0x2f;
TR0=1; //开中断
} 展开
u8 cpbzon;
u8 bzunm;
u8 bzoff;
void Beefun(u8 param,u8 len)
{
if(param)
{
bzon=len;
cpbzon=bzon;
bzunm=param-1;
}
}
void main()
{
while(1)
{
if(key==0)
{
delay(10);
if(key==0)
{
Beefun(1,250);
}
}
}
}
void T0_time() interrupt 1
{
TF0=0; //清除中断标志
TR0=0; //关中断
if(cpbzon)
{
cpbzon--;
BEEP = 0;
if(cpbzon == 0)
bzoff = 100;//蜂鸣器间隔时间设置
}
if(bzoff && (cpbzon==0))
{
bzoff--;
BEEP = 1;
if(bznum && (bzoff == 0))
{
bznum--;
cpbzon = bzon;
}
}
TH0=0xf8; //重装初始值
TL0=0x2f;
TR0=1; //开中断
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询