led灯在高电平下灭,低电平下亮。所以想亮哪一个灯,将那一位置0即可。八个灯均灭的情况下是0xff,均亮的情况下是0x0。
下面是led流水灯的程序。
#include <reg52.h>
#include <intrins.h>
#include "delay.h"
#define LEDPORT P2
void main()
{
unsigned char temp = 0x7f;
while(1)
{
LEDPORT = _crol_(temp,1);//左移函数
temp = LEDPORT;
delay_s(1);//自己写的延时函数,延时1s
}
}
或者
#include <reg52.h>
#include <intrins.h>
#include "delay.h"
#define LEDPORT P2
unsigned char leddata[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void main()
{
unsigned char i;
while(1)
{
for(i = 0; i < 8; i++)
{
LEDPORT = leddata[i];
delay_s(2);
}
}
}