51单片机P0口使用上拉电阻的作用

发布者:丝语轻风最新更新时间:2015-10-28 来源: eefocus关键字:51单片机  P0口  上拉电阻 手机看文章 扫描二维码
随时随地手机看文章
     P0口作为I/O口输出的时候时,输出低电平为0 输出高电平为高组态(并非5V,相当于悬空状态,也就是说P0 口不能真正的输出高电平)。给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。P0作输入时不需要上拉电阻,但要先置1。因为P0口作一般I/O口时上拉场效应管一直截止,所以如果不置1,下拉场效应管会导通,永远只能读到0。因此在输入前置1,使下拉场效应管截止,端口会处于高阻浮空状态,才可以正确读入数据。

       由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的。

       1.一般51单片机的P0口在作为地址/数据复用时不接上拉电阻。

       2.作为一般的I/O口时用时,由于内部没有上拉电阻,故要接上上拉电阻!!

       3.当p0口用来驱动PNP管子的时候,就不需要上拉电阻,因为此时的低电平有效;

       4.当P0口用来驱动NPN管子的时候,就需要上拉电阻的,因为此时只有当P0为1时候,才能够使后级端导通。简单一点说就是它要驱动LCD显示屏显示就必须要有电源驱动,否则亮不了,而恰好P0口没有电源,所以就要外接电源,接上电阻是起到限流的作用;如果接 P1、P2、P3端口就不用外接电源和电阻了。

       P0口是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,绝大多数情况下P0口是必需加上拉电阻的;5、51单片机的P0口用作数据和地址总线时不必加上拉电阻。

       有些IC的驱动能力并不强,如果P0口作为输入而加了不必要的上拉,有可能驱动IC无法将其拉回到低电平,从而使输入失败!​

       如果是驱动led,那么用1K左右的就行了。如果希望亮度大一些,电阻可减小,最小不要小于200欧姆,否则电流太大;如果希望亮度小一些,电阻可增大,增加到多少呢,主要看亮度情况,以亮度合适为准,一般来说超过3K以上时,亮度就很弱了,但是对于超高亮度的LED,有时候电阻为10K时觉得亮度还能够用。通常就用1k的。对于驱动光耦合器,如果是高电位有效,即耦合器输入端接端口和地之间,那么和LED的情况是一样的;如果是低电位有效,即耦合器输入端接端口和VCC之间,那么除了要串接一个1——4.7k之间的电阻以外,同时上拉电阻的阻值就可以用的特别大,用100k——500K之间的都行,当然用10K的也可以,但是考虑到省电问题,没有必要用那么小的。

       对于驱动晶体管,又分为PNP和NPN管两种情况:对于NPN,毫无疑问NPN管是高电平有效的,因此上拉电阻的阻值用2K——20K之间的,具体的大小还要看晶体管的集电极接的是什么负载,对于LED类负载,由于发管电流很小,因此上拉电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此上拉电阻的阻值最好不要大于4.7K,有时候甚至用2K的。对于PNP管,毫无疑问PNP管是低电平有效的,因此上拉电阻的阻值用100K以上的就行了,且管子的基极必须串接一个1——10K的电阻,阻值的大小要看管子集电极的负载是什么,对于LED类负载,由于发光电流很小,因此基极串接的电阻的阻值可以用20k的,但是对于管子的集电极为继电器负载时,由于集电极电流大,因此基极电阻的阻值最好不要大于4.7K。

对于驱动TTL集成电路,上拉电阻的阻值要用1——10K之间的,有时候电阻太大的话是拉不起来的,因此用的阻值较小。但是对于CMOS集成电路,上拉电阻的阻值就可以用的很大,一般不小于20K,我通常用100K的,实际上对于CMOS电路,上拉电阻的阻值用1M的也是可以的,但是要注意上拉电阻的阻值太大的时候,容易产生干扰,尤其是线路板的线条很长的时候,这种干扰更严重,这种情况下上拉电阻不宜过大,一般要小于100K,有时候甚至小于 10K。

根据以上分析,上拉电阻的阻值的选取是有很多讲究的,不能乱用。

关键字:51单片机  P0口  上拉电阻 引用地址:51单片机P0口使用上拉电阻的作用

上一篇:PCF8583+LM1602的protues仿真实例(C语言)
下一篇:基于51单片机的计算器 C语言程序

推荐阅读最新更新时间:2024-03-16 14:37

