#define uchar unsigned char
sbit k1=P1^0
sbit k2=P1^1
sbit k3=P1^2
sbit k4=P1^3
sbit fmq=P1^7
uchar cnt,sec
vodi t0isr() interrupt 1
{
TH0=(65536-50000)/256
TL0=(65536-50000)%256
cnt++
if(cnt>=20)
{
cnt=0
sec--
if(sec==0)
{
TR0=0
fmq=1
}
}
}
main()
{
TMOD=0x01
TH0=(65536-50000)/256
TL0=(65536-50000)%256
ET0=1
EA=1
while(1)
{
if(k1==0)
{
sec=1
cnt=0
TR0=1
while(k1==0)
fmq=0
}
if(k2==0)
{
sec=2
cnt=0
TR0=1
while(k1==0)
fmq=0
}
if(k3==0)
{
sec=3
cnt=0
TR0=1
while(k3==0)
fmq=0
}
if(k4==0)
{
sec=4
cnt=0
TR0=1
while(k1==0)
fmq=0
}
}
}
void delay()void main()
{
PORTD = 0xFF
DDRD = 0xFF//初始化 AVR的不知道是不是这样的
while(1)
{
int i
for(i=0i<3i++)
{
PORTD=0x01//蜂鸣器IO
_delay(X);//x为响一次“滴”的时间
}
PORTD=0x00
delay(Y)//Y为你所说的 间隔1S想一次(改变Y值 调试你要的1s或用你的延时函数里的
}
}
void delay(int t)
{
int i,j
for(i=0i<ti++)
for(j=0j<300j++)
}
unsigned int a,bfor(a=200a>0a--) //节拍时间
{
while(b--) //输出频率
FM=~FM
}
像这样,蜂鸣器是可以响的,祝你好运!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)