1. 主程序
#include <reg51.h>
#include <string.h>
#include "led.h"
void Delay(unsigned int n)
{
while (n--);
}
int main(void)
{
unsigned char n = 1;
int i = 0;
LedAllOff();
while (1)
{
for(i = 0; i < 7; ++i)
{
LedOn(n);
Delay(0xffff);
n <<= 1;
}
for (i = 0; i < 7; ++i)
{
LedOn(n);
Delay(0xffff);
n >>= 1;
}
//方法二
// if (1 == n)
// {
// while (1)
// {
// LedOn(n);
// Delay(0xffff);
// n <<= 1;
// if (0x80 == n)
// {
// break;
// }
// }
// }
// if (0x80 == n)
// {
// while (1)
// {
// LedOn(n);
// Delay(0xffff);
// n >>= 1;
// if (1 == n)
// {
// break;
// }
// }
// }
}
}
2. 源文件
#include <reg51.h>
#include "led.h"
void LedAllOn(void)
{
P2 = 0;
}
void LedAllOff(void)
{
P2 = 0XFF;
}
void LedOn(unsigned char n)
{
P2 = ~n;
}
3. 头文件
#ifndef _LED_H_
#define _LED_H_
extern void LedAllOn(void);
extern void LedAllOff(void);
extern void LedOn(unsigned char n);
#endif