51单片机总结上拉电阻

合集下载

单片机使用上拉电阻

单片机使用上拉电阻

上拉电阻总结上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。

2、OC门电路必须加上拉电阻,才能使用。

3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。

4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。

5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。

6、提高总线的抗电磁干扰能力。

管脚悬空就比较容易接受外界的电磁干扰。

7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。

上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。

2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。

3、对于高速电路,过大的上拉电阻可能边沿变平缓。

综合考虑以上三点,通常在1k到10k之间选取。

对下拉电阻也有类似道理对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1.驱动能力与功耗的平衡。

以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。

2.下级电路的驱动需求。

同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。

3.高低电平的设定。

不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。

以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。

4.频率特性。

以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。

上拉电阻的设定应考虑电路在这方面的需求。

下拉电阻的设定的原则和上拉电阻是一样的。

电阻之上拉电阻与下拉电阻详解(转)

电阻之上拉电阻与下拉电阻详解(转)

电阻之上拉电阻与下拉电阻详解(转)上拉(Pull Up )或下拉(Pull Down)电阻(两者统称为“拉电阻”)最基本的作⽤是:将状态不确定的信号线通过⼀个电阻将其箝位⾄⾼电平(上拉)或低电平(下拉),⽆论它的具体⽤法如何,这个基本的作⽤都是相同的,只是在不同应⽤场合中会对电阻的阻值要求有所不同,从⽽也引出了诸多新的概念,本节我们就来⼩谈⼀下这些内容。

如果拉电阻⽤于输⼊信号引脚,通常的作⽤是将信号线强制箝位⾄某个电平,以防⽌信号线因悬空⽽出现不确定的状态,继⽽导致系统出现不期望的状态,如下图所⽰:在实际应⽤中,10K欧姆的电阻是使⽤数量最多的拉电阻。

需要使⽤上拉电阻还是下拉电阻,主要取决于电路系统本⾝的需要,⽐如,对于⾼有效的使能控制信号(EN),我们希望电路系统在上电后应处于⽆效状态,则会使⽤下拉电阻。

假设这个使能信号是⽤来控制电机的,如果悬空的话,此信号线可能在上电后(或在运⾏中)受到其它噪声⼲扰⽽误触发为⾼电平,从⽽导致电机出现不期望的转动,这肯定不是我们想要的,此时可以增加⼀个下拉电阻。

