预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1.弱上拉通常是作为输入时有用。 如PIC16F887的端口B为内部有上拉功能的端口,如果没有上拉,作为输入口,它是悬空的,这样这个引脚的电平是不定的,如果内部有上拉,则它是高电平的。 下图中的RB0程序设置为有内部弱上拉,RB3设置为不弱上拉,因此仿真运行时看到,按键都不按是,RB0为高电平(红色),而RB3为悬空(灰色),即电平不能确定。 如果不用内部弱上拉(如RB3),此时就要在外部加上一个电阻接到VCC,这就叫上拉。而叫弱上拉,是因为所加的电阻很大,电流很小的缘故。 2.要是你!怎么解决引脚单片机的上拉电阻问题? HYPERLINK"http://bbs.dianyuan.com/tech/digi"\t"_blank"单片机的引脚,可以用程序来控制,输出高、低电平,这些可算是HYPERLINK"http://dpjdsp.dianyuan.com/"\t"_blank"单片机的输出电压。但是,程序控制不了单片机的输出电流。单片机的输出电流,很大程度上是取决于引脚上的外接器件。 单片机输出低电平时,将允许外部器件,向HYPERLINK"http://bbs.dianyuan.com/tech/digi"\t"_blank"单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”;单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载”。 这些电流一般是多少?最大限度是多少?这就是常见的单片机输出驱动能力的问题。 早期的51系列单片机的带负载能力,是很小的,仅仅用“能带动多少个TTL输入端”来说明的。P1、P2和P3口,每个引脚可以都带动3个TTL输入端,只有P0口的能力强,它可以带动8个! 分析一下TTL的输入特性,就可以发现,51HYPERLINK"http://bbs.dianyuan.com/tech/digi"\t"_blank"单片机基本上就没有什么驱动能力。它的引脚,甚至不能带动当时的LED进行正常发光。记得是在AT89C51单片机流行起来之后,做而论道才发现:单片机引脚的能力大为增强,可以直接带动LED发光了。 从AT89C51单片机的PDF手册文件中可以看到,稳态输出时,“灌电流”的上限为: MaximumIOLperportpin:10mA; MaximumIOLper8-bitport ort0:26mA,Ports1,2,3:15mA; MaximumtotalIforalloutputpins:71mA. 这里是说: 每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为10mA;每个8位的接口(P1、P2以及P3),允许向引脚灌入的总电流最大为15mA,而P0的能力强一些,允许向引脚灌入的最大总电流为26mA;全部的四个接口所允许的灌电流之和,最大为71mA。 而当这些引脚“输出高电平”的时候,单片机的“拉电流”能力呢?可以说是太差了,竟然不到1mA。 结论就是:HYPERLINK"http://bbs.dianyuan.com/tech/powermanage"\t"_blank"单片机输出低电平的时候,驱动能力尚可,而输出高电平的时候,就没有输出电流的能力。这个结论是依照手册中给出的数据做出来的。 51单片机的这些特性,是源于引脚的内部结构,引脚内部结构图这里就不画了,很多书中都有。 在芯片的内部,引脚和地之间,有个HYPERLINK"http://sanjiguan.dianyuan.com/"\t"_blank"三极管,所以引脚具有下拉的能力,输出低电平的时候,允许灌入10mA的电流;而引脚和正电源之间,有个几百K的“内部上拉HYPERLINK"http://dianzu.dianyuan.com/"\t"_blank"电阻”,所以,引脚在高电平的时候,能够输出的拉电流很小。特别是P0口,其内部根本就没有上拉电阻,所以P0口根本就没有高电平输出电流的能力。 哦,明白了,外接电路如果是“拉电流负载”,要求单片机输出高电平时发挥作用,那就必须用“上拉电阻”来协助,产生负载所需的电流。 下面做而论道就专门说说上拉电阻存在的问题。 从上面提到D2发光,是由上拉电阻R2提供的电流,D2导通发光的电压约为2V,那么发光的电流就是:(5-2)/1K,约为3mA。 而当单片机输出低电平(0V),D2不发光的时候,R2这个上拉电阻闲着了吗?没有!它两端的电压,比LED发光的时候还高,现在是5V了,其中的电流,是5mA! 注意到了吗?LED不发光的时候,上拉HYPERLINK"http://dianzu.dianyuan.com/"\t"_blank"电阻给出了更大