2-2 8051的输入/输出口
MCS-51迷人的地方之一,就在于其四个输入/输出口!这四个看似相同的输入/输出口其实还是有点差异的,说明如下。
Port 0
Port 0为8位、可位寻址的输入/输出端口。以直插式封装的8051为例,P0.0为39脚,P0.1为38脚……P0.7为32脚,它的内部结构如图2-5所示。
Port 0的特点说明如下:
● Port 0的8位都是漏极开路输出(open drain,简称OD),而每个引脚可驱动8个LS型TTL负载。
● Port 0内部无上拉电阻,作为输出功能时,外部必须接上拉电阻(10k即可)。
● 若要作为输入功能,必须先输出高电平(1),才能读取该端口所连接的外部数据。
● 若系统连接外部存储器,则Port 0可作为地址总线(A0~A7)及数据总线(D0~D7)的多任务复用引脚。
Port 1
Port 1为8位、可位寻址的输入/输出端口,以直插式封装的8051为例,P1.0为1脚,P1.1为2脚……P1.7为8脚,它的内部结构如图2-6所示。
Port 1的特点说明如下:
● Port 1内部具有约30k上拉电阻,作为输出功能时,不用连接外部上拉电阻。
● Port 1的8位类似漏极开路输出(OD),每个引脚可驱动4个LS型TTL负载。
● 若要作为输入功能,必须先输出高电平(1),才能读取该端口所连接的外部数据。
● 若是8052/8032,则P1.0兼具有Timer 2的外部脉冲输入功能(即T2),P1.1兼具有Timer 2的捕获/重新加载的触发输入功能(即T2EX)。
Port 2
Port 2为8位、可位寻址的输入/输出端口。以直插式封装的8051为例,P2.0为21脚,P2.1为22脚,……P2.7为28脚,它的内部结构如图2-7所示。
Port 2的特点说明如下:
● Port 2内部具有约30k上拉电阻,作为输出功能时,不用连接外部上拉电阻。
● Port 2的8位类似漏极开路输出(OD),每个引脚可驱动4个LS型TTL负载。
● 若要作为输入功能,必须先输出高电平(1),才能读取该端口所连接的外部数据。
● 若系统连接外部存储器,而外部存储器的地址线超过8位时,则Port 2可作为地址总线(A8~A15)引脚。
Port 3
Port 3为8位、可位寻址的输入/输出端口。以直插式封装的8051为例,P3.0为10脚,P3.1为11脚,……P3.7为17脚,它的内部结构如图2-8所示。
Port 3的特点说明如下:
● Port 3内部具备约30k上拉电阻,作为输出功能时,不用连接外部上拉电阻。
● Port 3的8位类似漏极开路输出(OD),每个引脚可驱动4个LS型TTL负载。
● 若要作为输入功能,必须先输出高电平(1),才能读取该端口所连接的外部数据。
● Port 3的8个引脚各有第二功能,如表2-4所示。