闪烁灯的实验
效果:
灯灭:
灯亮:
以上不断循环,可以实现灯的不断闪烁的效果!
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程序烧录到单片机中就可以看到灯不断闪烁!