Bootstrap

STC89C52单片机 点亮LED灯

点亮LED灯

一、什么是LED

LED全称为半导体发光二极管,采用半导体材料制成的,以直接将电能转化为光能,电号转换成光信号的发光器件;其特点是功耗低、高亮度、色彩艳丽、坑振动、寿命长(正常发光8-10万小时)、冷光源等优点,是真正的“绿色照明”。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3t4DG9VG-1604912650705)(img/LEDlight.png)]

二、LED工作参数

LED(发光二极管)在电路图中的符号为:
它具有二极管的基本特性正向导通,反向截止。要想点亮LED那么需要从正向流过工作电流。

  • 普通发光二极管工作压降为:1.6~2.1V。
  • 工作电流为:1~20mA。

有图中LED的通过电流我们可以根据欧姆定律I(电流) = U(电压) /R(电阻)
可以算出为3mA。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EFxHmT1r-1604912650709)(img/LEDWorkingParameter.png)]

三、原理图分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aFK0cizd-1604912650713)(img/LEDPrincipleAnalysis.png)]

四、C语言知识

关键字: sbit
功能:位定义
一般格式: sbit 标识符 = 地址值;

例如: sbit LED1 = P1^0;
注意:地址值中P1的“P” 必须为大写的P

五、编写代码

1.使 LED1 灯亮
#include <reg52.h>  // 引用51头文件

sbit LED1 = P1^0;  // P必须为大写			控制红色灯

void main(){   // 程序编译后main函数自身会循环
	LED1 = 0;  // 当设置为0时输入一个 低电平	单片机第一个灯会亮		    
	// LED1 = 1; // 当设置为1时输入一个高电平  单片机第一个灯会熄灭
}

效果图:
在这里插入图片描述

2.使 LED1、3、5、7 灯亮,使 LED2、4、6、8 灯灭;
#include <reg52.h>
void main(){ // main 函数自身会循环
	while(1){ // 一般在执行程序的时候需要 写出一个while的循环体来执行代码
		P1 = 0XAA; // 1010 1010	  // 使 LED1、3、5、7 灯亮
	}
} 

效果图:
在这里插入图片描述

;