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端写入数据,实现了读-改-写的功能*

51单片机四个并行I/O接口_第1张图片
功能2:作为地址/数据端口

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

P1口

只作为正常的并行I/O接口(原理同P0)
51单片机四个并行I/O接口_第2张图片

P2口

51单片机四个并行I/O接口_第3张图片

P3口

51单片机四个并行I/O接口_第4张图片

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

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

51单片机四个并行I/O接口_第5张图片

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

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

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

51单片机四个并行I/O接口_第6张图片

你可能感兴趣的:(单片机学习笔记,嵌入式,单片机,接口)