实验环境
- 仿真软件
Protue 8.9 sp2 - IDE
Keil5 C51 - 单片机
AT89C51
Protues仿真图
将LDE的一端连接电源VCC,一端连接单片机的P0.0引脚
Keil工程
项目结构
代码
#include <REG51.H>
//使用P0.0引脚
sbit led1 = P0 ^ 0;
//普通的延时函数
void delay_ms(unsigned int ms)
{
unsigned char i = 250;
for (; ms > 0; ms--)
{
while (--i)
;
i = 249;
while (--i)
;
i = 250;
}
}
int main(void)
{
while (1)
{
led1 = 0;//灯亮
delay_ms(500);//延时0.5秒
led1 = 1;//灯灭
delay_ms(500);//延时0.5秒
}
}
结果
总结
通过粗略延时的引入,就可以一直使LED灯达到闪烁的目地。若没有延时函数,也可以让led闪烁,但闪烁频率太快,以至于肉眼无法分辨。