#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)
}
}
}
输出不同频率的方波信号来驱动蜂卜肆消鸣器即可发出N多种的声音。用一个小的C程序型知来给你演示一下:
while(1)
{
P0^0=1
delayms(50)
P0^0=0
delayms(50)
}
改变delayms()函数据的参数即可雹袭改变延时的时间,就可以改变P0.0口输出的方波的频率,驱动蜂鸣器后就能发出不同的声音了
答:#include<reg52.h>枣行
sbit beep=P1^0// 低电平凳衡哗驱动
sbit key1=P1^2
sbit key2=P1^3
typedef unsigned int uint
typedef unsigned char uchar
void delay(uint x)
{
uint i,j
for(i=xi>拦友0i--)
for(j=110j>0j--)
}
void mian()
{
while(1)
{
if(key1==0)
{
delay(20)
if(key1==0)
{
while(!key1)
{
beep=0delay(5)beep=1delay(5)
}
}
if(key2==0)
{
while(!key2)
{
beep=0delay(2)beep=1delay(2)
}
}
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)