LED
# 一、LED
# 1、LED介绍
- 中文名:发光二极管
- 外文名:Light Emitting Diode
- 简称:LED
- 用途:照明、广告灯、指引灯、屏幕
- 上面图二,一般大的一边是负极,小的是正极
# 2、LED原理图
- 上面两个排阻PR7和PR9(各自由4个电阻组成的)的电阻都是1k,这个在实物图里是以102的数字来表示,计算方式如下:
- 最后一位为倍数,即102—> 10 * 10^2=1000
- 473—> 47 * 10^3=47000
- 1001—> 100 * 10^1= 1000
- 接现在电阻的目的是为了限流,因为我们电流的电压是5v,为了防止led被烧毁,所以要有电阻进行保护
- 因为右侧接的是VCC(5V),所以P2口需给0(低电平)才能产生电流
# 3、单片机控制硬件电路原理
MCU :单片机
单片机里集成了一个cpu,外部就是引脚,单片机里有许多寄存器,寄存器又以8位一组来分组,如上图,假设它为P2口的寄存器,P2里有8位,每一位都有一根导线通过一个驱动器,来增大它的驱动能力,然后连接到这个I/O端口上
写1就给高电平,写0就低电平
# 4、自定义延时函数及LED流水灯
#include <REGX52.H>
void Delay1ms(unsigned int xms);
void main(){
while(1){
P2=0xFE;//1111 1110
Delay1ms(1000);
P2=0xFD;//1111 1101
Delay1ms(1000);
P2=0xFB;//1111 1011
Delay1ms(1000);
P2=0xF7;//1111 0111
Delay1ms(1000);
P2=0xEF;//1110 1111
Delay1ms(1000);
P2=0xDF;//1101 1111
Delay1ms(1000);
P2=0xBF;//1011 1111
Delay1ms(1000);
P2=0x7F;//0111 1111
Delay1ms(1000);
}
}
void Delay1ms(unsigned int xms) //@11.0592MHz
{
unsigned char i, j;
while(xms){
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
xms--;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
编辑 (opens new window)
上次更新: 2023/09/13, 12:29:52