51单片机让发光二极管闪烁单片机让发光二极管闪烁
学过汇编的同学都清楚,单片机机在执行指令时,是一条一条指令顺序执行的,对于C语言也一样,也是一条
一条语句执行,而每执行一条指令或一条语句,都要占用一定的时间,利用单片机执行程序的这个特点就可能
用来实现发光二极管闪烁。
大家经常可以看到外面大街小巷各种各样漂亮的闪烁的流水或者说广告灯,如图1,这是怎么实现的呢,这节课我们就来讲下
如让发光二极管闪烁和流水灯程序的设计。
图1漂亮的广告灯
1如何实现发光二极管闪烁和简单延时
学过汇编的同学都清楚,单片机机在执行指令时,是一条一条指令顺序执行的,对于C语言也一样,也是一条一条语句执行,
而每执行一条指令或一条语句,都要占用一定的时间,利用单片机执行程序的这个特点就可能用来实现发光二极管闪烁。
具体方法就如图2所示,是先点亮发光二极管,然后写一条延时语句,在这段延时时间内,单片机什么事也不做,而此时发光
二极管还是一直保持亮的状态,然后延时时间完后,再让发光二极管熄灭,熄灭后也写一条延时程序,而在这段时间内,发光
二极管一直保持熄灭,直到延时时间结束再复上而的亮的过程,这样一直不断的循环下去就实现在发光二极不断闪烁。
图2发光二极管闪烁
延时可以由while语句来实现,也可由for语句实现,由于前面我们已经介绍过while语句,所以这里先介绍如何利用while语句实
现延时。
(1) 利用while语句进行延时
由于while语句在前我们已经讲解过,这里直接给出程序如例1。
例1利用whiel语句实现发光二极管闪烁程序
#include<reg52.h>
sbit D1=P1^0;
unsigned int a;
void main()
{
- 1
- 2
前往页