(3) 输入/输出引脚 P0.0- P0.7、P1.0-P1.7、P2.0-P2.7 和P3.0-P3.7
① P0端口(P0.0-P0.7) P0是一个8位漏极开路型双向I/O端口。作为输出口用时,每位能以吸收电流的方式驱动8个TTL输入,对端口写1时,又可作高阻抗输入端用。
在访问外部程序和数据存储器时,它是分时多路转换的地址(低8位)/数据总线,在访问期间激活了内部的上拉电阻。
在Flash编程时,P0端口接收指令字节;而在验证程序时,则输出指令字节。验证时,要求外接上拉电阻。
② P1端口(P1.0-P1.7) P1是一个带有内部上拉电阻的8位双向I/O端口。P1的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。作输入口时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
③ P2端口 (P2.0-P2.7) P2是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P2作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16位地址的外部数据存储器(如执行MOVX @DPIR指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行MOVX @RI指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中P2寄存器的内容),在整个访问期间不会改变。
④ P3端口(P3.0-P3.7) P3 是一个带有内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在AT89S52中,P3端口还用于一些专门功能,这些兼用功能见表3-1
表3-1 P3端口功能表
端口引脚
兼 用 功 能
P3.0
RXD (串行输入口)
P3.1
TXD (串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0 ( 定时器0的外部输入)
P3.5
T1 (定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
3.3 8155芯片简介
3.3.1 8155芯片的管脚介绍
(1) 8155采用40脚双列直插式封装,单一+5v电源。
(2) RESET: 复位信号线,高电平有效,在该输入端加一脉冲宽度为600ns 的高电平信号,就可使8155可靠复位,复位时三个输入/输出口预置为输入方式。
(3) 信号的极性而定,8位数据的流向取决于 或 信号的状态。
(5) ALE: 地址锁存器启用信号线,高电平有效,其下降沿把AD0~AD7上的地址,片选信号、IO/ 信号锁存起来。
(6) IO/ : IO和RAM选择信号线,该线高电平选择IO输入/输出,该线低电平选择存储器。
(7) 为低电平,则RAM的内容读至AD0~AD7,如果IO/ 为高电平,则选中的输入/输出口的内容读到AD0~AD7。