实验一:滴滴间断声光报警信号实验
程序:
//滴滴间断声光报警信号实验
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
#include <reg52.h>
char code dx516[3] _at_ 0x003b;
//端口设置
sbit P10=P1^0; //LED1
sbit K1=P3^2; //K1
sbit BEEP=P2^3; //接蜂鸣器
//滴答时间函数
bi(ulong t)
{
ulong c;
uint n;
for (c=0;c<t;c++)
{
for(n=0;n<50;n++); //延时
BEEP=~BEEP; //输出取反信号
}
}
//主函数
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 <reg52.h>
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; //喇叭输出角
//主函数
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;
}
}