求51单片机蜂鸣器程序

求51单片机蜂鸣器程序,第1张

#include<reg51.h>

sbit buzzer = P1^0   声明区

void delay(int)  

void pulse_BZ(int,int,int)声明函数void main(void)

{

while(1)

{

pulse_BZ(500,1,1)  调用发声

delay(1000)        延时1000 X 0.5ms

pulse_BZ(500,1,1)

delay(1000)

pulse_BZ(500,1,1)

delay(1000)

pulse_BZ(200,1,1)

delay(1000)

pulse_BZ(200,1,1)

delay(1000)

}

}void delay(int x)

{

int i,j

for(i=0i<xi++)

for(j=0j<60j++)

}void pulse_BZ(int countint THint TL)

{

int i

for(i=oi<counti++)    //循环count次,时间count x 1ms

{

buzzer=1               //此程序段产生1HZ 信号

delay(TH)

buzzer=0

delay(TL)

}

}

51单片机蜂鸣器

开关C语言程序:

sbit P2^0=KEY

sbit P2^1=BEEP

unsigned char KEYNUM=0

void main()

{

while(1)

{

if(KEY==0)//开关按下

{

KEYNUM++

}

if(KEYNUM==1)//第一次按下;

{

BEEP=1//蜂鸣器响

}

if(KEYNUM==2)/第二次按下;

{

BEEP=0//蜂鸣器不响

KEYNUM=0

}

}

}

51单片机,编写延时程序,控制蜂鸣器发声:

很简单的

#include<reg52.h>

#define uchar unsigned char

#define uint unsigned int

sbit fengmingqi=P0^0//声明IO口

void delay(uint x)//延时子函数

{

uint i,j

for(i=xi>0i--)

for(j=50j>0j--)

}

void main(void)

{

while(1) //循环

{

fengmingqi=1//p0.0口高电平,蜂鸣器发声

delay(500)//延时

fengmingqi=0//p0.0口低电平,蜂鸣器不发声

delay(500)//延时

}

}

#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=0i<200i++)

{

SPK=~SPK

for(j=0j<tj++)//由参数t行成不同的频率产生不同的声音

}

}

voidmain()

{

SPK=0

while(1)

{

if(K1==1)

{

Alarm(90)

Alarm(120)

}

}

}

ORG 0000H

STAR:

JB P1.0,$ p1.0作为开关 打开程序才能继续下去

CALL DI 发音200ms

CALL NO_DI 静音200ms

CALL DI

CALL NO_DI

CALL DI

CALL NO_DI

SJMP STAR继续从头执行程序

-------------------

DI:

MOV R1,#100 发音200ms

D2:

CLR P1.7

LCALL DEL 约1ms

SETB P1.7

LCALL DEL设置蜂鸣声音的频率高低

DJNZ R1, D2

RET

-------------------

NO_DI:

MOV R1,#100 静音200ms

ND2:

CLR P1.7

LCALL DEL 约1ms

SETB P1.7

LCALL DEL设置蜂鸣声音的频率高低

DJNZ R1, ND2

RET

-------------------

DEL: 约1ms

MOV R7,#5

DLY1:

MOV R6,#100

DJNZ R6,$

DJNZ R7,DLY1

RET

END


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11864472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存