天天看点

电子基础3

13 器件选购的知识

第三课 数字量的输入输出

第四课 单片机的通讯接口

第五课 单片机系统设计的硬件构思

第六课 单片机程序的框架(汇编版本)

第七课 模拟量的输入输出

……

各位多提宝贵意见。

保证实用。如果程序里面有一些例程,也是已经经过测试可以拿来就用的;实

际上是我早年的一些产品的程序的一部分;不好意思,都是汇编的。

写的时间只有周末会多一些,可以保证做到一周一课;尽量能够提前,但是这

要看看工作忙不忙了。

坊间有一些参考书,准备今天上午到北京中发市场转了一圈,我记得以下参考

书目较好:

1. 周航慈:《单片机程序设计》

2. 徐涵芳:《MCS-51 单片机结构与设计》

3. 何立民:《......》

有了这些就基本够用了;其它的很多都是资料的翻译;如果英文不好,可以看

看;英文好的话,可以不必了,省电钱买开发系统和编程器、开发板什么的,需要什么资料

直接下载PDF文件好了。

要想成为电子工程师,需要宽带,在家里安装包月的ADSL 或者长宽,绝对

值得。

实际上,网络上什么都有了,就是一个网络数据库,要好好利用。

网上自有黄金屋,网上自有颜如玉……

第二课 基本的芯片和分立器件

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

2.1 简述

有必要对以下系列的芯片和分立器件进行介绍。

除了单片机作为控制器的核心外,作为一个产品,由很多东西构成;所以,在

讲系统之前,先将这些零零碎碎的东西一并交待。就好像一栋房子,有各种各样的构件组成,

下面的这些东东就像砖瓦一样,没有不行。

2.2 74 系列芯片

74 系列的芯片的下载地址:

http://www.dainau.com/TTLDATASHEET.htm

http://www.100y.com.tw/asp/class36_40.htm

http://www.mcu51.com/download/digitpdf/74xx/default.htm

74 系列的芯片是古老的一族,大部分的芯片现在均已不用了,但是,实际上,

在目前的系统中,还能看到一些芯片,有些芯片现在还在系统中使用,例如:

1、 7404 – 6个反相门

下载地址: http://www.hqew.com/document/detail.asp?pdid=125533

将输入的TTL逻辑反相,如:0->1,1->0

2、 7407 – 6个集电极开路门

下载地址: http://www.hqew.com/document/detail.asp?pdid=125518

由于集电极开路门可以外接高电压,可以最高到DC30V,电流最大到39mA,

通常我用它驱动8 字数码管和继电器等大电流的负载;开路门内部结构是达林顿管的,输出

的逻辑是正的;

与其类似的芯片是7406,只不过是反相开路门。

3、 74LS573 与74LS373 – 8 数据锁存器

74LS373 下载地址: http://www.hqew.com/document/detail.asp?pdid=129171

74LS573 下载地址: http://www.yddz.net/yddzsourse/pdf/74hc573.pdf

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

引入几个概念:

1. 真值表

参见74LS373 的PDF的第2 页:

Dn LE OE On

H H L H

L H L L

X L L Qo

X X H Z

这个就是真值表,表示这个芯片在输入和其它的情况下的输出情况。

每个芯片的数据手册(datasheet)中都有真值表。

布尔逻辑比较简单,在此不赘述;

2. 高阻态

就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,

可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧

毁;

高阻态的概念在RS232 和RS422 通讯中还可以用到。

3. 数据锁存

当输入的数据消失时,在芯片的输出端,数据仍然保持;

这个概念在并行数据扩展中经常使用到。

4. 数据缓冲

加强驱动能力。74LS244/74LS245/74LS373/74LS573 都具备数据缓冲的能力。

OE:output_enable,输出使能;

LE:latch_enable,数据锁存使能,latch是锁存的意思;

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

Dn:第n路输入数据;

On:第n路输出数据;

再看这个真值表,意思如下:

