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