C51入門(mén)4,蜂鳴器實(shí)驗(yàn)
實(shí)驗(yàn)一:滴滴間斷聲光報(bào)警信號(hào)實(shí)驗(yàn)
程序:
//滴滴間斷聲光報(bào)警信號(hào)實(shí)驗(yàn)
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include
char code dx516[3] _at_ 0x003b;
//端口設(shè)置
sbit P10=P1^0;//LED1
sbit K1=P3^2;//K1
sbit BEEP=P2^3;//接蜂鳴器
//滴答時(shí)間函數(shù)
bi(ulong t)
{
ulong c;
uint n;
for (c=0;c
for(n=0;n<50;n++);//延時(shí)
BEEP=~BEEP;//輸出取反信號(hào)
}
}
//主函數(shù)
void main(void)
{
uint i;
while(1)
{
P10=0;//燈亮
bi(1000);//滴答一陣
P10=1;//燈滅
for (i=0;i<10000;i++);//延時(shí)
}
}
實(shí)驗(yàn)二:變頻聲救護(hù)車報(bào)警信號(hào)輸出實(shí)驗(yàn)
程序:
//變頻聲救護(hù)車報(bào)警信號(hào)輸出實(shí)驗(yàn)
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include
char code dx516[3] _at_ 0x003b;
//端口設(shè)置
sbit P10=P1^0;//LED1
sbit P11=P1^1;//LED2
sbit K1=P3^2;//K1
sbit BEEP=P2^3;//喇叭輸出角
//主函數(shù)
void main(void)
{
ulong u1;
uint i;
P10=0;//先點(diǎn)一個(gè)燈,以便兩個(gè)燈輪流閃爍
while(1)
{
for (u1=0;u1<3000;u1++);//輸出約1秒鐘一個(gè)頻率的聲音
{ for (i=0;i<80;i++);//延時(shí)
BEEP=~BEEP;//信號(hào)取反
}
P10=~P10;//閃爍
P11=~P11;//閃爍
for (u1=0;u1<2500;u1++);//一秒鐘輸出另外一個(gè)頻率的聲音
{ for (i=0;i<100;i++);
BEEP=~BEEP;
}
P10=~P10;
P11=~P11;
}
}