1.P0作为地址数据总线时,V1和V2是一起工作的,构成推挽结构。高电平时,V1打开,V2截止;低电平时,V1截止,V2打开。这种情况下不用外接上拉电阻。而且,当V1打开,V2截止,输出高电平的时候,因为内部电源直接通过V1输出到P0口线上,因此驱动能力(电流)可以很大,这就是为什么教科书上说可以"驱动8个TTL负载"的原因。
2.P0作为一般端口时,V1就永远的截止,V2根据输出数据0导通和1截止,导通时拉地,当然是输出低电平;截止时,PO口就没有输出了,(注意,这种情况就是所谓的高阻浮空状态),如果加上外部上拉电阻,输出就变成了高电平1。
3.其他端口P1 P2 P3,在内部直接将P1口中的V1换成了上拉电阻,所以不用外接,但内部上拉电阻太大,电流太小,有时因为电流不够,也会再并一个上拉电阻。
4.在某个时刻,P0口上输出的是作为总线的地址数据信号还是作为普通I/O口的电平信号,是依靠多路开关MUX来切换的.而MUX的切换,又是根据单片机指令来区分的.当指令为外部存储器/IO口读/写时,比如 MOVX A,@DPTR ,MUX是切换到地址/数据总线上;而当普通MOV传送指令操作P0口时,MUX是切换到内部总线上的.
PS:
Because Ports 1, 2, and 3 have fixed internal pullups, they are sometimes called “quasi- bidirectional” ports.
因为端口1、2、3有固定的内部上拉,所以有时候他们被称为"准双向"口.
Port 0, on the other hand, is considered “true” bidirectional, because when configured as an input it floats.
端口0, 从另外一方面来说,就被 认为是"真正的"双向,因为当它被设置为输入的时候是浮空(高阻态)的.
关键字:51单片机 P0口 上拉问题
引用地址:
关于51单片机P0口的结构及上拉问题
推荐阅读最新更新时间:2024-03-16 13:32
89S51单片机智能语音拨号报警系统
电话自动报警的主要功能为: 用户根据需要把自己的手机号码、办公室电话或报警监控中心的电话预存入报警主机。报警主机不断地对所监控的设备( 门禁、烟雾探测器、窗磁、摄像头等) 状况进行巡检, 当有不安全情况( 如火灾、非法入室、视频丢失等) 发生时, 报警主机拨通预先存入的电话号码, 播放相应的警情语音。若电话占线或者无人接听,可拨下一个预存的电话号码, 如果所有预存的电话都占线或者无人接听, 则会自动把所有的预存电话重拨一遍, 保证了报警的有效性和可靠性。 1 系统组成和工作原理 系统组成框图如图1 所示。采用AT89C51 单片机 作为控制核心, 外接E2PROM 用于存储电话号码、设置参数( 定时布/撤防、联动、视频等)
[单片机]
51单片机串口通信测试程序
#include unsigned char flag,a; void delay(); void main() { TMOD=0x20;//设置定时器1为工作方式2 TH1=0xfa; //TH1=256-2^0*22118400/32/12/9600 波特率为9600,晶振为22.1184Mhz TL1=0xfa; TR1=1; //定时器1打开 REN=1; //允许串行接收位。由软件置REN=1,则启动串行口接收数据 SM0=0; //选择串行口工作方式1 SM1=1; EA=1; //开总中断 ES=1; //开串口中断 while(1) { if(flag=
[单片机]
51单片机工作于方式0的定时器模式
51单片机的 模式0(13位定时器/计数器) 第一步:通过设置TMOD中的M1/M0位设置,即可完成模式选择 “00”为模式0(13位定时/计数模式) “01”为模式1(16位定时/计数模式) “10”为模式2(8位'自动重装初'值定时/计数模式) “11”为模式3(分割为 2个8位计数模式) 第二步:打开总中断(EA)、开T0中断(ET0)、启动T0(TR0) 因为寄存器在复位后初始值都为“0”,默认属于关闭的状态,所以我们在使用T0中断功能时,需要将这些位置“1”才可启动定T0。 第三步:根据时钟计算并装载合适的初值在T0模式中,
[单片机]
51单片机串口通信的驱动程序
#include reg52.h #include ./delay/delay.h #include stdio.h unsigned char temp ; void uart_init() { SCON = 0x50; //设置uart的工作方式 TMOD |= 0x20; //设置定时器工作方式 :方式二 TH1 = 0xfd; //设置波特率为9600 TR1 = 1; //打开定时器中断 } void uart_send_byte(unsigned char byte) //发送 { SBUF =byte; while(!TI)
[单片机]
彩色STN模块VP2188与51单片机接口设计
VP2188是精电蓬远生产的一款彩色STN液晶显示模块,此模块为点阵透射式彩色STN显示屏,色阶为65 k色、白色LED背光,其核心控制器是Philips COG封装的PCF8837.PCF8837是单片式彩色STN控制驱动器,存储容量为176*132*16=45 kB,有3种颜色显示模式(RGB 565或444或332),驱动能力为176行,396列(132*RGB)输出. PCF8837的特点是有内部集成驱动电源功能模块及OPT功能模块,具备内部DC-DC升压、变换及电压、帧频率温度补偿电路,可以通过软件管理驱动电源的工作 ,并有灵活的串口和并口连接方式、矩阵式存储器管理以及由此带来的方便的图像管理功能、区域滚动模式
[单片机]
STM32比51单片机有什么优点的汇总
STM32 8051 内核 Cortex-M3,32Bit@72MHz 51 Core,8Bit@2MHz Max(分频后) 1.25DMIPS 0.06DMIPS 地址空间 4GB 64KB 片上存储器 ROM:20K-1MB 2K-64K RAM:8K-256K 128B-1K 外设 AD,DA,Timer,WWDG,IWDG, 三个定时器和一个串口 CRC,D虎害港轿蕃计歌袭攻陋MA,IIC,SPI,USART等 开发工具 UV4,更高级,且有标准C编译器 UV2,比较早了 操作系统 uClinux,uC/OS 基本不要想跑OS了. 优点多了去了,除了硬件上的优势外,我觉得最大的不同就
[单片机]
MCS-51单片机内部结构——CPU结构 单片机原理学习笔记(二)
CPU结构 8051内部CPU是一个字长为二进制8位的中央处理单元,也就是说它对数据的处理是按字节为单位进行的。与微型计算机CPU类似,8051内部CPU也是由算术逻辑部件(ALU)、控制器(定时控制部件等)和专用寄存器组三部分电路构成。 1.算术逻辑部件 8051的算术逻辑部件ALU是一个性能极强的运算器,既可以进行加、减、乘、除四则运算,还可以进行与、或、非、异或等逻辑运算,还具有数据传送、移位、判断和程序转移等功能。 8051算术逻辑部件ALU由一个加法器、两个8位暂存器(TMP1和TMP2)和一个性能卓越的布尔处理器组成。虽然TMP1和TMP2对用户并不开放,但可用来为加法器和布尔处理器暂存两个8位二进制操
[单片机]
【51单片机快速入门指南】4.4:I2C 读取HMC5883L / QMC5883L 磁力计
硬知识 摘自《HMC5883L中文规格书》、《QMC5883L Datasheet 1.0》、《QMC5883L寄存器对比及参考设置》、QMC5883L说明文档 —— yedongnan001 简介 HMC5883L 霍尼韦尔 HMC5883L 是一种表面贴装的高集成模块,并带有数字接口的弱磁传感器芯片,应用于低成本罗盘和磁场检测领域。 QMC5883L QMC5883L源于霍尼韦尔的HMC5883L,是一款表面贴装的集成了信号处理电路的三轴磁性传感器,应用场景主要包括罗盘、导航、无人机、机器人和手持设备等一些高精度的场合。 性能对比 操作模式 HMC5883L 连续测量模式 连续测量模式,在客户所
[单片机]