写点什么

常用外设原理介绍

作者:向阳逐梦
  • 2022-11-08
    四川
  • 本文字数:2136 字

    阅读完需:约 7 分钟

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 为宜。

发布于: 刚刚阅读数: 5
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022-06-01 加入

某公司芯片测试工程师,嵌入式开发工程师,InfoQ签约作者,阿里云星级博主,华为云·云享专家。座右铭:向着太阳,追逐梦想!

评论

发布
暂无评论
常用外设原理介绍_硬件设计_向阳逐梦_InfoQ写作社区