C51入门4,蜂鸣器实验

实验一:滴滴间断声光报警信号实验

程序:

//滴滴间断声光报警信号实验
#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;
 }
}

 

posted on 2013-03-16 16:52  AI_JJ  阅读(241)  评论(0)    收藏  举报

导航