
//主要使用P2的8个LED和P3的两个独立按键
按亮松灭
#include <REGX52.H>
void sleep(unsigned int bs)//耗时约半秒
{
int i,j;
while(bs--)
{
i=2,j=240;
do
{
while(--j);
}while(--i);
}
}
int main()
{
while(1)
{
if(P3_3==0)//按k4按键D1灯亮
{
sleep(1);//避免按键抖动,耗时半秒
while(P3_3==0) P2_0=0;
sleep(1);
}
else P2_0=1;//松开即灭
}
return 0;
}
一组按抬 控制亮灭
#include <REGX52.H>
void sleep(unsigned int bs)//耗时函数
{
int i,j;
while(bs--)
{
i=2,j=200;
do
{
while(--j);
}while(--i);
}
}
int main()
{
P2_0=0;//初始化灯亮
while(1)
{
if(P3_3==0)//
{
sleep(1);//这三行是判断是否按下抬起
while(P3_3==1)//
{
P2_0=1^P2_0;break;//按位异或
}
}
}
return 0;
}
左右按键一组按抬 实现LED移位效果
#include <REGX52.H>
void sleep(unsigned int bs)//ºÄʱԼ°ëÃë
{
int i,j;

本文介绍如何使用51单片机通过按键控制LED的亮灭及左右按键实现LED的移位效果。通过三个实例详细展示了不同场景下的实现方法,包括避免按键抖动的技术处理。
最低0.47元/天 解锁文章
3357

被折叠的 条评论
为什么被折叠?