51单片机课程设计:基于DS18B20的温度报警器
本程序用于读取DS18B20温度,同时具备报警功能,工程分为3个文件,main.c、temp.c、temp.h,经本人修改部分代码,适用于吉林农业大学51开发板,其他朋友亦可移植到其他型号开发板。工程文件及对应开发板的电路图在文章最下方。 关于粘贴复制乱码的问题:如果程序复制到Keil编译器上出现注释乱码,可以先建一个.c文件,也就是说不在keil里面编辑,然后用记事本打开.c文件,将源码复制进去,再在keil中添加文件即可,其他操作方法一样。 1.main.c文件 /*********************************说明*****************************************
[单片机]
51单片机】STC89C52蜂鸣器实验,含c代码(4)
1.参考教程: 清翔51单片机教程 2.基本原理 : 若vcc是5v,p23低电平,使得R10流过大于1mA的电流,则CE导通,蜂鸣器响。P23为高电频反之。 3.C程序代码 : #include reg52.h #include intrins.h //标准库函数 #define uint unsigned int #define uchar unsigned char sbit beep = P2^3; //毫秒级延时函数定义 void delay(uint z) { uint x,y; for(x = z; x 0; x--) for(y = 114; y 0; y--); } void ma
[单片机]
【<font color='red'>51单片机</font>】STC89C52蜂鸣器实验,含c代码(4)
51单片机定时器/计数器的结构及方式控制寄存器TMOD
1、定时器/ 计数器 的结构如图1所示。 图片1 2 、定时器/计数器方式控制寄存器TMOD TMOD用于控制定时器/汁数器的工作模式及工作方式,其字节地址为80H,格式如下。其中,低4位用于决定T0的工作方式,高4位用于决定T1的工作方式。 图片1 1)、M1和M0工作方式控制位 M0和M1为工作方式控制位,确定4种工作方式,如表1所示。 图片1 2)、C/T定时器/计数器方式选择位 C/T=0,设置为定时方式,对机器周期进行计数; C/T=1,设定为计数方式,对外部信号进行计数,外部信号接至T0(P3.4)或T1(P3.5)引脚。 3)、GATE门控位 GATE=0时,只要用软件使TR0(或TR1)置
[单片机]
<font color='red'>51单片机</font>定时器/计数器的结构及方式控制寄存器TMOD
51单片机快速入门指南】5.3:SPI控制晶联讯JLX12864G_08602 LCD屏幕
STC12LE5A60S2 12MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 示例程序 stdint.h见【51单片机快速入门指南】1:基础知识和工程创建 软件SPI程序见【51单片机快速入门指南】5:软件SPI SPI选择模式0。 本例中所用单片机为STC12LE5A60S2 12MHz,屏幕部分接线如下,为了控制背光,LEDA由IO推挽控制,若要常亮,LEDA则可接到VCC。 1 P0.6 CS 2 P0.7 RST 3 P4.6 RS 4 P4.5 SDA 5 P4.4 SCK 6 3V3 7
[单片机]
【<font color='red'>51单片机</font>快速入门指南】5.3:SPI控制晶联讯JLX12864G_08602 LCD屏幕
51单片机如何进行模块化编程
本文主要是关于51单片机的相关介绍,并着重对51单片机的原理及其模块化编程进行了详尽的阐述。 51单片机 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。 功能 ·8位CPU·4kbytes程序存储器(ROM)
[单片机]
<font color='red'>51单片机</font>如何进行模块化编程
51单片机实现4个按键控制8个LED灯四种状态
电路图 元件清单 程序(C语言) #include reg51.h sbit p3_0=P3^0; sbit p3_1=P3^1; sbit p3_2=P3^2; sbit p3_3=P3^3; void delay(unsigned char i); void main() { unsigned char ledctr; P3=0xff; while(1) { ledctr=P3; switch(ledctr) { case 0xff:P1=0x00;break; case 0xfe:P1=0xff;break; case 0xfd:P1=0x55;delay(
[单片机]
<font color='red'>51单片机</font>实现4个按键控制8个LED灯四种状态
51单片机C编程(三、4位数码管飞入效果)
4位数码管飞入效果,PROTEUS仿真电路图如下: #include reg51.h #define uchar unsigned char #define LED P0 uchar code tab ={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳数码管数字码 uchar disp1 ={{8,10,10,10},{0,8,10,10},{5,0,8,10},{1,5,0,8},{10,1,5,0},{10,10,1,5},{10,10,10,1},{10,10,10,10}}; //数码管的8个显示状态 uchar scan;
[单片机]
80C51单片机对压力测量控制系统的设计
1 引言 目前我国发展煤炭生产机械化发展迅速。综采设备的应用,是提高效率、改善安全状况的措施。 影响开机率的一个主要因素是支架对工作面的顶板控制的好坏,因此,对综采工作面进行矿压监测与控制是很有必要的。要做到这一点,首先需要对井下工作面的液压支架的实际工作状况进行监测,通过对检测数据处理、分析,评定其效果,并采取相应措施,以提高开机率、提高产量。本文以监测综采液压支架的压力为研究内容,开发了一套基于单片机的压力测量控制系统。 2 压力测量控制系统功能设计 压力测量控制系统用于监测支架压力, 每台测量控制系统配有四只传感器, 可分别通过高压油管连接支架的立柱、平衡千斤顶, 前探梁千斤顶的油压腔。压力测量控制系统接收到通讯测量
[单片机]
80C<font color='red'>51单片机</font>对压力测量控制系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved