LED发光二极管是最常用的输出指示设备,具有操作简单、价格低廉的优点。相应的电路原理图如图2.1所示: 一、电路分析 由上图可知,如果要LED点亮需保证总开关三极管Q7处于饱和导通状态,同时对应的LED端口P0.0~P0.7为低电平(0V)。三极管Q7为PNP型中功率管S8550,只要在三极管的基极B(2脚)施加一个高电平(5V),则三极管发射极E(1脚)和集电极C(3脚)为饱和导通状态,Vce≈0.3V。当Ve=5V时,Vc=4.7V,串接在基极上的4.7K的电阻R16起到保护三极管的作用。实验板上的LED为红光LED,其导通电压约为1.7V左右,导通电流为1~10mA。电阻R17~R24为LED的限流电阻,保护LED防止流经LED的电流太大损坏LED。限流电阻的选取计算为R=(Vcc-Vled)/I=300~3K,这里选取的是470Ω。不同颜色的LED其导通电压不同,一般其导通电流不超过10mA。 常用的三极管分为NPN和PNP型,实验室提供901x系列和8050、8550,三极管引脚定义:有字符一面从左至右依次为E、B、C。LED引脚定义:长正短负,或用万用表二极管档位测量。三极管和LED的外观如图2.2所示: 二、软件编程 根据前文分析,可知点亮LED的步骤为:打开LED总开关Q7,执行P3.7=1;设置P0.0~0.7=0。 为了规范编程,我们对实验板所有的外设进行了端口定义(WA51.h)和编写外设驱动函数(WA51.c),在主函数(main.c)中进行函数调用。 1、编写用户库文件WA51.h 2、编写外设驱动源文件WA51.c 3、在主函数中进行LED驱动函数调用 实现了LED0~LED3依次亮灭500ms,LED4~LED7依次点亮500ms,周而复始。 |
原文地址:https://www.cnblogs.com/wuq-hz-zj/p/10168530.html