常用外设原理介绍
LED
LED灯,又称LED发光二极管,原理图如下所示
LED发光二极管有P、N两极,具有普通二极管的单向导电性,当P极电压高于N极电压,且达到一定阈值之后(一般为0.7V,与其材质有关),二极管开始导通,并开始发光。反之,二极管无法导通,不会发光。由于LED灯导通后电阻几乎为零,应此在实际使用过程中往往会串接上一个1~10K左右的电阻,以达到限流的作用。一般来说,发光二极管的工作电流在10mA左右,可根据电源电压、LED压降、工作电流计算出串接电阻的阻值大小。
实际电路中有两种连接方式:1,N极接地,P极通过一个电阻后与控制端相连。2,P极通过串接电阻后与电源相连,N极作为控制端。如下所示
当控制端输出电压为高电平时,LED灯亮;当控制端输出电压为低电平时,LED灯灭。
拨动开关
拨动开关是一种比较简单的输入设备,一般具有两个档位,实物图如下所示
其使用方式如下图所示
将1与地相连,3与电源相连,2通过一串接电阻后作为输入端。当拨动开关处于1、2短接的档位时,输入端为低电平;拨动开关处于2、3短接的档位时,输入端为高电平。因此,通过改变拨动开关的档位,便可以控制输入端的高低电平。
独立按键
按键是另外一种比较常见的输入设备,其外形多种多样,但工作方式基本相同。
如上图所示的四脚按键,其内部两两相连。原理图如下所示
按键默认状态时1、3短接,2、4短接,按键按下后,1、2、3、4全部短接在一起。一种用法如下所示
其中串接的两个电阻均为10K,按键按下时,输入端为高电平;松开后,输入端为低电平。此种连接方式下,输入端的默认电平为低电平。
还有一种连接方式,如下图所示,输入端的默认电平为高电平,此种连接方式常用于一些低电平有效的信号输入,如复位信号等。对于复位信号来说,电容的存在可以使得系统在刚刚上电时,输入端保持一定时间的低电平,从而达到上电复位的目的,复位时间的长短由电阻及电容共同决定。
此外,还有一种自锁式的按键开关,在开关按钮第一次按时,开关接通并保持,即自锁,在开关按钮第二次按时,开关断开,同时开关按钮弹出来。自锁式按键的功能与拨动开关基本相同,此处不再详细说明。
七段数码管
我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他基本相同。
所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。
其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。
一位数码管要显示字符0~F,则对应的编码如下所示:
数码管本质上也是由LED构成的,因此在实际使用中,需要串接限流电阻,以共阳极数码管为例来说:
动态数码管
一个数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
目前常用的是4位一体的数码管。其接口电路是把所有数码管的8个笔划段a-h(h即dp端)同名端连接起来,而每一个数码管由一个独立的公共极COM端控制。对于这种结构的数码管,采用动态显示的方法是最为广泛的一种显示方式之一。
下图所示的电路是由两个4位的共阳极数码管组成的一个8位的动态扫描显示电路。为增加驱动能力,在每个位选线处增加了一个PNP三极管。
v对于此8位的共阳极数码管,如要其显示"8.8.8.8.8.8.8.8.",需要做如下工作:1,将A~H的段选线全部设为低电平。2,将8个位选线全部设为高电平。但是,由于位选线是由PNP三极管构成的反相器所驱动,因此只有将相应三极管的基极(B极)(即端口1)设为低电平,三极管导通,位选线才会变为高电平。综上所述,上图中的电路,P5端口及P12端口全部变为低电平的时候,数码管才能显示"8.8.8.8.8.8.8.8."。
那如何操作才能使得该数码管上显示不同的数据呢?答案是时分复用。即采用动态扫描的方式。例如,要在该数码管上显示"12345678",应该如下实现
1,时刻1,将最左侧的数码管的位选线置为有效,其余7个全部置为无效,同时将段选线设为显示1的数值(此处为0x06)
2,时刻2,将最左侧第二个数码管的位选线置为有效,其余7个全部置为无效,同时将段选线设为显示2的数值(此处为0x5B)
3,时刻3~8依次类推,直至到最右侧数码管显示为8
4,循环重复上述1~3过程。
通过上述操作,则8个数码管能够分别显示不同的数值,但每一时刻只有一个数码管处于发光状态。如上述过程足够快(每秒钟循环30次以上),由于人眼的视觉残留效应,会感觉到8个数码管在同时发光,并且显示出不同的数值。
注意,循环频率也不宜过快,以30~100Hz为宜。
- 点赞
- 收藏
- 关注作者
评论(0)