第四行:当OE=1 是,无论Dn、LE 为何,输出端为高阻态;

第三行:当OE=0、LE=0 时,输出端保持不变;

第二行第一行:当OE=0、LE=1 时,输出端数据等于输入端数据;

结合下面的波形图,在实际应用的时候是这样做的:

a. OE=0;

b. 先将数据从单片机的口线上输出到Dn;

c. 再将LE 从0->1->0

d.

这时,你所需要输出的数据就锁存在On上了,输入的数据在变化也影响不到

输出的数据了;实际上,单片机现在在忙着干别的事情,串行通信、扫描键盘……单片机的

资源有限啊。

在单片机按照RAM方式进行并行数据的扩展时,使用movx @dptr, A这条指

令时,这些时序是由单片机来实现的。

后面的表格中还有需要时间的参数,你不需要去管它,因为这些参数都是几十

ns 级别的,对于单片机在12M 下的每个指令周期最小是1us 的情况下,完全可以实现;如

果是你自己来实现这个逻辑,类似的指令如下:

mov P0,A ;将数据输出到并行数据端口

clr LE

setb LE

clr LE ;上面三条指令完成LE 的波形从0->1->0 的变化

74ls573 跟74LS373 逻辑上完全一样,只不过是管脚定义不一样,数据输入和

输出端各在一侧,PCB容易走线;所以大家都喜欢使用这个芯片。

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

4、 74LS244 – 数据缓冲器

下载地址: http://www.mcu51.com/download/digitpdf/74xx/74F244.pdf

数据输出能力比较强,输出电流可以到40mA 以上;

4个缓冲器分成2 组,具有高阻态控制端口

5、 74LS245 – 总线缓冲器

http://www.mcu51.com/download/digitpdf/74xx/74F245.pdf

双向数据接口,通常在ISA板卡上可以看到;

早期的51系统中,为了扩展RAM、eprom、A/D、D/A、I/O 等经常可以看到

这个片子;

为了增强驱动能力,有时是为了隔离输入和输出,主要是布线方便,像74LS573

一样,输入、输出在一侧,经常用到这个片子

6、 74LS138 – 三-八译码器

http://www.mcu51.com/download/digitpdf/74xx/74F138.pdf

在早期的51 系统的扩展中,作为地址选通的片子,可以经常看到。

另外一个类似的芯片是74LS154,是4-16 译码器,现在更是少见了。

有兴趣的可以研究一下何立民的经典著作中的有关章节。

知道有这么一个芯片就可以了。

2.3 CD4000 系列

CD4000 系列的芯片,除了跟74 系列的电气特性有所区别外,例如:

1) 电压范围宽,应该可以工作在3V~15V,输入阻抗高,驱动能力差外,跟

74 系列的功能基本没有区别;

2) 输入时,1/2 工作电压以下为0,1/2 工作电压以上为1;

3) 输出时,1=工作电压;0=0V

4) 驱动能力奇差,在设计时最多只能带1 个TTL负载;

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

5) 如果加上拉电阻的话,至少要100K电阻;

6) 唯一现在使用的可能就是计数器,CD4060 的计数器可以到14 级二进制串

行计数/分频器,这个74 系列的做不到这么高;

下载地址:

http://www.100y.com.tw/asp/class36_40.htm

http://www.100y.com.tw/pdf_file/CD4060.PDF

2.4 ULN2003/ULN2008

它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做

了一个消线圈反电动势的二极管。ULN2003 的输出端允许通过IC

电流200mA,饱和压降VCE 约1V 左右,耐压BVCEO

约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,

输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低

压灯泡。

经常在工控的板卡中见到这个芯片。

有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是

管脚与2003 完全兼容。

ULN2003 可以驱动7 个继电器;ULN2008 驱动8 个继电器。

ULN2003 下载地址: http://www.hqew.com/document/detail.asp?pdid=148212

ULN2008 下载地址: 没有找到。奇怪啊。

2.5 光耦

