51 单片机的 P0 口

发布者:iota19最新更新时间:2018-05-07 来源: eefocus关键字:单片机 手机看文章 扫描二维码
随时随地手机看文章

P0 口内部的电路图,并不是人人都可以看懂的,很多人都要看文字说明。

但是,有些说明写的,很是差强人意,接口电路的基本功能特点,往往都解释错了。


在单片机的外部扩充存储空间时,有一种三总线方式,此时,P0 口,将负责对外部芯片传送数据和低八位地址。

这时,P0 口就是以三态门的特点来工作,即可以输出高、低电平,还可以切断与外界的联系,在引脚上呈现“高阻态”。


就目前来看,绝大部分单片机系统都不使用三总线形式来扩充外部空间了,三态门的现象,基本上,已经看不到了。


现在一般都是把 P0 口当一般的 IO 接口来使用。此时,P0 口就只有两种状态:输出低电平和高阻态。

想要让 P0 口输出 1,单片机就没有这种能力了。

----------------------

在英文版的 AT89C51 的数据文件中,节选一段关于 P0 的文字如下:


Port 0

Port 0 is an 8-bit open drain bidirectional I/O port. 

As an output port, each pin can sink eight TTL inputs. 

When 1s are written to port 0 pins, the pins can be used as high-impedance inputs.


Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to external program and data memory.

In this mode, P0 has internal pull-ups.


利用网上的翻译软件,把它们译成中文,再简单整理如下:


P0

P0 是一个 8 位漏极开路双向 I/O 端口。

作为一个输出端口,每个引脚可以吸收 8 个 TTL 输入。

当把 1 写入 P0 引脚,这些引脚可以用作高阻抗输入。


在访问期间外部程序和数据存储器期间,P0 也可以被配置为复用的低位地址/数据总线。

在这种模式下,P0 具有内部上拉。

----------------------

在上述的数据文件中,已经明确说明,P0 口的引脚,是“开漏”的。

P0 可以输出低电平,驱动 8 个 TTL 器件的输入引脚。令 P0 输出 1,它只能当做高阻的输入端,而输出不了 1。

只有在访问期间外部程序和数据存储器时,引脚内部才有上拉的功能,这时才是“三态门”。

----------------------

问题一:http://zhidao.baidu.com/question/2052001422785793947.html

看到一片文章里写的

http://wenku.baidu.com/view/5f9099c5aa00b52acfc7ca64.html

“P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。”

不太明白。从图中看出P0要是不置位的话,T2就会导通了。输入信号不都变成0了吗?


做而论道回答如下:

首先,《P0端口由于输出有三态功能,》这句话,就是错误的。

作为 IO 口使用时,P0,只有输出0 和高阻态,两种,并不能输出1,谈不上三态。

《P0端口由于输出有三态功能,》这句话,用在总线方式,还可以;

但是,总线方式,就和《先写入1再读》毫无关系了。

--------------

第二,《输入前,端口线已处于高阻态》这句话,只是作者自己的臆想而已。

输入前,如果输出了0,显然就不是高阻态。


--追问:

--读锁存器,是不是先会将引脚信号通过D锁存后,再关闭引脚,然后再读锁存器啊。

--如果不是的话,那图中进入总线的输入信号从 何而来呢?

 

做而论道回答:

读锁存器,就是读先前曾经输出的内容,和引脚无关。

读锁存器,用的是一些特殊的指令,即称为《读_改_写》的指令。

比如:ANL   P0, #0FH。

这条指令,自动打开图中上边的三态门,信号由 D 经过三态门,流动到内部总线(如粗红线所示);

再和 0FH 相与之后,再写入锁存器;

最后输出到 P0 引脚。


--追问:

--谢谢详细解答~~。另外,有些不解的是:

--读锁存器,是 属于'输入'的情况吗?

--如果是,那输入的信号只能从下面的”缓冲器“部分进来啊。要不然,读的是以前的信息,跟外部信息 没有关系啊。


做而论道回答:

前面已经说过了:读锁存器,就是读先前曾经输出的内容,和引脚无关。

《读_改_写》指令,如:ANL   P0, #0FH

这里的 P0,并非是马上,去读一下引脚的信号,而是读锁存器,也就是读出以前曾经输出的。


关键字:单片机 引用地址: 51 单片机的 P0 口

上一篇:51 汇编语言编程:走道灯控制程序
下一篇:51 单片机串口的扩充方法

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

