##仿真图


##源码.c
#include <reg52.h>
#include <intrins.h> //包含移位函数
#define uint unsigned int //宏定义
#define uchar unsigned char
sbit S1=P3^7; //定义S1变量
void delay(uint);
uchar temp;
void main()
{
temp=0xfe; //初始化
P2=temp;
while(1)
{
if(S1==0) //判断是否按下
{
delay(10);
if(S1==0) //再次判断是否按下
{
temp=_crol_(temp,1);//右移
delay(100); //延时
P2=temp;//重新赋值
while(!S1);//消抖
delay(5);
while(!S1);
}
}
}
}
void delay(uint z) //延时程序
{
uint x,y;
for(x=200;x>0;x--)
{
for(y=z;y>0;y--);
}
}
本文介绍了一个基于51单片机的LED流水灯控制程序,通过按键触发LED流水灯的变化,实现了LED灯光的右移效果。程序中使用了_crol_函数进行位操作,以及自定义的延时函数确保了灯光变化的视觉效果。
7533

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