⽽相应的,对于低有效的复位控制信号(RST#),我们希望上电复位后处于⽆效状态,则应使⽤上拉电阻。

⼤多数具备逻辑控制功能的芯⽚(如单⽚机、FPGA等)都会集成上拉或下拉电阻,⽤户可根据需要选择是否打开,STM32单⽚机GPIO模式即包含上拉或下拉,如下图所⽰(来⾃ST数据⼿册):根据拉电阻的阻值⼤⼩,我们还可以分为强拉或弱拉(weak pull-up/down),芯⽚内部集成的拉电阻通常都是弱拉(电阻⽐较⼤),拉电阻越⼩则表⽰电平能⼒越强(强拉),可以抵抗外部噪声的能⼒也越强(也就是说,不期望出现的⼲扰噪声如果要更改强拉的信号电平,则需要的能量也必须相应加强),但是拉电阻越⼩则相应的功耗也越⼤,因为正常信号要改变信号线的状态也需要更多的能量,在能量消耗这⼀⽅⾯,拉电阻是绝不会有所偏颇的,如下图所⽰:对于上拉电阻R1⽽⾔,控制信号每次拉低L都会产⽣VCC/R1的电流消耗(没有上拉电阻则电流为0),相应的,对于下拉电阻R2⽽⾔,控制信号每次拉⾼H也会产⽣VCC/R2R 电流消耗(本⽂假设⾼电平即为VCC)。

51单片机IO及上拉电阻

51单片机IO及上拉电阻

单片机IO口结构及上拉电阻[ 2009-12-1 2:40:00 | By: zydlyq ]8051有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线:·P0口和P2口:右图为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

参考图2。

P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为216=64k,所以8051最大可外接64kB的程序存储器和数据存储器。

·P1口:右图为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况,其一是:首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

其二是:读P1口线状态时,打开三态门G2,将外部状态读入CPU。

单片机实验报告总结

单片机实验报告总结

单片机实验报告总结单片机实验报告总结单片机实验心得体会单片机实验心得体会时间过得真快,不经意间,一个学期就到了尾声,进入到如火如荼的期末考试阶段。

在学习单片机这门课程之前,就早早的听各种任课老师和学长学姐们说过这门课程的重要性和学好这门课程的关键~~多做单片机实验。

这个学期,我们除了在课堂上学习理论知识,还在实验室做了7次实验。

将所学知识运用到实践中,在实践中发现问题,强化理论知识。

现在,单片机课程已经结束,即将开始考试了,需要来好好的反思和回顾总结下了。

第一次是借点亮LED灯来熟悉keil软件的使用和试验箱上器材。

第一次实验体现了一个人对新事物的接受能力和敏感度。

虽然之前做过许多种实验。

但依旧发现自己存在一个很大的问题,对已懂的东西没耐心听下去,容易开小差;在听老师讲解软件使用时,思路容易停滞,然后就跟不上老师的步骤了,结果需要别人再次指导;对软件的功能没有太大的热情去研究探索,把一个个图标点开,进去看看。

所以第一次试验相对失败。

鉴于此,我自己在宿舍下载了软件,然后去熟悉它的各个功能,使自己熟练掌握。

在做实验中,第二个问题应该是准备不充分吧。

一开始,由于没有课前准备的意识,每每都是到了实验室才开始编程,完成作业,导致每次时间都有些仓促。

后来在老师的批评下,认识到这是个很大的问题:老师提前把任务告诉我们,就是希望我们私下把程序编好。

于是我便在上机之前把程序编好,拷到U盘,这样上机时只需调试,解决出现的问题。

这样就会节约出时间和同学讨论,换种思路,换种方法,把问题给吃透。

发现、提出、分析、解决问题和实践能力是作为我们这个专业的基本素质。

三是我的依赖性很大,刚开始编程序时喜欢套用书上的语句,却对语句的理解不够。

于是当程序出现问题时,不知道如何修改,眼前的程序都是一块一块的被拼凑整合起来的,没法知道哪里错了。

但是编程是一件很严肃的事情,容不得半点错误。

于是便只能狠下决心,坚持自己编写,即使套用时,也把每条语句弄懂。

51单片机驱动能力(拉电流_灌电流)及上拉电阻

51单片机驱动能力(拉电流_灌电流)及上拉电阻

看来很多网友都搞不清灌电流和拉电流的概念,下面就此解释一下,希望看过本文后不再就此困扰。

一个重要的前提:灌电流和拉电流是针对端口而言的。

名词解释——灌:注入、填充,由外向内、由虚而实。

渴了,来一大杯鲜榨橙汁,一饮而尽,饱了,这叫“灌”。

灌电流(sink current),对一个端口而言,如果电流方向是向其内部流动的则是“灌电流”,比如一个IO通过一个电阻和一个LED连接至VCC,当该IO输出为逻辑0时能不能点亮LED,去查该器件手册中sink current参数。

名词解释——拉:流出、排空,由内向外,由实而虚。

一大杯鲜橙汁喝了,过会儿,憋的慌,赶紧找卫生间,一阵“大雨”,舒坦了,这叫“拉”。

拉电流(sourcing current),对一个端口而言,如果电流方向是向其外部流动的则是“拉电流”,比如一个IO通过一个电阻和一个LED 连至GND,当该IO输出为逻辑1时能不能点亮LED,去查该器件手册中sourcing current参数。

/viewthread.php?tid=219138&highlight=%2Byez hubenyue单片机输出低电平时,将允许外部器件,向单片机引脚内灌入电流,这个电流,称为“灌电流”,外部电路称为“灌电流负载”(sink current)单片机输出高电平时,则允许外部器件,从单片机的引脚,拉出电流,这个电流,称为“拉电流”,外部电路称为“拉电流负载“(source current)这些电流一般是多少?最大限度是多少?这就是常见的单片机输出驱动能力的问题。

分析一下TTL 的输入特性,就可以发现,51 单片机基本上就没有什么驱动能力。

它的引脚,甚至不能带动当时的LED 进行正常发光。

记得是在AT89C51 单片机流行起来之后,做而论道才发现:单片机引脚的能力大为增强,可以直接带动LED 发光了。

看看下图,图中的D1、D2 就可以不经其它驱动器件,直接由单片机的引脚控制发光显示。

MCS-51单片机IO口详解

MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。

单片机P0口

单片机P0口

的。对于PNP管,毫无疑问PNP管是低电平有效的,因此上拉电阻的阻值用100K以上的就行了,且
管子的基极必须串接一个1——10K的电阻,阻值的大小要看管子集电极的负载是什么,对于LED类
负载,由于发光电流很小,因此基极串接的电阻的阻值可以用20k的,但是对于管子的集电极为继
电器负载时,由于集电极电流大,因此基极电阻的阻值最好不要大于4.7K。
对于驱动TTL集成电路,上拉电阻的阻值要用1——10K之间的,有时候电阻太大的话是拉不
起来的,因此用的阻值较小。但是对于CMOS集成电路,上拉电阻的阻值就可以用的很大,一般不
小于20K,我通常用100K的,实际上对于CMOS电路,上拉电阻的阻值用1M的也是可以的,但是要注
意上拉电阻的阻值太大的时候,容易产生干扰,尤其是线路板的线条很长的时候,这种干扰更严
对于驱动晶体管,又分为PNP和NPN管两种情况:对于NPN,毫无疑问NPN管是高电平有效的,
因此上拉电阻的阻值用2K——20K之间的,具体的大小还要看晶体管的集电极接的是什么负载,对
于LED类负载,由于发管电流很小,因此上拉电阻的阻值可以用20k的,但是对于管子的集电极为
继电器负载时,由于集电极电流大,因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K
P0口作为I/O口输出的时候时 输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态)。也就是说P0 口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。
由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。 1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。 2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!! 3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效; 4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。 简单一点说就是它要驱动LCD显示屏显示就必须要有电源驱动,否则亮不了,而恰好P0口没有电源,所以就要外接电源,接上电阻是起到限流的作用;如果接P1、P2、P3端口就不用外接电源和电阻了。P0口是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的51单片机的P0口用作数据和地址总线时不必加上拉电阻。多数网友认为:

