从51初学者到电子工程师3

来源:互联网 发布:男生发型 知乎 编辑:程序博客网 时间:2024/04/30 18:48

第二课 基本的芯片和分立器件
2.1 简述
2.2 74系列
2.3 CD4000系列
2.4 光耦与光电管
2.5 三极管
2.6 电容电阻
2.7 固态继电器
2.8 继电器
2.9 变压器和三端稳压器
2.10 开关电源芯片
2.11 封装知识、芯片批号等
2.12 接插件
2.13 器件选购的知识
第三课 数字量的输入输出
第四课 单片机的通讯接口
第五课 单片机系统设计的硬件构思
第六课 单片机程序的框架(汇编版本)
第七课 模拟量的输入输出
……
各位多提宝贵意见。
保证实用。如果程序里面有一些例程,也是已经经过测试可以拿来就用的;实际上

是我早年的一些产品的程序的一部分;不好意思,都是汇编的。
写的时间只有周末会多一些,可以保证做到一周一课;尽量能够提前,但是这要看

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

较好:
1. 周航慈:《单片机程序设计》
2. 徐涵芳:《MCS-51单片机结构与设计》
3.  何立民:《......》

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

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

资料直接下载PDF文件好了。
要想成为电子工程师,需要宽带,在家里安装包月的adsl或者长宽,绝对值得。
实际上,网络上什么都有了,就是一个网络数据库,要好好利用。
网上自有黄金屋,网上自有颜如玉……

第二课 基本的芯片和分立器件
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

引入几个概念:
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是锁存的意思;
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容易走线;所以大家都喜欢使用这个芯片。

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负载;
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) 比较长的连接线路容易引进干扰、雷击、感应电等,不经过隔离不可*

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

常见的光耦有:
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. 输入交流信号隔离

4. 输出RS232信号隔离


5. 输出RS422信号隔离


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