2024-7-5,星期五,17:27,天气:晴,心情:晴。今天没有什么特殊的事情发生,继续学习啦,加油加油!!!
今日完成模电自选教材第二章内容的学习,开始第三章(BJT)的学习,主要学习内容为:特殊用途二极管,二极管故障检测、三极管(BJT)的工作原理;单片机方面,开始学习单片机自选教材的第五章内容(定时器的使用 + 控制小灯间隔1s闪烁)
一、二极管及其应用(续)
1. 特殊用途二极管
(1)齐纳二极管:齐纳二极管是一个硅的pn结器件,电路符号如下,其与普通整流二极管的区别就是反向击穿区的设计,通过严格控制杂质原子的掺杂量,可以将齐纳二极管的反向击穿电压精确的设计为1.8~200V间的任意值。
齐纳二极管主要用作参考电压和小电流工作下的稳压器,一般会使用齐纳二极管与晶体管或运算放大器组合,构造出性能更好的稳压器,齐纳二极管反向击穿区伏安特性曲线如下:
从上图可以看出,随着反向电压(VR)的增加,反向电流(IR)始终保持非常小,直到曲线达到拐点处,此时开始出现反向击穿效应,随着反向电流的快速增大,二极管内部的齐纳交流阻抗(ZZ)开始减小,在拐点的底部,虽然电压会随着反向击穿电流的增大而略微增大,但整体表现为齐纳击穿电压(VZ)基本保持不变,表明此时齐纳二极管具有稳压作用。
同时,从上图可以看出,要想使齐纳二极管具有稳压作用,流过它的电流必须不能低于其反向电流IZK(反向电流减小的拐点IZK处时,电流急剧减小),同样电流大于齐纳最大电流(IZM)时,齐纳二极管可能被损坏,综上,当反向电流在IZK~IZM范围内变化是,其端电压保持恒定,可以起到稳压的作用(一般手册中的额定齐纳电压VZT是指反向电流处于齐纳测试电流IZT时的电压)。
下图为齐纳二极管等效电路,从图(a)中可以看出,理想情况下,工作在稳压状态下的齐纳二极管可以被视为一个电源,电源电压为齐纳等效电压VZT。
从图(b)中可以看出,实际等效模型为一个电压源(VZT)与一个齐纳电阻(ZZ)串联,因为实际的齐纳电压并不是一条垂线,电流的变化会引起电压的微小变化,如下图所示:
(2)变容二极管:可变电容二极管(变容器),主要用于通信电路中的电子协调电路,其本质上是一个反向偏置的pn结,因为耗尽层具有不导电的特性,故其可以充当电容中间的电介质,而两端的p、n区是导电的,所以可以充当电容器的极板,如下图所示:
由于电容是由极板面积(A),介电常数(ε)和电介质厚度(d)共同决定的:C = Aε / d,故当反向偏置电压增大时,耗尽层变宽,相当于电介质厚度增加,电容减小;同理反向偏置电压减少电介质厚度减小,电容增大。下图为变容二极管的电路符号和等效电路:
(3)发光二极管(LED):当器件正向偏置时,n区的自由电子穿过pn结与p区的空穴复合,当复合发生时,复合电子以光和热的方式释放出能量,如果这样的半导体表层裸露的较多,就能允许光子以可见光的方式释放:
一般LED中使用的半导体材料时砷化镓(GaAs)、砷化镓磷化物(GaAsP)和磷化镓(GaP),而不是硅或锗,因为这个两个材料主要是发热材料,发光性能很差,LED的电路符号如图所示:
当流过发光二极管的电流足够大,可以使其发光时,其发光强度与流过其两端的电流成正比:
(4)光敏二极管:光敏二极管是一种工作在反向偏置状态下的半导体器件,如下图所示:
在光敏二极管中,反向电流Iλ随照射在其上的光强增大而逐见增大,当没有入射光时,反向电流(Iλ)几乎可以忽略不记,这个电流称为暗电流,入射光能量增加会时反向电流增大,如图:
对于一个给定的反向偏置电压,下图给出了光敏二极管的一组典型特性曲线:
通过上图可知,通过控制入射光强度,可以将光敏二极管当作可变电阻使用。
2. 典型的二极管故障检测方法:
-
二极管断路:全波电源电路中的二极管断路最简单的检测方法是测量纹波频率,如果波动频率和输入交流频率相同(正常全波电路的纹波频率应该是输入信号频率的二倍),证明此时二极管智能单向导通(半波电路),此时则需要寻找二极管断路问题。
-
二极管短路:短路二极管其两个方向上都有非常低的阻抗,以桥式整流器为例,如果其中一个二极管突然短路,会使得变压器二次绕组损坏或引起其他串联二极管开路,结合下面一组图进行说明(D1短路):
a. 从下图可以看出,当输入处于正半周期时,二极管D1和D2本来就是导通的,所以对电路没有影响。
b. 但是当输入处于负半周期时,因为二极管D1短路,会使得D4(正向偏置)的电流再次流入二次绕组,导致变压器损坏:
所以,当发现电路中有二极管短路时,应同步检查其他器件。
二、双极结型三极管BJT
1. BJT的结构
BJT包括三个掺杂半导体区域:发射区、基区和集电区。这三个区域被两个pn结分隔开,分隔方式的不同形成了两种不同类型的BJT,如下图所示:
如下图所示,第一种类型是两个n区由一个薄的p区分隔开,形成npn型BJT;第二种类型是两个p区由一个n区分隔开,形成pnp型BJT:
连接基区和发射区的pn结称为发射结,连接基区和集电区的pn结称为集电结,每个区都会引出一个电极,发射区电极代号E(Emission),基区电极代号B(Basement),集电区电极代号C(Collection)。
下图是BJT的电路符号,从图中可以看出,npn型BJT的箭头方向为B--->E,pnp型BJT的箭头方向是E--->B:
另外,BJT中的“双极”指的是在BJT中,空穴和电子都可以作为载流子。
(1)BJT工作原理:为了使BJT正常工作,两个pn结必须由两个外部直流电压偏置来设置合适的工作状态。下图给出了npn型BJT和pnp型BJT的合适偏置,在这两种情况下发射结(BE)均为正向偏置,集电结(BC)均为反向偏置,这称为正向-反向偏置,通常两种BJT都应使用这种偏置方法:
下面将说明BJT的工作原理(以npn型为例):
基极到发射极的正向偏置使BE耗尽区变窄,基极到集电极的反向偏置使BC耗尽区变宽;两个n区中存在大量自由电子,这些电子很容易越过BE耗尽区扩散进入p型基区,而基区的掺杂浓度比较低而且厚度很薄,所以空穴数量很有限,因此BE结流过的电子只有很少一部分与基区的空穴复合,这些复合的自由电子变成价电子流出基极,形成非常小的基极电流;从发射区流入基区的只有一小部分电子,剩下的电子继续流入集电区,流入集电区的电子会在BC结的正负离子作用下越过反向偏置的BC结(这里个人认为是由于反向偏置电压的异性想吸引的作用更好理解),此电子越过集电区,流入集电极,形成集电极电流。
重要的是,集电极电流大小取决于基极电流,而与集电极直流电压无关,这就意味这,可以通过一个小的集电极电流控制一个较大的基极电流(通过小电流控制大电流!!!!)这也是BJT最重要的特性,所以它本质上是一个电流放大器!
三、单片机:定时器与数码管基础
1. 流水灯回顾
针对昨天的流水灯程序,其实还是有些疑问的,不过多看了两遍,算是看明白了,现在来结合单片机LED模块电路图和程序分解做个复盘:
通过LED模块接线图我们可以看出,8个LED小灯是由P2端口的P20~P27来进行控制的,因为LED的另一端统一接的+5V电源(VCC),所以只有当P2x端口为低电平时,小灯两端才有电位差从而产生电流,点亮小灯,及低电平点亮;那么如果要依次点亮小灯,当然可以手动的将P2x先置0再置1,但是那样程序过于麻烦,所以通过二进制来统一控制P2端口,及二进制的每一位对应p2x的一个端口(详情见第一张图),通过上述分析可知,低电平的时候小灯被点亮,也就是说对应位为0的时候与之对应的P2x端口为低电平,相应的小灯亮起,二进制的左移操作(<<)是将所有位左移对应的位数,不足的地方补0,取反操作(~)是将二进制所有位中0换成1,1换成0,故循环中的具体操作分解下来如第一张图所示(中间省略的部分可以自己写一写加深印象),该循环使P2二进制的每位依次为0(低电平,红框圈出的地方),这样就实现了依次点亮小灯!
2. 定时器初步认识
(1)时钟周期:时钟周期T是时序中的最小时间单位,具体计算方法是:始终周期 = 1 / 时钟周期源频率,普中51单片机的晶振是11.0592MHz(大多数51系列单片机均是),换算成时钟周期就是T = 1/11059200秒。
(2)机器周期:单片机完成一个操作的最短时间,机器周期主要是针对汇编语言来讲的,在汇编语言下程序的每一条语句执行所使用的时间都是机器周期的整数倍,每一条语句的占用周期也是可计算的,而C语言每一条语句的时间是不可计算的。51单片机的标准架构下一个机器周期是12个时钟周期,及12/11059200秒。
(3)定时器简介:定时器和计数器是单片机内部的同一个模块,通过配置特殊功能寄存器(SFR)来实现两种不同功能,大多数情况下使用的是定时器。
定时器内部有一个寄存器,它开始计数后,每过一个机器周期,其数字就会+1(可以理解为机器周期就是定时器的计数周期),也就是每过12/11059200秒,数字自动+1,当定时器加满之后(按使用二进制的位数算,如16位定时器最大值就是65535,即1111 1111 1111 1111),会重新置0(仅针对51单片机),所以综上所述,从某一时间开始,经过确定的时间后溢出,这就是定时的本质!
(4)定时器的寄存器:标准51单片机内部有T0和T1两个定时器,对于单片机的每一个模块都有SFR(特殊功能寄存器)控制,下表给出的寄存器是存储定时器的计数值的,TH0/TL0用于T0,TH1/TH1用于T1:
下面两张表分别是定时器控制寄存器TCON(逻辑板)的位分配,以及每位的具体描述。
从上表中可以看出,TF1、TR1、TF0、TR0是四个非常重要的位,分别控制T0和T1寄存器,下面以T1寄存器为例进行讲解:TR1用于控制寄存器的工作与停止,当TR1 = 1时,定时器的值每过一个机器周期就会+1,当TR1 = 0时,定时器的值就会停止变化;TF为溢出标志位,主要告知用户定时器是否溢出,如果定时器设置为16位模式,那么每经过一个时钟周期TL1加一次(TL1控制低8位LOW),当TL1加到255时,再+1,TL变成0,TH1会加一次(TH1控制高八位HIGH),如此一直加到TH1和TL1都变为255(即TL1和TH1共计加到65535)时,在加一次,TH1和TL1都会变为0,与此同时,TF立刻变为1。
(5)定时器的工作模式:定时器工作模式的选择由TMOD来控制,下面两张表介绍了TMOD的位分配与描述(地址0x89,不可位寻址):
可以看到,与TCON不同的是,TMOD不可位寻址,意思是,如果想单独更改TCON的一个位TR1,可以在程序中直接写TR1 = 1,但是这种操作在TMOD中确实不正确的,即要操作TMOD就必须依次对TMOD的所有位进行操作,而不能只单独操作一位。
对于定时器的4种工作模式(第三个表),最常用的就是模式1和模式2,即M0 = 0,M1 = 1和M0 = 1,M1 = 0。
-
模式1(M0 = 0,M1 = 1):THn和TLn组成一个16位定时器,技术范围是0~65535,溢出后,只要不对THn和TLn重新赋值,则从0开始计数。
-
模式2(M0 = 1,M1 = 0):8位自动重装载模式,只有TLn做+1计数,技术范围0~255,THn的值保持原来的值,不会变化,TLn溢出后,TFn直接置1,并且THn原先的置直接赋给TLn,然后TLn从这个新赋值的数字开始计数。
因为是第一次学习,所以下面以TR0的逻辑电路为例,对其控制逻辑进行分析:
OSC位时钟频率,此处d = 12(一个机器周期位12个时钟周期)。
(a)TR0要和下面或门运算后的结果做与门运算,那么TR0如果是0的话,与运算后的结果肯定是0,所以如果要定时器工作,TR0必须是1
(b)同样的,与门运算若要为1的话,前面的或门运算结果也必须为1,如果GATE为1的话,经过一个非门变为0,那么INT0即P3.2引脚必须是1才能保证或门运算结果为1,这时定时器才会工作
(c)当GATE为0时,经过非门变为1,这时无论P3.2引脚接高电平或低电平,定时器都会工作
(d)再看C/T处的双向开关,当开关打到上面时,C/T = 0,OSC接入电路,每一个机器周期TL就会+1,此时作为定时器使用;当开关打到下面时C/T = 1,T0引脚与P3.4引脚来一个脉冲TL就会+1,此时做计数器使用。
3. 定时器的应用
(1)常规步骤:
-
设置特殊功能寄存器TMOD,配置好工作模式。
-
设置计数寄存器TL0和TH0的初值。
-
设置TCON,通过TR0 = 1让计数器开始工作。
-
判断TCON寄存器的TF0位,监测定时器溢出情况。
(2)定时器定时的计算,假设要定时20ms,机器周期是12 / 11059200,定时0.02s则x × 12/11059200 = 0.02,解得x = 18432,16位定时器得溢出值是65535,y = 65535 - 18432 = 47104,那么将TL0和TH0的初始值设置为47104即0XB800,在过0.02s后,定时器就会溢出,TF0 = 1,此时过了0.02s。按照上述计算方法,最多可以定时71ms,那么超过71ms的定时用倍数即可,比如若定时1s,则将TL0和TH0的初值设为0xB800,然后检测其溢出50次时,时间正好过了1s。
(3)控制小灯闪烁(间隔1s)程序: