51单片机四个并行I/O接口

P0口

功能1:作为正常的并行I/O接口(P1、P2、P3原理相同)

控制端C=0,MUX开关向下。经过与门,T1截止;

P0口作为输出口时
	a. 需要在三极管T2上部添加上拉电阻如图所示;
	b. 内部总线输出数据为1,经过Q非得0,再经过MUX开关,导致T2截止;因为上拉电阻的缘故,P0.n输出为1
	c. 内部总线输出数据为0,经过Q非得1,再经过MUX开关,导致T2导通;因为漏极接地得缘故,P0.n输出为0
	

P0口作为输入口时(分为读引脚/读端口)
a. 读引脚:在读引脚之前需要通过总线向锁存器写1;(目的是使得场效应管T2截止)
	向锁存器写1后:Q非端输出0导致T2截至,引脚P0.n上的数据可以正确的读进数据总线;
	假如没有向锁存器写1:Q非端有可能是1导通T2,T2接地,所以无论P0.n是0还是1,读引脚都得到的数据都是0,因此会发生错误;
b. 读锁存器,又称为读-改-写锁存器、读端口:
	读锁存器Q端的信号到CPU,进行修改,完了之后再通过D端写入数据,实现了读-改-写的功能*

在这里插入图片描述
功能2:作为地址/数据端口

	○ 控制端C=1、MUX开关向上(P0大多数情况是作为地址/数据总线使用的)
		§ 输出数据/地址时:(反相器、T1、T2、与门共同构成推拉电路)
		§ 推拉电路:当地址/数据线=1时,T1导通,经上拉电路P0.n=1
		           当地址/数据线=0时,T2导通,经下拉电路P0.n=0
		§ 输入数据时:依旧走三态输入缓冲器这条路进入数据总线

P1口

只作为正常的并行I/O接口(原理同P0)
在这里插入图片描述

P2口

在这里插入图片描述

P3口

在这里插入图片描述

Q: 什么是读引脚指令呢?

A: P0–P3做源操作数的指令,如下图

在这里插入图片描述

Q:什么是读锁存器指令呢?

A:P0–P3做目的操作数的指令,如下图

将数据从锁存器中读出来--修改一下--再存进锁存器

在这里插入图片描述

  • 11
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡与乌龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值