8051单片机具有40个引脚,包括四个I/O端口。8个引脚用于特定目的,而32个引脚用作输入/输出引脚,以将单片机与外围设备连接。每个PORT是8位的,可以配置为输入或输出端口。
一个端口通常是一组八个引脚,我们称它们为IO,因为我们可以配置它们的输入或输出。8051具有四个GPIO端口,每个端口具有八个引脚,而每个引脚可能具有一个或多个功能。下图中为8051单片机的IO端口的PIN图:
一、8051单片机的输入输出端口说明
8051单片机的端口0:
现在让我们看一下IO端口0端口0是8个开漏双向IO端口。端口0是8个开漏双向IO端口,开漏仅表示连接到Gnd的晶体管。双向意味着该端口可以配置为输入或输出。P0寄存器用于访问PORT0。如果某些寄存器可以位访问,则该寄存器是位访问的。这意味着我们可以访问该寄存器的各个位。将1写入P0寄存器的某位将配置相应的引脚为输入,而写入0则将其配置为输出。默认情况下,每个引脚都配置为上电输入。
P0包括引脚(32-39)。它是具有一些替代功能的I/O端口。
(1)当外部存储器与单片机一起使用时,低地址字节(地址A0-A7)被施加到P0上。如果不使用外部存储器,则将P0的所有位都配置为用于I/O。
(2)P0不包含内置上拉电阻。
1.如果将此端口的任何引脚配置为输入,则它会“浮动”,并且输入具有无限的输入电阻和不确定的电位。
2.当该端口的任何引脚配置为输出时,它将充当“漏极开路”。如果端口位设置为逻辑0,则该引脚将接地(0V)。如果为端口位提供逻辑1,则外部输出将保持“浮动”状态。因此,要在该输出引脚上施加逻辑1(5V),必须连接一个外部上拉电阻。
我们可以编写一些简单的代码来测试端口0,我将PORT0的低四位配置为输入,将高四位配置为输出,无论我将在低四位上应用什么输入,都应在高四位上显示。让我们将端口0的低4位配置为输入,将高4位配置为输出如前所述,为了将P0的某些引脚配置为输入,我们将1写入P0寄存器的相应位。 由于现在我们必须将P0的低四位配置为输入,因此我们写入1来为四位供电。为了将P0的高四位引脚配置为输出,我们将0写入P0寄存器的所有高四位,以十六进制表示,它将变为0x0F。(P0 = 0X0F)
8051单片机的端口1
P1包括引脚(1-8)。它是一个I/O端口,没有其他功能,仅配置为常规I/O用途。P1包含内置上拉电阻,并且与TTL电路兼容。
8051单片机的端口2
P2包括引脚(21-28)。当外部存储器与单片机一起使用时,它是一个I/O端口,除了P1以外,它还具有其他功能,用作端口0,然后将较高的地址字节(地址A8-A15)施加到P2上。当不使用外部存储器时,P0的所有位都被配置为I/O目的。
现在,我们将通过有趣而简单的示例来查看端口1和端口2。 两个端口均为8位宽,双向且具有内部上拉电阻。但是端口1和端口2 都不需要任何上拉电阻,因为两个端口都已经具有内部上拉功能。向端口的每一位写入1会将端口配置为输入,而写入零会将其配置为输出。向端口的每一位写入1会将端口配置为输入,而写入0则将端口配置为输出。默认情况下,两个端口均配置为上电输入。
8051单片机的端口3
P3包括引脚(10-17)。这是具有不同功能的I/O端口。要使用替代功能,必须将逻辑一(1)应用于P3寄存器的相应位。在硬件方面,该端口与P0相似,但包含内置上拉电阻。
二、输入输出端口8051单片机的PIN配置设置
输入:引脚配置为1。
对于输出:引脚被配置为0用于输出。
当前限制:
1.当引脚配置为输出时,单个引脚可以接收10mA的电流。当引脚配置为输入时,内置的上拉电阻会提供非常弱的电流,但最多可以处理4个TTL输入。
2.如果端口的所有8位都处于活动状态,则总电流必须限制为15mA。但是对于端口0,它可以高达26mA(端口P0:26mA)。
3.如果所有4个端口(32位)均处于活动状态,则总电流必须限制为71mA。
以上就是英锐恩单片机开发工程师分享的8051单片机I/O口说明与引脚配置。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机、运放芯片和模拟开关。