找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4043|回复: 3
打印 上一主题 下一主题
收起左侧

单片机P0口什么时候工作在总线模式啊

[复制链接]
跳转到指定楼层
楼主
ID:183466 发表于 2017-11-28 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我知道51单片机P0工作在I/O方式的时候需要上拉电阻,工作在总线的时候不需要,那么我想问怎么区分这两种模式,从程序中还是什么
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:254759 发表于 2017-11-28 17:11 | 只看该作者

P0 口是一个8位的三态双向数据总线口,可作为通用IO接口使用,也可作为地址数据线分时复用口使用。它由一个输出锁存器,两个三态输入缓冲器,一个转换开关MUX,一个输出驱动电路(TI 和T2),一个与门及一个非门组成。锁存器起输出锁存作用。两个三态输入缓冲器分别由“读引脚”和“读锁存器”两个不同的控制信号控制,场效应管T1 T2组成输出驱动器,与非门及转换开关构成输出控制电路。
P0口的工作方式由片内"控制"信号进行转换;
当控制信号等于0时,MUX转向D锁存器的反相输出端,P0作为通用IO口。
当“控制“信导等于1时,MUX转向上方,P0口作为地址/数据线时分复用口。


转换开关(p0口的工作方式)的“控制“号是由硬件根据操作指令自动产生。


P0口既可以作为地址放据分时复用总线口,此时是一个真正的双向口,也可以作为通用
的IO接口,但只是一个准双向口。准双向口工作的特点是当复位时,口锁存器均置1,8
根引牌可当一般引脚线使用,而在某引脚由原输出状态变为输入时则应先写人1,以免错读引御上的信息,此外,还可以通过“读一修改一写”类指令对端口实行“读一改一写”操作。
P0 口在实际应用中,一般情况下都是作为单片机系统的地址/数据分时复用总线口使
用的,这时PO口就不能再作1O口使用了。在作地址/数据分时复用总线口使用时,它分
时输出低8位地址和传送数据信息,其输出的低8位地址要片外领存,常用的办法是低8
位地址与ALE信号配合于以实现。
回复

使用道具 举报

板凳
ID:123289 发表于 2017-11-29 13:17 | 只看该作者
早期P0口是作总线用的,后来程序存储器、内存都做在单片机内部了,就不需要作总线用了。
可是某的单片机的内部程序或内存小了,不哆用又需要在外面扩充,就时就又需要P0作总线用了。
对于程序区,当程序运行超出单片机内部最大地址时,P0自动转为总线用;
对于内存,当用MOVX指令时,且地址也超出单片机内部的最大地址内存地址时,P0自动转为总线方式。
现在多半不作总线用了,因为几乎无须再外接存储器了,因为你可以根据需要选择不同的单片机青型号来解决这个问题,所以极少再将P0作总线用了。
回复

使用道具 举报

地板
ID:111634 发表于 2017-11-29 16:00 | 只看该作者
由CPU根据操作指令自动控制,不需用户考虑。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表