1、点亮
//点亮一颗LED
#include "reg52.h"
sbit led=P0^0;
void main()
{
while(1)
{
led=1;//赋值1,为高电平,LED亮
}
}
2、led闪烁
//led间隔0.5秒闪烁
#include "reg52.h"
typedef unsigned char u8;//预处理
typedef unsigned int u16;
sbit led=P0^0;
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
led=1;
delay(50000);//进行软件仿真计算得约为450ms
led=0;
delay(50000);
}
}
注意:上面代码使用的延时函数delay()是有误差的,可以使用软件“单片机小精灵”生成准确的延时函数
如我在单片机小精灵中为实现500ms延时,生成了代码块,如下:
void delay500ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=23;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
}