51单片机总结上拉电阻

51单片机总结上拉电阻

51单片机总结——上拉电阻单片机2009-07-28 14:56:05 阅读961 评论1字号:大中小上拉电阻的作用:(1)用于为OC和OD门电路,提供驱动能力。

以OC(集电极开路)电路为例:例如,达林顿管(其实就是复合三级管)集成块ULN2003. 内部一路的电路如图,就是一个集电极开路电路。

如果不加上拉电阻是无法高电平驱动其他器件的。

因为当三极管截至市没有电流流通的路径,更谈不上驱动了。

这个跟单片机P0口加上拉电阻的原理一样。

(2)提高高电平电位:单片机P1口外接4×4矩阵键盘。

另外复用P1.0~P1.3外接ULN2003控制驱动步进电机。

实验中遇到的问题:当接入ULN2003时键盘无法工作,去掉ULN2003后键盘工作正常。

ULN2003工作正常。

(注,两个部分不同时工作)问题分析:由于键盘的结构,无非就是两个金属片的接通或断开。

但是接入ULN2003 后无法正常工作,说明是接入ULN2003影响到了P1口电平的变化。

用万用表测的电压,当单片机输出高电平时,P1.0~P1.3电压1V左右,P1.4~P1.7电压4.3V左右,于是测A T89s52高低电平的判决电位,在1.3V左右。

这样P1.0~P1.3始终是低电平,键盘根本无法实现扫描功能。

解决方法,只要抬高P1口高电平时的电位,就可以正常工作,1.在P1口到ULN2003上串接电阻,起到分压的作用,就可以抬高电平。

