#include<reg52.h>
sbit led1=P2^0;
sbit led2=P2^1;
sbit led3=P2^2;
sbit led4=P2^3;
sbit led5=P2^4;
sbit led6=P2^5;
sbit led7=P2^6;
sbit led8=P2^7;
void delay(int i)
{
while(i--);
}
void main()
{
while(1)
{
led1=0;
led2=1;
led3=0;
led4=1;
led5=0;
led6=1;
led7=0;
led8=1;
delay(10000);
led1=1;
led2=0;
led3=1;
led4=0;
led5=1;
led6=0;
led7=1;
led8=0;
delay(10000);
}
}
更简单的写法:
DEC 170==BIN 10101010==HEX 0xaa;
DEC 85 ==BIN 01010101==HEX 0x55 ;
#include<reg52.h>
#define D 10000
typedef unsigned int u16;
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
//P2=170;
P2=0xaa;
delay(D);
//=85;
P2=0x55;
delay(D);
}
}
本文介绍了一种使用51单片机控制8个LED灯交替闪烁的方法。通过定义sbit简化了GPIO口的控制,并实现了两种不同的写法来达到相同的视觉效果。一种方式直接操作各LED的高低电平状态,另一种则采用预定义的十六进制数值来快速切换LED的状态。
623

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



