设计思路:
如果要实现 LED 闪烁,只需循环让 D1 指示灯先亮一会后熄灭。这里就有一
个延时问题,如何来产生延时呢?我们知道单片机执行每条代码指令都是需要时
间的,在前面介绍 C 语言时讲解过循环语句,因此只需编写一个循环函数,让
CPU 不干其它事,专门在那循环运行即可实现延时功能。依据人的肉眼余晖效应,
延时时间不能太短,否则就无法观察到 LED 闪烁。
代码部分:
原始代码如下:
#include"reg52.h"//51的头文件 typedef unsigned char u8; typedef unsigned int u16; //自定义类型,方便使用 sbit LED1=P2^0; void delay_time(u16 ten_us)//10us { while(ten_us--);//执行一次需要10us } void main() { while(1) { LED1==0;//亮 delay_time(50000);//延时 LED1==0;//灭 delay_time(50000);//延时 } }