光耦是做什么用的?光耦是用来隔离输入输出的,主要是隔离输入的信号。

在各种应用中,往往有一些远距离的开关量信号需要传送到控制器,如果直接

将这些信号接到单片机的I/O 上,有以下的问题:

1) 信号不匹配,输入的信号可能是交流信号、高压信号、按键等干接点信号;

2) 比较长的连接线路容易引进干扰、雷击、感应电等,不经过隔离不可靠

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

所以,需要光耦进行隔离,接入单片机系统。

常见的光耦有:

1) TLP521-1/ TLP521-2/ TLP521-4,分别是1 个光耦、2 个光耦和4个光耦,

HP 公司和日本的东芝公司生产。

下载地址: http://www.100y.com.tw/pdf_file/TLP521-1-2,4.PDF

发光管的工作电流要在10mA时,具有较高的转换速率;

在5V 工作时,上拉电阻不小于5K,一般是10K;太小容易损坏光耦;

2) 4N25/4N35,motorola公司生产

下载地址: http://www.100y.com.tw/pdf_file/4N25-8,35-7,H11A1-5.PDF

隔离电压高达5000V;

3) 6N136,HP公司生产

下载地址: http://www.100y.com.tw/pdf_file/6N135-6.PDF

要想打开6N136,需要比较大的电流,大概在15~20mA 左右,才能发挥高速

传输数据的作用。

如果对速率要求不高,其实TLP521-1 也可以用,实际传输速率可以到19200

波特率。

选择光耦看使用场合,tlp521-1 是最常用的,也便宜,大概0.7~1 元;

要求隔离电压高的,选用4N25/4N35,大概在3 元左右;

要求在通讯中高速传输数据的,选用6N136,大概在4 元左右。

光耦应用的原理框图如下所示:

1. 输入干接点隔离

2. 输入TTL电平隔离

3. 输入交流信号隔离

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

4. 输出RS232信号隔离

5. 输出RS422信号隔离

光耦除了隔离数字量外,还可以用来隔离模拟量。将在今后的章节中描述。

2.6 三极管

2.7 光电管

2.8 电容

2.9 电阻

2.10 固态继电器

2.11 继电器

2.12 变压器与整流桥

2.13 三端稳压器

2.14 开关电源芯片

2.15 封装知识、芯片批号等

2.16 接插件

2.17 器件选购的知识

2.6 三极管

2.6.1 三极管的4 种工作状态

1) 饱和导通状态

饱和导通=0

2) 截止状态

饱和导通=1

3) 线性放大状态

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

作为低频放大器时使用,具体的可参见有关电子线路的书籍;

4) 非线性工作状态

在无线电通信系统中,作为混频器等使用。具体的可参见有关电子线路的书籍;

愚记得南京工学院也就是现在的东南大学在80 年代初期有一套《电子线路》5

本,是电子专业的书籍,比较难懂;现在,即使是在电子专业的学生中,也应该降低了对三

极管的哪些复杂的参数的要求了吧;在实际使用时,即使是模拟电路、非线性电路,也都是

集成电路了,谁还使用三极管自己做呢?如果万一需要,现学也来得及。这套书很强的。编

写人在那个年代肯定都是牛人。

学三极管这些参数很繁琐的,要是现在的非电子类的大学生或者大专生们还学

这些玩意,我只能说是学校在误人子弟了。

好多学校都在扩招,很多学生念了4 年下来,学了一堆过时的理论,跟实际的

东西一点没有接轨,不知道7407 是干什么用得,不知道三极管的几个状态;我只能无话可

说。

所以,念了4年下来,跟企业的需求还有一段距离,还需要从头来过;聪明的

学生赶紧抓住机会去学习,去实习,这样,还可以赶紧补上实际应用的这一课。

言归正传。

参见下图:

当单片机的口线输出电平为1时,三极管的be 结导通,ce结导通,输出的电

压值为0V;

当单片机的口线输出电平为0时,三极管的be 结不导通,ce 结截止,输出的

