并行I/O口

开篇

MCS51单片机有4个8位的并行I/O端口,分别为P0、P1、P2、P3。
每个端口都包括一个同名的特殊功能寄存器、一个输出驱动器和输入缓冲器。

讲解顺序为 P1–> P3 --> P0 --> P2

P1口

P1 口具有通用I/O口方式,可实现输出,读引脚(输入)和读锁存器三种功能。

输出方式:

单片机执行写P1口的指令(就是你的C51程序命令),如果你让某位的数据为1,根据高1低0,那么可判断输出为高电平,反之为低电平。 (详解:如果某位的数据为1,则该为锁存器输出端Q=1–>-Q=0 --> V截止,从而在引脚上P1.n 上输出高电平。)
并行I/O口_第1张图片

读引脚方式:

在读引脚之前,为了防止V接通零线变成低电平,所以在读引脚之前,必须先用输出指令置Q=1,_Q为0让V截止。以免出现外面(输入的数据)是高电平,读进来是低电平。
解释完这里,输出方式那里也是融会贯通了。
并行I/O口_第2张图片

因为P1口作为输入口时是有条件的(要先写1),而输出时是无条件的,因此,被P1口被称为准双向口。

读锁存器:

并行I/O口_第3张图片

P3口

P3口的特点:

除通用的I/O口功能外(P1口的功能),还能实现第二功能口功能。
并行I/O口_第4张图片
P3口作为准双向通用口,作为通用输入口时应先先使P3.n–>1 ,作为通用输出口时应先使第二输出 端–>1.

P0口

P0口的功能:

在CPU控制信号的作用下,可以作为通用的I/O口进行数据的输入输出,也可以作为单片机系统的地址/数据线使用。
并行I/O口_第5张图片
作为通用I/O口使用:CPU使控制端保持“0”电平
并行I/O口_第6张图片

P0口的重点:

科普:漏极开路输出一般情况下都需要外接上拉电阻,才能输出高电平。

在使用I/O口功能时,为了能正常改变电平的变化,需要外接一个上拉电阻。地址/数据分时复用方式时无需外接上拉电阻;

P0口具有地址/数据分时复用方式,可实现地址/数据输出、数据输入两种功能;

分时复用方式的数据输入时无需程序写1操作。

P2口

并行I/O口_第7张图片

P2口的功能特点

并行I/O口_第8张图片

与P1口相比就多了数据控制单元、一个多路开关MUX。P2可以实现通用I/O口和地址输出两种功能。

工作方式:

用作通用I/O口时,在“控制端”的作用下,多路开关向下打连接至锁存器实现通用功能。

并行I/O口_第9张图片

注意:用作通用I/O口时,P2口无需外接上拉电阻。

用作地址输出时,MUX在CPU的控制下转向“地址线”一端,使“地址端”信号与P2.n电平同 相 变化。
在这里插入图片描述

总结

1.P0~P3口 都可作为准双向通用I/O口;
2.其中只有P0口需要外接上拉电阻;
3.在需要扩展片外设备时,P2口可作为其地址线接口;
4.P0口可作为其地址线/数据线复用接口,此时它是真正的双向口。

你可能感兴趣的:(单片机原理及其应用,单片机,嵌入式,c语言)