2.给P1口接上拉电阻,跟P1口内部电阻并联,减小上拉电阻阻值,减小分得的电压,从而抬高P0口高电平电位。

采用第二种方案可以抬高电平到2.5V左右。

键盘工作正常。

另外:我在做液晶显示实验的时候,数据线用的P0口,无法正常工作,不显示字符。

但是乱动一下数据线就可以完成显示,但是显示现象并不正常,字符不是一次写入,而是乱动几次才能写完全部内容,正常应该一次全部显示。

原因是由于,我的P0口中有六个端口都外接并联三个发光二极管。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

51单片机总结——上拉电阻
单片机2009-07-28 14:56:05 阅读961 评论1字号:大中小
上拉电阻的作用:
(1)用于为OC和OD门电路,提供驱动能力。

以OC(集电极开路)电路为例:
例如,达林顿管(其实就是复合三级管)集成块ULN2003. 内部一路的电路如图,就是一个集电极开路电路。

如果不加上拉电阻是无法高电平驱动其他器件的。

因为当三极管截至市没有电流流通的路径,更谈不上驱动了。

这个跟单片机P0口加上拉电阻的原理一样。

(2)提高高电平电位:
单片机P1口外接4×4矩阵键盘。

另外复用P1.0~P1.3外接ULN2003控制驱动步进电机。

实验中遇到的问题:当接入ULN2003时键盘无法工作,去掉ULN2003后键盘工作正常。

ULN2003工作正常。

(注,两个部分不同时工作)
问题分析:由于键盘的结构,无非就是两个金属片的接通或断开。

但是接入ULN2003 后无法正常工作,说明是接入ULN2003影响到了P1口电平的变化。

用万用表测的电压,当单片机输出高电平时,P1.0~P1.3电压1V左右,P1.4~P1.7电压4.3V左右,于是测A T89s52高低电平的判决电位,在1.3V左右。

这样P1.0~P1.3始终是低电平,键盘根本无法实现扫描功能。

解决方法,只要抬高P1口高电平时的电位,就可以正常工作,
1.在P1口到ULN2003上串接电阻,起到分压的作用,就可以抬高电平。

2.给P1口接上拉电阻,跟P1口内部电阻并联,减小上拉电阻阻值,减小分得的电压,从而抬高P0口高电平电位。

采用第二种方案可以抬高电平到2.5V左右。

键盘工作正常。

另外:我在做液晶显示实验的时候,数据线用的P0口,无法正常工作,不显示字符。

但是乱动一下数据线就可以完成显示,但是显示现象并不正常,字符不是一次写入,而是乱动几次才能写完全部内容,正常应该一次全部显示。

原因是由于,我的P0口中有六个端口都外接并联三个发光二极管。

,因为从资料上查到,P0口每一个端口最大可以吸收10MA 电流,总电流不能超过26MA电流。

这样算我的总电流已经到了40MA,呵呵。

见笑了。

所以怀疑是驱动的问题。

于是去掉了几个二极管。

显示一切正常。

似乎问题已经解决,但总觉得还是有点问题,于是又经过几次试验,发现只有当P0.7端口的并联二极管去掉一个,再在其他端口接上一个发光二极管。

此时也可以正常显示。

但是这样P0口吸收电流在38MA,也超过了26MA不少。

所以不是吸收电流太大的问题。

仔细分析当端口并联外接三个二极管的时候等效于加了一个700欧左右的电阻,于是把二极管去掉换成一个1k电阻,液晶也无法显示。

经过仔细分析,我认为,由于P0.7是液晶忙信号的返回线路当这个端口返回高电平时说明,液晶正在处理数据,无法接收新的数据,返回0时说明空闲,可以接收新数据。

这样当上拉电阻太小了,液晶返回低电平时就有可能高过1.3V(A T89s52高低电平的判决电位),单片机接收到后,不会当作低电平,当然也就无法显示了。

(程序设计的时检测到忙信号,继续检测)
总结:上拉电阻选择也有要求,呵呵。

既不是越高越好也不是越低越好。

根据需要选择。

这可能也叫,阻抗匹配吧。

相关文档
最新文档