电压值为5V;

在这种数字电路的应用中,相当于三极管是一个反相开路门。

计算是否导通,公式如下:

I=B(放大倍数,希腊字母的贝塔)× Ibe

当Ice<I 时,即为饱和导通;

相差越大,饱和程度越深,Vce 越小,三极管的输出内阻越小;

这个概念要用到光电管中。

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

设计使用时大概算算,心里有个数;在电路板上试试,行的通,那就是它了。

可以测量Vce值,至少要小于0.1V 就可以了。

常用的PNP三极管是2N5551,驱动40mA 的LED(电压在24V)、蜂鸣器等

均没有问题。

2.6.2 三极管的具体应用

实际上,已经有像7407、ULN2003 可以取代三极管在数字电路中的作用;但

是,有时是受到PCB 面积的制约,有时是为了降低成本,有时是因为布局方便,在1~2 个

输出点时,还是可以使用三极管来做驱动的。

例如:驱动一个蜂鸣器;往往系统中的蜂鸣器跟其它驱动设备,继电器等,距

离较远;这时,没有必要使用一片7407,或者ULN2003 来驱动;驱动的接口如下:

2.7 光电管

我这里所谓的光电管有2 种:

1) 反射型光电管

2) 对射型光电管

这2 种产品在市场上又可分为调理好的和没有调理好的;

这2 种光电管在电子产品世界和电子技术应用杂志上都有大量的广告。随便找

一本都有。

我所说的调理好的指的是内部已经加了限流电阻和输出的放大驱动电路了。它

的特点是只有3 根线,电源2 根,输出信号一根,TTL电平的;但是,有时受到某种限制,

需要使用没有调理好的,怎么办呢?

参见下图:光电管原理框图

这种没有调理好的光电管在使用时,需要做一块小的电路板,在发光管加限流

电阻,在光电三极管的集电极加上拉电阻到5V,如下图所示:光电管工作框图1。

但是,在使用中我发现,输出的信号不稳定,尤其是在使用比较长的电缆传输

到单片机的时候;究其原因,我认为是由于反射或者对射的红外光落在光电三极管的靶面上,

光强未能导致光电三极管深度饱和,使得输出的内阻偏大,环境的噪声和电缆的干扰信号容

易在线路上叠加的缘故;

为了可靠工作,仿照达林顿管的结构,在光电三极管的输出端加一个限流电阻

接到NPN 的B结,当无光的时候,2N5551 饱和导通,输出电压为0V;实际测量小于0.1V;

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

当有光,甚至是弱光时,2N5551截至,输出电压为5V。将3K电阻换成更大

或更小的电阻,可以调整光电三极管的输出的灵敏度。

具体工作过程可以自行分析,做个实验。

2.8 电容

2.8.1 电容的主要种类

电容有以下几大类:

1) 电解电容

2) 独石电容

3) 磁片电容

4) 钽电解电容

5) 涤纶电容等

电容的指标是:耐压值和电容容量。例如:220u/50V,就是说,这个电解电容

耐压值为50V,容量为220u。

电容的容量跟电容的介质有关。

顾名思义:

电解电容为电解质作为介质的,铝作为电极;

独石电容是使用石头作为介质的;

磁片电容是磁片作为介质的;

钽电解电容使用电解质作为介质,但是,电极采用钽金属。

涤纶电容采用涤纶作为介质。

有兴趣的网友可以拆一个电容看看。

2.8.2 电容的使用场合

1. 电源稳压和滤波

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

电解电容主要是用来稳压和低频交流滤波的;高频滤波是使用磁片电容和独石

电容。

当电解电容作为稳压时,接在整流桥和三端稳压器的输出端,起到稳定电压的

作用。其工作机理相当于一个水库,从上游来的带有波浪的水到了水库,就变的平滑了。

但是,铝电解电容的电解质随着时间的推移会干涸,所以在设计时需要留有余

量,保证系统正常工作到它的寿命。

