LED原理、点亮LED

搞不懂为什么直接开始流水灯了………………
总之先从基础开始

LED

LED:半导体发光二极管,采用半导体材料制成,以直接将电能转换成光能,电信号转换成光信号的发光器件;
特点:功耗低,高亮度,色彩艳丽,抗振动,寿命长,冷光源

如何点亮LED

我用的单片机里的部分电路
在这里插入图片描述
(1)发光二极管电路工作原理
如图2(只关注led灯部分电路),P0口的8位输出分别连接了8个发光二极管L0~L7的阳极, P2.3经过一个反相器连接到8个发光二极管L0~L7的阴极(共阴极)。
根据二极管的单向导通性
(当阳极为高(对应P0口位为1)、阴极为低时,二极管导通,否则不导通)
若P2.3输出信号为低电平“0”,则二极管的阴极都为高电平,此时无论P0输出的是“1”还是“0”,二极管都不会导通,也就不会发光。
**因此想要发光二极管导通,必须先设置P2.3输出信号为“1”,再通过设置P0,点亮想要点亮的发光二极管。 **

推挽电路

推挽电路输入输出(push-pull)模式。推挽电路的输出端好像有两个“臂”(两组放大元件),一个“臂”的电流增加时,另一个“臂”的电流则减小,二者的状态轮流转换。对负载而言,好象是一个“臂”在推,一个“臂”在拉,共同完成电流输出任务。该电路模式的主要作用是增强驱动能力,为外部设备提供大电流,可以直接输出高电平电压。

头文件等

#include<STC15F2K60S2.H>
#define uchar unsigned char
#define uint unsigned int
sbit led_sel=P2^3;//P2^3----E3
uchar led;

实现推挽电路

void Init(){

P0M1=0x00;
P0M0=0xff;

P2M1=0x00;
P2M0=0x08;

led_sel=1;	//设置P2\3为1

}
这段没搞懂……为什么要这么设置呢?

void main
{
Init();//初始化

	led=0x01;//02 04 08 16 32 64 128
	P0=led;//确定要点亮的led灯 00000001/00000010
}

实现了单个led灯点亮

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值