单片机交流
直播中

马刺牛逼

11年用户 533经验值
擅长:模拟技术
私信 关注
[问答]

怎样去计算LED小灯电路的限流电阻

点亮LED小灯的原理是什么?如何去编写点亮小灯的程序?怎样去计算LED小灯电路的限流电阻?怎样去设计一种USB接口电路?

回帖(1)

郑聪

2021-8-5 15:46:52
  1、 外设 LED 介绍
   LED小灯 即发光二极管,发光二极管为二极管中的一种,二极管中有阳极和阴极,电流从正极流向负极导通,反向阻断。其中贴片发光二极管,正向导通电压在1.8V — 2.2V之间,靠电流驱动,工作电流在1mA – 20mA之间,1mA – 5 mA之间LED小灯亮度变化明显,5 mA – 20mA之间LED小灯亮度变化不大,20mA以上LED小灯易烧坏。
  2、计算限流电阻
   LED小灯电路
  
   1. 限流电阻: 电阻的阻值大小变化可以直接改变整条电路的电流大小,称为限流电阻。
   2. 该开发板VCC电压为5V,GND接地为0V,贴片LED电压大概在2V左右,限流电阻电压为3V左右,要使LED灯亮电流控制在1mA – 20mA之间,从而限流电阻应在150欧姆 – 3K欧姆之间。
  3、USB接口电路介绍
   USB接口电路
  
   1. 1引脚:VCC,4引脚:GND。 2引脚和3引脚:数据通信引脚。  5引脚和6引脚:GND。
   2。 F1为自恢复保险丝,正常情况可以看成导线,短路下保险丝断开保护电路。
   3。 C16为470微法的电容,电容:隔直流,通交流。
  4、点亮LED小灯原理
   将图二的GND换成一个单片机的IO口 P0.0 , 更换后如图:
  
    原理:当P0.0输出一个高电平的时候,相当于跟VCC一样的5V电压,此时整个电路路无电压差无电流,LED熄灭。当P0.0输出一个低电平的时候,相当于跟GND一样的0V电压,此时整个电路接通,LED点亮。可以P0.0输出电平可以通过程序控制。
  5、特殊功能寄存器和位定义
   1. 单片机内部有多个特殊功能寄存器,编程时必须得先用 sfr 关键字声明后才能使用,例如:
  sfr P0 = 0x80; // 定义了 P0 模块特殊功能寄存器  每个模块的特殊功能寄存器地址可以通过单片机手册查询,keil软件已经把这些特殊功能寄存器保存到了 #include《reg52.h》 的头文件中,只需在文件中添加该头文件即可省去特殊功能寄存器的声明。
   2. 每个特殊功能寄存器里有8个开关,即8个IO口(输入和输出口),可以通过 ***it 关键字来定义这些开关。例如:
  ***it LED = P0^0; //将 P0 模块寄存器的第0个 IO 口命名为 LED  
  3.特殊功能寄存器手册
   Add: 为寄存器地址,地址里h表示16进制。
   Reset Value:为上电复位值,1表示高电平,0表示低电平。
  6、通过keil软件建立工程
    步骤: 1. 建立工程(注意:选择Inter下的单片机)----》 2. 保存工程 ----》 3. 建立文件(文件名后缀为.c)并保存 ----》 4. 添加文件到工程 ----》 5. 编写程序 ----》 6. 编译 ----》 7. 下载程序。
  7、编写程序
    1. 点亮小灯程序
  #include《reg52.h》 //包含特殊功能寄存器定义的头文件***it LED = P0^0;//为地址声明,***it小写,P大写***it ADDR0 = P1^0;***it ADDR1 = P1^1;***it ADDR2 = P1^2;***it ADDR3 = P1^3;***it ENLED = P1^4;void main(){ ENLED = 0; ADDR3 = 1; ADDR2 = 1; ADDR1 = 1; ADDR0 = 0; LED = 0;//低电平,点亮小灯, 同理将LED = 1,为高电平,熄灭小灯。 while(1);//让程序停止在这}   程序运行无误后,设置生成 .hex文件后重新编译, 重新编译成功后将生成.hex文件。
    2. output窗口说明
  
    data=9.0 :表示程序使用了内存RAM 9个字节。
    code = 29 :表示程序使用了FLASH资源的29个字节。
  8、烧录程序
    步骤:
  1.硬件连接好后查看开发板使用的COM端口号。
    2. 打开烧录软件,选择好对应单片机种类,调选好对应COM端口号。
    3. 打开生成的.hex文件后下载,
    4. 当烧录软件显示上电后,打开单片机开关即可。
举报

更多回帖

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