#include "reg52.h"
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;
void Delay(unsigned int t)
{
while(t--);
while(t--);
}
void LEDRunning()
{
unsigned char i;
HC138_C = 1;
HC138_B = 0;
HC138_A = 0;
for(i = 0; i < 3; i++)
{
P0 = 0x00;
Delay(60000);
Delay(60000);
P0 = 0xff;
Delay(60000);
Delay(60000);
}
for(i = 1; i <= 8; i++)
{
P0 = 0xff << i;
Delay(60000);
Delay(60000);
}
for(i = 1; i <= 8; i++)
{
P0 = ~(0xff << i);
Delay(60000);
Delay(60000);
}
}
void main()
{
while(1)
{
LEDRunning();
}
}
本文介绍了一个基于51单片机的LED流水灯程序实现,通过控制P0口的输出,实现了LED灯从左到右、从右到左的流水效果。程序中使用了延时函数确保灯光的流动速度适中,通过HC138译码器控制,展示了基本的单片机编程技巧。
8172

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