调试好的nRF24L01库文件 单片机源程序
单片机源程序如下: #include nRF24L01Drv.h #include USART.h #include stdio.h #include config.h #include intrins.h #include spi.h /** * 1.改多路方法: * NUM_USED_PIPE 改为使用的路数, RX_ADDRESS 分别指定 RX的地址, * RX_PLOAD_WIDTH 改为每一路的PAYLOAD * NRF24L01_RxPacket 里面知道是哪一路在接收 * * * 2. 发送时自动将CONFIG 备份,然后切换TX后再切换回去 * 并且备份RX_ADDR_P0 * * 3. 通道0,
[单片机]
msp430单片机应用之定时器、PWM、比较器
1。定时器使用查询和中断两种方式。大多数逻辑芯片输出0的能力大于输出1的能力。 (1)查询方式:TMSEL决定看门狗的工作模式,置一,看门狗工作在定时模式。SSEL选择看门狗定时器的时钟源。SSEL置一。IS0IS1决定了看门狗定时器的输出频率。(注意:使用查询方式时候要清除中断标志) main() { ... while(True) { if(IFG1&0x01) { P1OUT ^= 0x01;//翻转状态 IFG &=0xfe;//清除中断标志位 } } } (2)中断方
[单片机]
基于单片机C8051F060的智能功率柜
摘要:简要介绍了智能励磁功率柜的概念及C8051F060单片机的特点,详细论述了基于C8051F060的智能励磁功率柜的结构、原理以及与CAN总线通信的实现方法。该控制方案系统集成度高、硬件简单、工作可靠,具有很好的推广价值。 关键词:C8051F060 微控制器 CAN 现场总线 励磁 1 引言 随着发电机容量的不断增大,对励磁系统的要求越来越高。国内目前使用的各类励磁调节器都非常先进,但功率柜的制造水平却不尽如人意,这势必影响励磁系统整体性能的提高进而妨碍整体发电系统性能的提高。 目前,国产的励磁功率柜普遍存在检测功能不全、信息传送技术、控制和检测技术落后等问题。为了解决这一问题,本文给出了通过采用高集成度单片机C8
[应用]
51单片机实验】4-单片机定时/计数器的应用
一、实验目的 1.掌握51单片机定时/计数器的应用设计 2.掌握查询方式和中断方式定时的设计和编程 3.熟悉中断应用程序的调试以及软硬件联合调试的方法 二、实验设备 1.微机一台,Keil C集成开发环境 2.DP-51PRO.NET综合实验箱 3.Proteus仿真软件 注:本实验报告采用的单片机为AT89C51,1、2题晶振频率为1MHz,3题晶振为12MHz 三、实验内容 1、51单片机的P1.0接一个发光二极管,定时/计数器T0的方式1产生500ms的定时,在P1.0上输出周期为1s的方波。设单片机的晶振频率为1MHz。(采用查询方式延时实现定时功能) 程序及必要的注释: /*采用查询方
[单片机]
【<font color='red'>51</font><font color='red'>单片机</font>实验】4-<font color='red'>单片机</font>定时/计数器的应用
基于单片机的电动汽车多功能充电系统设计
   引言   由于石油危机和日益严重的环境污染,电动汽车发展已经是大势所趋。蓄电池为电动汽车提供动力,而蓄电池充电性能直接影响蓄电池的使用和寿命,蓄电池一般分为铅蓄电池、镍镉电池、镍氢电池和锂离子电池。由于蓄电池种类繁多且容量不一,不同种类和容量的蓄电池往往需要不同的充电器匹配,如果蓄电池的充电器匹配不好会出现过充过热等不安全现象,从而影响蓄电池的正常使用并缩短蓄电池寿命。因此,设计一款基于单片机控制的能为各类蓄电池充电的多功能充电系统是十分必要的。多功能充电系统能快速稳定地为不同类型和不同容量的蓄电池充电,我们在软件上针对不同类型的蓄电池设计了相应的充电方法,使每种蓄电池都能在最佳充电方法下充电。对于不同容量的蓄电池,在
[单片机]
基于<font color='red'>单片机</font>的电动汽车多功能充电系统设计
基于单片机的简易信号源设计
1. 引言 信号发生器在教学、试验、测控等各个领域有十分广泛的应用,其输出信号的频率范围覆盖了各个频段,从甚低频到甚高频,操作方式也从手动旋钮到程控,产生的波形从传统的正(余)弦波和脉冲波形,发展到现在能产生各种任意波形。以前的信号发生器往往独占一个机箱,而现在的一些应用中,它只是一块插在计算机中的扩展卡,还有一些信号发生器设计成一个独立的小模块,通过RS-232C或RS-422,RS-485等串行总线和计算机连接。 其实,在许多固定的控制应用中,只要求信号发生器产生单一波形,或可数的几个波形。如果仅仅要求产生单一的正(余)弦波或者脉冲波形,可以利用传统的振荡器电路。当信号频率有所选择时,问题仍然比较简单。但若产生
[单片机]
基于<font color='red'>单片机</font>的简易信号源设计
IU86751低空载电流,40倍增益免滤波,2X28W双声道或50W音频放大器
IU86751E是一款2x28W立体声;在单声道使用的情况下;最高可输出50W高效D类音频功率放大电路。先进的EMI抑制技术使得在输出端口采用廉价的铁氧体磁珠滤波器就可以满足EMC要求。IU86751E音频功率放大器是为需要输出高质量音频功率的系统设计的,它采用表面贴装技术,只需少量的外围器件,便使系统具备高质量的音频输出功率。 IU86751E内置了过流保护,短路保护和过热保护,有效的保护芯片在异常的工作条件下不被损坏。IU86751E可以驱动低至4Q负载的扬声器,最高可提供50W的连续功率;IU86751E具有高达92%的效率,使得在播放音乐的时候不需要额外的散热器。 较大的电源电压范围5V~20V,效率高达92%,无
[嵌入式]
IU867<font color='red'>51</font>低空载电流,40倍增益免滤波,2X28W双声道或50W音频放大器
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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