#include<reg51h>
#include<intrinsh>
#define uchar unsigned char
void delay(void)
{
uchar i,j;
for(i=0;i<150;i++)
for(j=0;j<240;j++);
}
main()
{
uchar led,i,j;
while(1)
{
for(i=0;i<8;i++)
{
led=0xfe<<i;
for(j=0;j<8-i;j++)
{
P0=led;
led=_crol_(led,1);
delay();
}
}
}
}
#include<reg52h>
#include<intrinsh>
#define uint unsigned int
#define uchar unsigned char
sbit key=P0^1; //用的时候需加上拉电阻
uint t;
void Delay_ms(uint z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void Led_F() //从上往下流动
{
uchar a=0xfc; //a=11111100
while(t) //当按了一下按键流水灯开始
{
P1=a;
Delay_ms(500);
a=_crol_(a,2); //a数据位向左移两位11111100->11110011
if(t==2) //如果是第二次按下按键则回到初始状态
{
t=0;
P1=0xff;
break;
}
}
}
void Key_T() //键盘检测
{
if(key==0)
{
Delay_ms(50);
if(key==0)
{
t++;
}
}
}
void main()
{
while(1)
{
Key_T();
Led_F();
}
}
其中一类; 8只LED左右来回点亮
#include<reg51h>
#include<intrinsh>
#define uchar unsigned char
#define uint unsigned int
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
uchar i;
P0=0x01;
while(1)
{
for(i=0;i<7;i++)
{
P0=_crol_(P0,1); //P0的值向左循环移动
DelayMS(150);
}
for(i=0;i<7;i++)
{
P0=_cror_(P0,1); //P0的值向右循环移动
DelayMS(150);
}
}
}
以上就是关于51单片机流水灯用C语言编写的设计程序是什么全部的内容,包括:51单片机流水灯用C语言编写的设计程序是什么、单片机,流水灯程序。急!有图!、流水灯的C语言程序是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)