当前位置:首页 » 编程语言 » C语言关闭蜂鸣器的代码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言关闭蜂鸣器的代码

发布时间: 2023-08-15 17:20:54

‘壹’ 蜂鸣器每一秒响一次,响十秒后关闭,怎么做,c语言

每隔一秒响一次, 响多久没有说

一般都是响一秒 停一秒。 这样就是20秒后关闭了。

可以写作

intcnt=0;
while(cnt++<10)
{
BEEP=1;
delay_ms(1000);
BEEP=0;
delay_ms(1000);
}

‘贰’ 如何用c语言实现单片机蜂鸣器播放的音乐的暂停 就是通过按键来实现

if(key==0)
{
//关闭定时器的代码,可以停止音乐
}

‘叁’ 用C语言编写,两个按钮控制蜂鸣器工作。按钮1按下,蜂鸣器以500Hz的频率工作。按钮2按下,蜂鸣器停止工作

#include"reg52.h"

#defineucharunsignedchar

#defineuintunsignedint

sbitBELL=P1^0;//定义蜂鸣器

sbitkey1=P1^1;//定义按键

sbitkey2=P1^2;//定义按键

uintnum;

/*1ms廷时*/

voiddelay_ms(uintz)

{

uinti,j;

for(i=0;i<z;i++)

for(j=0;j<110;j++);

}

/*定时器初始化*/

voidinit_timer0()

{

TMOD=0x01;

TH0=(65535-2000)/256;

TL0=(65535-2000)%256;

EA=0;

ET0=1;

TR0=1;

}

voidmain()

{

BELL=0;

init_timer0();

while(1)

{

if(key1==0)

{

delay_ms(10);//延时消抖

if(key1==0) //再次判断按键是否真的被按下

{

while(key1==0);//等待释放按键

EA=1; //开启总中断

}

}

if(key2==0)

{

delay_ms(10);//延时消抖

if(key2==0) //再次判断按键是否真的被按下

{

while(key2==0); //等待释放按键

EA=0; //关闭总中断

BELL=0; //关闭蜂鸣器

}

}

}

}

voidtimer0()interrupt1

{

TH0=(65535-2000)/256;

TL0=(65535-2000)%256;//中断计时2ms(500Hz),之所以用中断是因为定时比较准确想改延时就把里面的2000改掉,这个数除以1000得的数就是多少毫秒

num++;

if(num==1) //让蜂鸣器工以500Hz频率工作

{

num=0;

BELL=~BELL;

}

}