當前位置:首頁 » 編程語言 » 蜂鳴器間斷響c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

蜂鳴器間斷響c語言

發布時間: 2022-12-15 09:40:55

A. 單片機蜂鳴器c語言編程

沒有研究你的程序,但是Beep=~Beep;很好理解,就是將Beep的值
取反
,如果Beep原來是1(響),那麼將Beep的值取反後再給回它自已那不是變成0(不響)了嗎。

B. 蜂鳴器每一秒響一次,響十秒後關閉,怎麼做,C語言

每隔一秒響一次, 響多久沒有說

一般都是響一秒 停一秒。 這樣就是20秒後關閉了。

可以寫作

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

C. 單片機用C語言讓蜂鳴器發出兩種聲調,怎麼編程

讓蜂鳴器發出兩種不同的聲調很容易,只要給蜂鳴器的控制信號發送不同頻率的脈沖就可以實現了,以下以延時方式來做。
#include<reg51.h>
#define
uchar
unsigned
char
#define
uint
unsigned
int
sbit
SPK=P1^0;
sbit
K1=P1^7;
//發聲函數
void
Alarm(uchar
t)
{
uchari,j;
for(i=0;i<200;i++)
{
SPK=~SPK;
for(j=0;j<t;j++);
//由參數t行成不同的頻率
}
}
voidmain()
{
SPK=0;
while(1)
{
if(K1==1)
{
Alarm(90);
Alarm(120);
}
}
}

D. AT89C52單片機 蜂鳴器響一秒停0.5秒 速求 c語言

#include <reg51.h>

typedef unsigned char BYTE; // 數據范圍0-255
typedef unsigned int WORD; // 數據范圍0-65535
typedef bit BOOL ; // 數據范圍0-1

sbit BUZZ = P0^0;
WORD count,flag;

void timer0() interrupt 1
{
TH0=(65535-46080)/256;
TL0=(65536-46080)%256; // 重新載入延時時間,如果晶振為12M, 則為被減數則為50000

count++;

if(count==10) // 11.0592 晶振精確延時0.5秒
{ flag++;
if (flag==1)
{BUZZ=0; }
else if (flag==3)
{BUZZ=1; flag=0; }
count=0;
}
}

/* 主程序 */
/********************************/
main()
{
TMOD=0x01; // 定時器工作在方式1
TH0=(65536-46080)/256;
TL0=(65536-46080)%256; // 載入定時器初值
ET0=1; // 開定時器0 中斷
EA=1; // 開總中斷
TR0=1; // 定時器0工作
flag=0;
while(1);
}