标题:
51单片机LED流水灯程序
[打印本页]
作者:
此无LWR
时间:
2023-6-14 16:43
标题:
51单片机LED流水灯程序
本代码通过keil编写,下载到单片机开发板上可以实现多种不同的流水灯样式,因为所用到的c语言语法较为简单,所以代码较为冗杂,如有能力,可自行更改。
#include <REGX52.H>
#include <INTRINS.H>
void delay(unsigned int xms)
{
unsigned char i,j;
while(xms)
{
i=2;
j=239;
do
{
while(--j);
}
while(--i);
xms--;
}
}
void main()
{
unsigned int xms=150;
unsigned int LEDNum=0x01;
unsigned int Tick;
P2=~LEDNum;
delay(200);
for(Tick=0;Tick<=6;++Tick)
{
LEDNum=LEDNum<<1;
P2=~LEDNum;
delay(200);
}
for(Tick=0;Tick<=6;++Tick)
{
LEDNum=LEDNum>>1;
P2=~LEDNum;
delay(200);
}
P2=~LEDNum;
for(Tick=0;Tick<0xFE;++Tick)
{
++LEDNum;
P2=~LEDNum;
delay(100);
}
for(Tick=0;Tick<0xFE;++Tick)
{
--LEDNum;
P2=~LEDNum;
delay(100);
}
while(xms)
{
P2_0=0;
delay(xms);
P2_1=0;
delay(xms);
P2_2=0;
delay(xms);
P2_3=0;
delay(xms);
P2_4=0;
delay(xms);
P2_5=0;
delay(xms);
P2_6=0;
delay(xms);
P2_7=0;
delay(xms);
P2_0=1;
delay(xms);
P2_1=1;
delay(xms);
P2_2=1;
delay(xms);
P2_3=1;
delay(xms);
P2_4=1;
delay(xms);
P2_5=1;
delay(xms);
P2_6=1;
delay(xms);
P2_7=1;
delay(xms);
xms=xms-30;
}
while(xms)
{
P2_0=0;
delay(xms);
P2_1=0;
delay(xms);
P2_2=0;
delay(xms);
P2_3=0;
delay(xms);
P2_4=0;
delay(xms);
P2_5=0;
delay(xms);
P2_6=0;
delay(xms);
P2_7=0;
delay(xms);
P2_7=1;
delay(xms);
P2_6=1;
delay(xms);
P2_5=1;
delay(xms);
P2_4=1;
delay(xms);
P2_3=1;
delay(xms);
P2_2=1;
delay(xms);
P2_1=1;
delay(xms);
P2_0=1;
delay(xms);
xms=xms-30;
}
LEDNum=0xCC;
for(Tick=0;Tick<=6;++Tick)
{
P2=LEDNum;
LEDNum=~LEDNum;
delay(200);
}
LEDNum=0x55;
P2=LEDNum;
delay(200);
for(Tick=0;Tick<=6;++Tick)
{
LEDNum=LEDNum<<1;
P2=LEDNum;
delay(200);
}
while(1);
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1