本文主要是介绍《迷人的8051单片机》----2.5模拟与数字,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本节书摘来自华章出版社《迷人的8051单片机》一书中的第2章,第2.5节,作者高显生,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2.5 模拟与数字
世界是物质的,来自物质世界的量大多具有模拟性的特点,比如物体的温度、音量的大小、大气的压力以及光照的强度等。我们要对外部世界的模拟量进行感知和处理,就需要对其进行量化,将模拟量转化为数字量,以下重点讨论的是模拟与数字信号的不同特点。
2.5.1 模拟信号
模拟信号是一种连续可变的信号,它不仅在时间上连续,而且在数值上也是连续的。模拟信号具有无穷多的瞬时值,其数学表达式也比较复杂,比如正弦函数、指数函数等,常见模拟信号的波形如图2-22所示。
在电子技术中,通常采用传感器将模拟信号转换为电流、电压或电阻等电学量,这些量同样称为模拟量。通常,我们会将表示模拟量的信号称为模拟信号,将工作在模拟信号下的电子电路称为模拟电路。例如,使用热敏电阻进行温度测量时,热敏电阻输出的电压信号就是模拟信号,所测得的电压信号无论在时间上还是在数量上都是连续变化的,而且这个电压信号在连续变化过程中的任何一个取值都具有相应的物理意义。
2.5.2 数字信号
与模拟信号不同,数字信号的幅度取值是不连续的,幅值被限定在有限的个数之内。在数字信号中,只有表示1的高电平和表示0的低电平两种。例如,在一个电路中,用+5V的高电平表示1,用0V的低电平表示0,那么除此之外的其他电压值都是不存在或不允许有的。数字信号的波形如图2-23所示。
通常,我们将在时间上和数量上都是离散的物理量称为数字量,将表示数字量的信号叫数字信号,将工作在数字信号状态下的电子电路称为数字电路。例如,用光收发器记录从自动生产线上输出的产品数量时,每送出一件产品都会给电子电路一个信号,使其加1,而没有产品输出时电子电路产生的信号是0,产品数量这个信号无论在时间上还是在数量上都是不连续的,而且它的最小数量单位为1。
2.5.3 模拟电子电路
模拟电子电路也被称为线性电路,电路中一般具有输入和输出端,当输入信号的强度变大时,输出信号的强度也会随之变大,这就形成了所谓的线性放大过程。生活中典型的线性电路有很多,例如,我们演出时用的话筒,当我们高声歌唱时,音箱输出的声音也会变得很大,这说明输出信号的幅度与输入信号是成正比关系的,一个典型的线性放大器如图2-24所示。
假定从线性放大器的输入端输入的信号幅度为1,而放大器输出的信号幅度为5,即输出信号的幅度是输入信号的5倍,也就是说这个线性放大器的增益是5。在实际应用中,放大器的增益往往被做得很高,比如常用的运算放大器就具有很高的增益。
2.5.4 运算放大器
运算放大器(简称运放)是一种典型的模拟电路,由于早期应用于模拟计算机中,用以对信号进行加法、减法、积分、微分等数学运算,故得名“运算放大器”。但是运算放大器的用途并不限于此,由于它本身是一种高性能的直接耦合放大器,所以在自动控制、测量技术、音视频处理等领域中均有十分广泛的用途。
运算放大器在电路中的表示符号如图2-25所示。运算放大器具有两个输入端和一个输出端,其中标有“+”号的输入端称为同相输入端,另一个标有“-”号的输入端称为反相输入端。如果分别从这两个输入端输入同样的信号,在输出端会得到电压幅度相同但极性相反的输出信号。也就是说,输出端输出的信号与同相输入端的信号同相,与反相输入端的信号反相。
运算放大器是一个非常有趣的器件,它有着自己的特性,灵活应用这些特性可以获得很多有价值的应用。简单地说,运算放大器的特性可以归纳为两个方面:
1)运算放大器的放大倍数为无穷大。
2)运算放大器的输入电阻为无穷大,输出电阻为零。
我们来具体分析一下运算放大器的工作过程,因为运算放大器的放大倍数为无穷大,所以只要它的输入端的输入电压不为零,输出端就会有一个无穷高的输出电压,但受到电源电压的限制,输出电压不会超过电源电压。换个角度说,如果运算放大器的同相输入端输入的电压比反相输入端输入的电压高,哪怕只高极小的一点,运算放大器的输出端就会输出一个与正电源电压接近的电压。因此不能将运算放大器直接用作放大使用,必须将输出信号的一部分反馈到反相输入端,构成负反馈电路来降低它的放大倍数,这时运算放大器的放大作用才具有实际意义。典型的运算放大器的放大电路如图2-26所示。图中电阻Rf是负反馈电阻,用于将输出信号的一部分返回到运算放大器的反相输入端,由于反相输入端与输出的电压是相反的,所以运算放大器的放大倍数会减小。
2.5.5 数字电子电路
当前,数字化的趋势已经不可避免,而且几乎覆盖了所有领域,数字电路作为数字化的基础,更是得到了空前的发展。简单地说,数字电路就是用数字信号完成对数字量的算术运算和逻辑运算的电路,其构成的基本单元是逻辑门。数字电路以二值数字逻辑为基础,其工作信号是离散的数字信号。数字电路具有以下特点:
1)数字电路中使用二进制的数字信号,可以进行算术运算(加、减、乘、除等),又能进行逻辑运算(与、或、非、判断、比较、处理等),因此非常适用于运算、控制和决策等应用。
2)与模拟电路相比,数字电路主要是进行数字信号的处理,因此抗干扰能力较强,受电源电压波动的影响小,温度和工艺偏差对其工作的可靠性影响也比模拟电路小得多,因此数字化的系统往往具有更高的可靠性。
3)随着超大规模集成电路(VLSI)的发展,可以方便地设计制造出具有处理复杂逻辑功能或可编程的数字电路,集成度高、体积小、功耗低,且电路的设计、维修、维护方便,使产品更小巧,更富有科技感。
2.5.6 逻辑状态0和1
在数字电路中,使用不同的电平状态来表示数字0或1,低电平表示0,高电平表示1。在一个+5V供电的环境里,我们理想的低电平状态0应该对应的是零电压,理想的高电平状态1对应的应是+5V的电压。但是由于制造工艺的原因,不可能制造出这样理想的器件,所以数字电路对电平高低的判断是有一个取值范围的。在TTL数字电路中,当电压为2.0V以上时,表示数字1,电压在0.8V以下时表示数字0。在0.8~2.0V之间被认为是不允许出现的电压范围。TTL数字电路中对高低电平的判定如图2-27所示。
2.5.7 逻辑门
我们可以使用开关和继电器来实现特定的数学逻辑。例如,在图2-28所示的电路中,开关S1和S2构成了或逻辑运算电路。当开关S1和S2中至少有一个闭合时,发光二极管D1会亮起;当S1和S2全部断开时,发光二极管D1才会熄灭。因此开关S1和S2构成了一个“只要其中之一有,就有”的或运算逻辑。
与使用开关来实现逻辑运算的原理相同,在数字电路中,完成数字或逻辑运算的方法是使用不同种类的逻辑门或微处理器。逻辑门(Logic Gates,又称为“数字逻辑电路基本单元”)通常是拥有一个或多个输入端及一个输出端的单元数字模块。当代表两种信号的高低电平在通过逻辑门后,可以产生高电平或者低电平的信号。高、低电平分别代表逻辑上的“真”与“假”或二进制当中的“1”和“ 0”,从而实现逻辑运算。按照实现逻辑功能的不同,逻辑门可以分成与门、或门、非门、异或门等,任何复杂的逻辑电路都可以由若干个逻辑门组成。逻辑门及其表示符号详见表2-1。
1. 或门
或门又称“或电路”,是执行“或”运算的基本逻辑门电路。“或”运算的逻辑关系是:如果几个条件中有一个条件得到满足,某事件就会发生。或门通常有多个输入端和一个输出端。只要输入端中有一个为高电平(逻辑1),输出就为高电平(逻辑1);只有当所有的输入全为低电平时,输出才为低电平。
2. 与门
与门又称“与电路”,是执行“与”运算的基本逻辑门电路。与门通常有多个输入端和一个输出端。“与”运算的逻辑关系是:当所有的输入同时为高电平(逻辑1)时,输出才为高电平(逻辑1),否则输出为低电平(逻辑0)。
3. 非门
非门又称“反相器”,只有一个输入端和一个输出端。非门逻辑符号中输出端的圆圈代表反相的意思。当非门的输入端为高电平(逻辑1)时,输出端为低电平(逻辑0);当其输入端为低电平(逻辑0)时,输出端为高电平(逻辑1)。也就是说,非门的输入端和输出端的电平状态总是反相的。
4. 与非门
与非门是与门和非门的结合,先进行与运算,再进行非运算。与非门有两个输入端和一个输出端。当输入端中有1个或1个以上是低电平(逻辑0)时,输出为高电平(逻辑1);只有当所有输入是高电平时,输出才是低电平。
5. 或非门
或非门是实现逻辑或非运算功能的门电路,有多个输入端和一个输出端。其运算逻辑是:只有当所有输入端为低电平(逻辑0)时,输出端为高电平(逻辑1)。也可以理解为任意输入端为高电平(逻辑1)时,输出端为低电平(逻辑0)。
6. 异或门
异或门是数字逻辑中实现逻辑“异或”的逻辑门,有多个输入端和一个输出端。异或门的作用是将两路信号进行比较,判断是否相同。当两路输入信号不同,即一个为高电平(逻辑1)、一个为低电平(逻辑0)时,异或门的输出端为高电平(逻辑1)。反之,当两个输入端信号相同时,即同时为高电平或者低电平时,异或门的输出端为低电平。
7. 同或门
同或门也称为“异或非门”,有2个输入端和1个输出端。当2个输入端中有且只有一个是低电平(逻辑0)时,输出为低电平(逻辑0)。当输入电平相同时,输出为高电平(逻辑1)。
本章回顾
本章主要介绍的二极管、晶体管、场效应晶体管和集成电路等电子元器件都是基于半导体材料制成的,重点是掌握好各种元器件的功能、表示符号及使用方法。以单片机为核心构成的嵌入式产品,其电路大多是模拟与数字电路的混合体,因此学习本章内容也是在为设计单片机的接口电路做准备。
这篇关于《迷人的8051单片机》----2.5模拟与数字的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!