标题:
51单片机通过按键控制LED灯闪烁和蜂鸣器响应
[打印本页]
作者:
文西与不羁
时间:
2021-6-6 12:46
标题:
51单片机通过按键控制LED灯闪烁和蜂鸣器响应
学完了LED灯闪烁和蜂鸣器,想弄一个通过一个按键控制LED灯闪烁和蜂鸣器响的装置,简单的做一下类似于警车那个灯一样的,就是当按键按下的次数为单数时,LED灯进行闪烁和蜂鸣器进行间接一直响应,当按键按下的次数为双数时,LED灯和蜂鸣器停止工作。之前进行实验的时候,自己有弄过两个开关,一个控制蜂鸣器,一个控制LED灯,;弄的代码只能驱动蜂鸣器响和停,LED灯的灭和亮,不能进行闪烁,求指点
作者:
YANGYANG999
时间:
2021-6-6 14:01
你选择的条件选完了吗?亮灭和闪烁可以分成三个方面的条件
作者:
xuyaqi
时间:
2021-6-6 14:02
一步步来,先实现能让LED灯闪烁,再加别的功能。
作者:
文西与不羁
时间:
2021-6-6 14:07
我已实现LED灯的闪烁,现在的下一步是想按键控制LED灯闪烁
作者:
老董
时间:
2021-6-6 22:44
已经用开发板验证过 晶振12M 喇叭是无源的 声音高低和闪烁快慢 可以调节delay()ha函数
#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit k=P3^0; //按键
sbit led=P2^7; //灯
sbit beep=P1^5; //警笛
u8 a=0;
u16 b=0;
void delay(u16 i) //延时
{
while(i--);
}
void main()
{
while(1)
{
a=0;
if(k==0)
{
delay(100);
if(k==0)
{
a++;
while(!k);
while(1)
{
b++;
if(b>500)
{
led=!led;
b=0;
}
if(led==0)
{
beep=!beep;
delay(100);
}
else
{
delay(100);
}
if(k==0)
{
delay(100);
if(k==0)
{
while(!k)
a++;
if(a>1)
{
led=1;
break;
}
}
}
}
}
}
}
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1