有些远端供电的直流电源,接到电路板的输入端时,需要在电路板的电源输入

端加一个大的电解电容,通常可以是220u/25V,这样,这块电路板需要供电时,不是直接

从电源处取,而是从电容中取电,可以得到稳定的电流供给;

但是,电解电容只能滤除低频的波动;对于直流电源中的高频波动,可以加一

个0.1u 或0.01u的独石电容或者磁片电容。

很多教科书都指出,在每一个芯片的电源和地两端接一个0.1u或0.01u的独石

电容或者瓷片电容,解决芯片的供电过程中,由于电路板的走线电感产生的电源开关噪声尖

峰。这种作用下的电容叫去耦电容。这是电路板的常规的设计;

2. 定时参数

对于像555 这样需要外接电容产生稳定的脉冲的器件,涤纶电容是首选。可以

想象,涤纶一层又一层缠绕,受到温度变化引起的涤纶的面积的变化的相对值要远远小于独

石电容的介质石头受到温度变化而引起的变化值。

3. 产生其它电压

有些需要从单一电压产生其它的电压的芯片,如:max232,需要外接电容才

能实现。

参见max232技术资料。

外接01.u的钽电容。

2.8.3 电容的封装

电容有直插和表面贴的不同封装。

电解电容表面贴封装的通常耐压值不超出25V,电容值不超出100u。再大,

就只好使用直插的了。其它的电容,磁片和独石都有表面贴封装的。

2.9 电阻和电位器

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

2.9.1 电阻的种类

2.9.1.1 普通电阻

电阻种类按照工艺可以分为碳膜电阻和金属膜电阻;

按照功率可以分为小功率电阻和大功率电阻,大功率电阻通常是金属电阻,实

际上应该是在金属外面加一个金属(铝材料)散热器,所以可以有10W 以上的功率;在电

子配套市场上专门卖电阻的市场上可以很容易地看到。

金属电阻通常是作为负载,或者作为小设备的室外加热器,如,在CCTV 的

一些解码器箱和全天候防护罩中可以看到。

电阻在电路中起到限流、分压等作为。通常1/8W电阻已经完全可以满足使用。

但是,在作为7段LED 中,要考虑到LED 的压降和供电电压之差,再考虑 LED 的最大电

流,通常是20mA(超高亮度的LED),如果是2×6(2 排6 个串联),则电流是40mA。

不同厂家选用不同材料的,压降有所不同。所以,需要加上电试一下,但是,

不要让Led的电流超出20mA(单只LED),这时加大电流亮度也不会增加,但是LED 的寿

命会下降,限流电阻的大小就是压降除以电流。电阻的功率随之可以算出。

这个使用初中的知识就够用了。

2.9.1.2 电位器

电位器就是可调电阻。在初中学物理时,中学老师拿一个很大的圆筒状的东东,

上面有一个滑杆,跟这个东西很类似。

它的阻值在1~n之间变化。

N=102、502、103……

102=10*10 的2 次方,也就是1000 欧姆,1K

同理,502=5K。

这种表示的方法跟电容是一样的。

电容104=10*10 的4 次方pf,电容的基本单位是pf,1u=1000000pf,所以,

104=100000pf=0.1u;

电位器又分单圈和多圈电位器。

个人博客: http://www.ednchina.com/blog/wang1jin/

欢迎大家光临: http://www.ednchina.com/blog/wang1jin/

单圈的电位器通常为灰白色,面上有一个十字可调的旋纽,出厂前放在一个固

定的位置上,不在2 头;

多圈电位器通常为蓝色,调节的旋纽为一字,一字小改锥可调;

多圈电位器又分成顶调和侧调2 种,主要是电路板调试起来方便。

有些是仪器仪表设备,通常是模拟电路,有一些不确定的因素,需要调节才能

达到最理想的效果;有些是设备本身就需要输出一个可变的东东,如电压和电流,也需要一

个电位器 

继续阅读