I/O端口结构及功能
1)MCS-51单片机有4个8位并行I/O端口:P0、P1、P2、P3
2)每个口包含:锁存器、输出驱动器、输入缓存器。
3)具有字节寻址和位寻址功能。
4)在访问片外扩展存储器时,低8位地址和数据由P0口 分时传送,高8位地址由P2口传送。
5)在无片外扩展存储器的系统中,这4个口的每一位均 可作为通用I/O端口使用。在作为通用I/O端口使用时, 这4个口都是准双向口。
由于这些端口在结构上存在有差异,造成了各端口的性质和功能有一定的差异
1.P0口
1.P0口是一个双功能的8位并行I/O端口
1)(当单片机外部扩展存储器或者I/O口的时候)P0口用作系统的地址/数据总线,
当P0口作为总线端口使用时,具有高电平,低电平和高阻悬浮输入三种状态,此时P0口是一个真正的双向口,输出低八位地址和输入输出8位数据
2)当P0口不作为地址/数据输入总线时,也可以作为通用的I/O口使用,此时需要在片外加上上拉电阻,此时端口就不会存在高阻悬浮的状态
P0口做输出口时,内部数据经过锁存器送到P0.0~P0.7上。由于上 管始终截止,而当下管也截止时, P0.0~P0.7被架空,没有标准的高电 平,所以P0口作输出口使用时,必须外接上拉电阻。
P0口作输入口时,P00—P07上的信号经过缓冲器送到内部数据总 线上。在读引脚之前,要先将锁存器置1,否则总是读到0。 2、读操作有2种:读引脚和读—改—写锁存器。
读引脚与读端口操作
1. 读端口操作 读—改—写
2. ANL P1,A
3. INC P1
4. CPL P1.2
5. 1. 读引脚操作
6. MOV A , P1
7. MOV C , P2.2
2.P1口
注意:P1口只能作为通用的I/O口使用
由于P1口内部有上拉电阻,没有高阻抗输入状态,故为准双向口,作为输出口不需要外接上拉电阻,
P1口的读引脚输入时,必须先向P1口的锁存器写入1
当P1口作为输出口时
注意:P1口做输出口时,
内部数据经过锁存器送到P1.0~P1.7上。 内部有上拉电阻,
所以P1口作输出口使用时,不用外接上拉电阻
当P1口直接作为输入口时
1、P1口作输入口时,P1.0~P1.7上信号经缓冲器送到内部DB上。
在读 引脚之前,要先将锁存器置1,否则总是读到0。
2、CPU对P1口读操作有2种:读引脚和读—改—写锁存器。
3.P2口
注意:P2口是一个双功能口既可以用作通用I/O口,又可以用作高八位地址总线(绝大多数情况)
通过内部的控制信号来决定功能的选择,
1)当P2口用作高八位地址总线时,与P0口的低8位地址总线一起构成了16位地址,可用于寻址64KB的片外地址空间;
2)当作为通用I/O口使用时,为准双向口,功能和P1口一样
4. P3口
1)由于51单片机引脚的数量有限,因此在P3引脚处加入了引脚的第二功能,P3口的每一个小口可以分别定义为第二输出功能或者第二输入功能;
2)由于P3口的每一个引脚都有第一功能和第二功能,究竟是用哪一个功能,完全是由单片机执行的指令控制来自动切换的,用户不需要进行任何设置
5.总结