//间断的嘀嘀声,led闪烁
#include<reg51.h>
#define ulong unsigned long
#define uint unsigned int
sbit P10=P1^0;
sbit beep="P3"^2;
bi(ulong t)
{
ulong c;
uint n;
for(c=0;c<t;c++)
{
for(n=0;n<50;n++); //延时
beep=~beep; //取反,产生交流信号
}
}
void main(void)
{
ulong n;
while(1)
{
P10=0; //led on
bi(1000); //嘀一阵
P10=1; //led off
for(n=0;n<5000;n++); //停一阵
}
}
//不断交替输出两个频率的声音,就会发出类似救护车的声音
//同时闪烁两个LED
#include<reg51.h>
#define ulong unsigned long
#define uint unsigned int
sbit P10=P1^0;
sbit P11=P1^1;
sbit beep="P3"^2;
void main(void)
{
ulong ul;
uint n;
P10=0; //先点亮一个LED,以便两个LED交替闪烁
while(1)
{ //输出约1秒钟一个频率的声音
for(ul=0;ul<1000;ul++)
{
for(n=0;n<80;n++); //延时
beep=~beep;
}
P10=~P10;
P11=~P11;
//输出约1S另外一种频率的声音
for(ul=0;ul<1000;ul++)
{
for(n=0;n<50;n++); //延时
beep=~beep;
}
P10=~P10;
P11=~P11;
}
}
//按键声音(类似手记等东东的按键声音)
#include<reg51.h>
#define ulong unsigned long
#define uint unsigned int
sbit beep="P3"^2;
sbit k1=P3^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 n;
while(1)
{
if(!k1)
{
bi(200); //按键声音
while(!k1); //等待按键松开
for(n=0;n<2000;n++); //消除后沿抖动
}
}
}
文章评论(0条评论)
登录后参与讨论