单片机IO口结构及上拉电阻 MCS-51有4组8位I/O口:P0、P1、P2和 P3口,P1、P2和 P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线
一、P0口和 P2口 图 1和图 2为 P0口和 P2口其中一位的电路图
由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和 T2)和控制电路
这两组口线用来作为 CPU与外部数据存储器、外部程序存储器和 I/O扩展口,而不能象 P1、P3直接用作输出口
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线
图1 单片机P0口内部一位结构图 图2 单片机P0口内部一位结构图 P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器
二、P1口 图 3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当 0写入锁存器,Q(非)=1,T2导通,输出则为0
图3 单片机P2口内部一位结构图 作为输入口时,锁存器置 1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口
需要说明的是,作为输入口使用时,有两种情况: 1
首 先 是 读 锁 存 器 的 内 容 , 进 行 处 理 后 再 写 到 锁 存 器 中 , 这 种 操 作 即 读 —修 改 — 写 操 作 , 象 J