• 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友,商务沟通v:ai_draw
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

51单片机P0口介绍

点滴 admin 10年前 (2013-12-22) 2498次浏览 已收录 0个评论 扫描二维码

P0.0??P0.7是P0口的8位双向口线。第一功能为基本输入输出;第二功能是在系统扩展时,分时做为数据总路线和低8位地址总线。

这里重点介绍一下P0口的结构及其工作过程:P0口的1位(例如:P0.0)结构如图

11.jpg

它由一个输出锁存器、两个三态锁存器(1、2)、输出控制电路(一个非门(3)、一个与门(4)、一个多路控制开关(MUX))、输出驱动电路(两只场效应管Q1、Q2)组成。

功能1:做基本I/O口使用

CPU发出的控制信号为低电平,使多路控制开关MUX接通B端,即与输出锁存器的“!Q”连接,同时使与门输出为低电平,场效应管Q1截止。

当P0输出数据时,写信号加在锁存器的R引脚上,内部总线上的数据通过S脚由锁存器的“!Q”端反相输出到Q2的栅极。若内部总线上数据为1,则Q2栅极上为0,此时Q2截止,Q2处于漏极开路的开漏状态,因此为了保证P0.0输出高电平,必须外接上拉电阻,否则P0端口不能正常工作51单片机P0口介绍!若内部总线上数据为0,则Q2栅极为1,此时Q2导通,P0.0输出低电平。

当P0输入数据时,分为读引脚和读锁存器两种方式,分别用到两个输入缓冲器。

读引脚操作,即单片机执行端口输入指令(如MOV A,P0)时的操作。这时由“读引脚”信号将三态缓冲器2打开,引脚上的数据经三态缓冲器2输入到内部总线。

读锁存器操作,即单片机执行“读?修改?写”类指令(如ANL A,P0)时的操作。在执行这类指令时,由“读锁存器”信号使三态锁存器1打开,读入P0口在锁存器中的数据,然后与累加器A中的数据进行逻辑运算,再反结果写回到P0口。这类操作不直接从P0口引脚上读入数据,而是从锁存器Q端读数据,其目的是为了防止出错,确保得到正确结果

功能2:系统扩展时分时做为数据总路线和低8位地址总线

此时控制信号为高电平,多路转换开关MUX接通A端,且与门的输出由“地址/数据”端的状态决定。

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址