#include <8051.h>
/*
* 需求:1、点亮第一个LED。
* 2、LED闪烁。
* 3、LED流水灯。
*
*/
//定义数据类型
typedef unsigned char uchar;
typedef unsigned int uint;
//声明函数
void OpenFirstLED();
void led_on_or_shutdown();
void led_water();
void Delay(uint x);
void ledleft();
void ledright();
//主函数
void main()
{
while(1)
{
OpenFirstLED();
led_on_or_shutdown();
led_water();
}
}
//延时函数X毫秒
void Delay(uint x)
{
uint y,z;
for(z=x;z>0;z--)
for(y=110;y>0;y--);
}
//打开第一个LED
void OpenFirstLED()
{
P2=0xFE;
Delay(1000);
}
//LED闪烁
void led_on_or_shutdown()
{
P2=0xFF;
Delay(1000);
P2=0x00;
Delay(1000);
}
//led流水灯
void led_water()
{
ledleft();
Delay(1000);
ledright();
Delay(1000);
}
//led左移
void ledleft()
{
uchar i=0;
P2=0xFE;
Delay(500);
for(i;i<7;i++)
{
P2=~P2;
P2<<=1;
P2=~P2;
Delay(500);
}
}
//led右移
void ledright()
{
uchar i=0;
P2=0x7F;
Delay(500);
for(;i<7;i++)
{
P2=~P2;
P2>>=1;
P2=~P2;
Delay(500);
}
}