单片机学习心得汇总(一)
时间:11-22
来源:互联网
点击:
阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁;
高阻态的概念在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 – 数据缓冲器
下载地址:
数据输出能力比较强,输出电流可以到40mA以上;
4个缓冲器分成2组,具有高阻态控制端口
5、 74LS245 – 总线缓冲器
双向数据接口,通常在ISA板卡上可以看到;
早期的51系统中,为了扩展RAM、eprom、A/D、D/A、I/O等经常可以看到这个片子;
为了增强驱动能力,有时是为了隔离输入和输出,主要是布线方便,象74LS573一样,输入、输出在一侧,经常用到这个片子
6、 74LS138 – 三-八译码器
在早期的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系列的做不到这么高;
下载地址:
2.4 ULN2003/ULN2008
它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。
经常在工控的板卡中见到这个芯片。
有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是管脚与2003完全兼容。
ULN2003可以驱动7个继电器;ULN2008驱动8个继电器。
ULN2003下载地址:
500){this.resized=true;this.style.width=500;}">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公司和日本的东芝公司生产。
发光管的工作电流要在10mA时,具有较高的转换速率;
在5V工作时,上拉电阻不小于5K,一般是10K;太小容易损坏光耦;
2) 4N25/4N35,motorola公司生产 隔离电压高达5000V;
3) 6N136,HP公司生产
要想打开6N136,需要比较大的电流,大概在15~20mA左右,才能发挥高速传输数据的作用。
如果对速率要求不高,其实TLP521-1也可以用,实际传输速率可以到19200波特率。
选择光耦看使用场合,tlp521-1是最常用的,也便宜,大概0.7~1元;
要求隔离电压高的,选用4N25/4N35,大概在3元左右;
要求在通讯中高速传输数据的,选用6N136,大概在4元左右。
光耦应用的原理
高阻态的概念在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 – 数据缓冲器
下载地址:
数据输出能力比较强,输出电流可以到40mA以上;
4个缓冲器分成2组,具有高阻态控制端口
5、 74LS245 – 总线缓冲器
双向数据接口,通常在ISA板卡上可以看到;
早期的51系统中,为了扩展RAM、eprom、A/D、D/A、I/O等经常可以看到这个片子;
为了增强驱动能力,有时是为了隔离输入和输出,主要是布线方便,象74LS573一样,输入、输出在一侧,经常用到这个片子
6、 74LS138 – 三-八译码器
在早期的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系列的做不到这么高;
下载地址:
2.4 ULN2003/ULN2008
它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。
经常在工控的板卡中见到这个芯片。
有个完全一样的型号:MC1413,不过现在好像不怎么见到这个型号了,但是管脚与2003完全兼容。
ULN2003可以驱动7个继电器;ULN2008驱动8个继电器。
ULN2003下载地址:
500){this.resized=true;this.style.width=500;}">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公司和日本的东芝公司生产。
发光管的工作电流要在10mA时,具有较高的转换速率;
在5V工作时,上拉电阻不小于5K,一般是10K;太小容易损坏光耦;
2) 4N25/4N35,motorola公司生产 隔离电压高达5000V;
3) 6N136,HP公司生产
要想打开6N136,需要比较大的电流,大概在15~20mA左右,才能发挥高速传输数据的作用。
如果对速率要求不高,其实TLP521-1也可以用,实际传输速率可以到19200波特率。
选择光耦看使用场合,tlp521-1是最常用的,也便宜,大概0.7~1元;
要求隔离电压高的,选用4N25/4N35,大概在3元左右;
要求在通讯中高速传输数据的,选用6N136,大概在4元左右。
光耦应用的原理
单片机学习心 相关文章:
- avr单片机学习心得(11-23)
- 单片机学习心得汇总二.(11-22)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)