闪烁灯的实验

效果:
灯灭:
灯亮:

以上不断循环,可以实现灯的不断闪烁的效果!
C代码:
#include <reg52.h>
// 为了程序的可移植性,这里进行宏定义
#define u16 unsigned int
#define u8 unsigned char
// 或者使用typedef关键字
//typedef unsigned int u16;
//typedef unsigned char u8;
// 单片机的端口
sbit led = P1^0;
// 延迟函数(这里延迟的时间应该是:完成循环所花费的时间)
void delay(u16 num) // num:延迟的时间,单位ms
{
u16 x, y;
for(x = num; x > 0; x--)
{
for(y = 110; y > 0; y--)
{
// 延迟1ms
}
}
}
// 主函数
void main(void)
{
led = 1; // 设置P1的0号端口为输出模式
while(1)
{
led = 0; // led灯亮
delay(500); // 延迟500ms,即持续亮500ms
led = 1; // len灯灭
delay(500); // 延迟500ms,即持续灭500ms
}
}
最后把C程序烧录到单片机中就可以看到灯不断闪烁!

浙公网安备 33010602011771号