文档介绍:MCS-51单片机的输入/输出端口
主要内容
1 P1口 2 P2口
3 P3口 4 P0口
5 端口的负载能力
和接口要求
I/O口概述
MCS-51单片机的4个8位端口:
均可作一般I/O口,都是准双向口。
每个端口都可以按位作输入或输出
端口结构:每个端口都有一个(1)输出锁存器;(2)输出驱动器;(3) 输入缓冲器。
输出时锁存数据,输入时数据缓冲。
4个端口的差别:功能不尽相同、内部结构有区别
1 P1口
P1口是唯一的静态准双向口,用作通用I/O口。
P1口的结构:主要由(1)输出锁存器;(2)输出驱动器(场效应管FET);(3)两个三态缓冲器;(4)端口上拉电阻(实为FET)等部分组成。
P1口相对来说是最简单的,其电路结构如图2-10所示。
P1口
读引脚
内部总线
写锁存器
DQ
锁存器
CL Q
Vcc
读锁存器
T
图2-15 P1口某一位的原理结构
R
1
2
引脚输入
缓冲器
输出驱动器
上拉电阻
输出锁存器
端口输入
缓冲器
P1口
一、P1口输出
输出1:将1写入P1口某一位的锁存器,使输出驱动器的场效应管T截止,该位的引脚由内部上拉电阻拉成高电平,输出为1。
输出0:将0写入锁存器,使场效应管导通,则输出引脚为低电平。
不需要外接上拉电阻:因P1口内各位有上拉电阻,所以在输出高电平时,能向外提供拉电流负载。
1 P1口
二、P1口输入
输入通道建立:当P1口的某位用作输入时,该位的锁存器必须锁存输出1(该位先写1),使输出场效应管T截止,才能够正确输入。
输入:这时从引脚输入的值决定于外部信号的高低,引脚状态经“读引脚”信号打开的三态缓冲器2,送入内部总线。
1 P1口
准双向口特点
输入时必须向对应位先写1:因为有可能前面的操作使引脚输出0,场效应管T处于导通状态,引脚被箝位为0,这样,不管外部信号为何状态,从引脚输入的永远为0,不能够正确输入。
单片机端口输入前必须先向端口输出1这种特性,称为准双向口。
MCS-51单片机的P0~P3口作为通用I/O口使用时,都是准双向口。
1 P1口
三、P1口作“读—修改—写”操作
“读—修改—写”操作概念:在CPU执行某些指令时,需要先从P1口读入数据,经过某些操作后,再从P1口输出,这样的操作称为“读—修改—写”操作。
例如:指令“INC P1”,其操作先把P1口原来的值读入(读入的是锁存器中的值,而不是引脚的值),然后加上1,最后把结果再从P1口输出。
表2-7给出了P0~P3口所有的“读—修改—写”指令。
1 P1口
表 Px口的“读—修改—写”指令
助记符
功能
实例
INC
增1
INC P0
DEC
减1
DEC P1
ANL
逻辑与
ANL P2,A
ORL
逻辑或
ORL P3,A
XRL
逻辑异或
XRL P1,A
DJNZ
减1,结果不为0转
DJNZ P2,LABEL
CPL
位求反
CPL
JBC
测试位为1转并清0
JBC ,LABEL
2 P2口
P2口是一个双功能口,一是通用I/O口,二是以总线方式访问外存时的高8位地址口。
端口结构:与P1口的结构类似,但比P1口多了一个多路切换开关MUX和反相器3。
读引脚
内部总线
写锁存器
读锁存器
1
2
Vcc
T
R
MUX
地址
控制
3
DQ
锁存器
CL Q