单片机交流
直播中

徐磊

7年用户 888经验值
私信 关注
[问答]

如何实现一种基于STC单片机点亮一个LED灯的设计

LED是什么?
LED发光二极管是如何工作的?
如何实现一种基于STC单片机点亮一个LED灯的设计?

回帖(1)

王涛

2021-9-15 17:22:40
  点亮第一个LED
  1 LED是什么
  LED,发光二极管,是一种半导体固体发光器件。如图:
  
  2 LED工作原理
  LED的符号为: LED的工作是有方向性的,只有当正级接到LED阳极(+),负极接到LED的阴极(-)的时候才能工作,如果反接LED是不能正常工作的。
  3 看懂原理图
  
  LED的原理图解析
  一共有八个led灯D1 - D8,开发板上面LED的原理图如上图,LED的阳极串联一个电阻,然后连接到电源VCC,而LED的阴极连接到单片机的P2口,如果你想点亮一盏LED就对把单片机相对应的IO赋为低电平。
  如果来记住阳极,或阴极,发光二极管是这样的
  
  剪头是阴极,就想一根管子一样,阳极流入阴极
  
  如果要LED发光需要VCC为阳极(1) P2端口为阴极(0)才能发光。
  为什么需要加电阻:因为需要给LED限流,LED有一个正常的工作电压和电流,如果不加入有可能会将我们的发光二极管给烧毁。
  4  编写驱动程序
  控制LED的时候我们需要用到P2拐脚,因为D1到D8对应的是 P2.0-P2.7的一个拐脚,首先我们需要通过***it 来定义:
  ***it 变量名 = 地址值;
  #include “reg51.h”
  //或者是 reg52.h***it LedP20 = P2^0;
  //表示Led P20拐脚的针void main()
  {
  //主函数 while(1)
  {
  //一直运行 LedP20 = 0;
  //等于0表示点亮
  }
  }
  这个代码是点亮D1的LED灯
  二极管反过来接入,解封方案
  如果我们的二极管是这样接入的:
  
  我, 在代码里面LedP20 就只能等于1了,因为vcc接入的是阴极,那么拐脚只能等于阳极才能点亮,这是二极管反过来接入的代码:
  #include “reg51.h”
  //或者是 reg52.h***it LedP20 = P2^0;
  //表示Led P20拐脚的针void main()
  {
  //主函数 while(1)
  {
  //一直运行 LedP20 = 1;
  //等于1表示点亮
  }
  }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分