电装实训:常用零器件 | 您所在的位置:网站首页 › 数码管共阳极与共阴极的区别 › 电装实训:常用零器件 |
1 发光二极管:LED
是一种会发光的半导体组件且具备二极管的电子特性。具有单向导电性。 1 工作原理发光二极管核心是二极管的空穴和电子在电压作用下从电极流向PN结。当空穴和电子相遇而产生复合,电子会跌落到较低的能阶,同时以光的形式释放出能量。 直插式:一般根据引脚长短区分正负极(长正:在上面;短负:在下面)。 表面贴片式: 2 电路图里怎么分阴极和阳极?三角形尖尖指向的是阴(负)极;长边对应的是阳(正)极。电流只能由阳极流向阴极(单向导电性)。 所以如果接反了,就不会发光的;所以大家焊接的时候要注意方向。 单向导电,通过5mA的电流使他可以发光。电流越大,发光的亮度越强。但是电流不能过大,否则会烧坏发光二极管。电流控制在3mA-20mA.如果电流过大,可以考虑在发光二极管的引脚上串联一个电阻。电阻可以起到限流的作用,也可以称为限流电阻。 发光二极管的导通压降为2.7V。 3 怎么写程序,让发光二极管亮起来?点亮D1指示灯,即让P0.0输出一个低电平。 4 写程序,让发光二极管,一会全亮、一会全灭:如果想让灯闪烁,D1高一阵(灭)、D1低一阵(亮) 写一个代码:让状态持续一会(>50ms),方便人眼能看出来区别。 为什么是50ms? 我们人的肉眼对闪烁的光线有一个最低分辨能力,通常情况下当闪烁的频率高于50Hz时,我们看到的信号就是常亮的。 即,延时的时间低于20ms的时候,我们的肉眼是分辨不出来小灯是在闪烁的,可能最多看到的是小灯亮暗稍微变化了一下。要想清楚的看到小灯闪烁,延时的值必须大一点,大到什么程度呢,不同的亮度的灯不完全一样,大家可以自己做实验。 一个字节是8位,如果我们写一个P0,就代表了P0.0-P0.7共8个位。 比如我们写P0=OxFE对应成二进制码就是1111,1110,意思就是最后一个灯亮。 1 delay方法: #include typedef unsigned int u16; typedef unsigned char u8; void delay_10us(int ten_us) //当传入ten_us=1,大约花费10us { while(ten_us--); } void main() { while(1) { P0=0x00; delay_10us(50000);//500ms P0=0xFF; delay_10us(50000); } } 2 怎么知道50000数字大约是多少秒呢?软件仿真1 选魔法棒,output,改成11.0592,保存。 2 点击“Start debugging” 3 添加2个断点13/14行:鼠标定位到13行,双击左键;鼠标定位到14行,双击左键 然后点击:Run to cursor line:就会跳到13行,用时为sec:0.00042209 4 再点run to cursor,会跳转到14行开头,得到第二个sec(0.48893446),2个sec相减,就得到了执行第13行所需要的时间:488ms 拆解: 1 亮第一个灯,其他灯灭,延迟一会 2 亮第二个灯,其他灯灭,延迟一会 。。。。。 8 亮第八个灯,其他灯灭,延迟一会 9 亮第一个灯,其他灯灭,延迟一会 思路: P2.7,P2.6,....P2.1,P2.0, 最开始第一个灯P2.0亮,1, 1, 1, 0; 然后让第二个灯P2.1亮,1, 1, 0, 1; 然后让第七个灯P2.1亮,1, 0, 1, 1; 然后让第八个灯P2.1亮,0, 1, 1, 1; 然后让所有灯灭: 1, 1, 1, 1; 再回到第一个灯: 最开始第一个灯P2.0亮,1, 1, 1, 0; 可以看出来0是左移的,考虑移位 |
CopyRight 2018-2019 实验室设备网 版权所有 |