1. 单片机AT89S52的p0,p1,p3管脚都是干什么的
AT89S52单片机的P0口是一个8位漏极开路的双向I/O口。作为输出口时,每位可以驱动8个TTL逻辑电平。若对P0端口写入“1”,该引脚将处于高阻抗输入状态。在访问外部程序和数据存储器时,P0口用作低8位地址/数据复用,此时该口具有内部上拉电阻。在进行flash编程时,P0口用来接收指令字节;在程序校验时,则输出指令字节,此时需要外部上拉电阻。
P1口是一个带有内部上拉电阻的8位双向I/O口,其输出缓冲器能够驱动4个TTL逻辑电平。若对P1端口写入“1”,则内部上拉电阻会将端口拉高,此时可以作为输入口使用。作为输入时,如果被外部拉低的引脚由于内部电阻的原因,会输出电流(IIL)。此外,P1.0和P1.2分别作为定时器/计数器2的外部计数输入(P1.0/T2)和触发输入(P1.1/T2EX)。P1口在flash编程和校验时接收低8位地址字节。
P2口同样是一个带有内部上拉电阻的8位双向I/O口,其输出缓冲器能够驱动4个TTL逻辑电平。当对P2端口写入“1”时,内部上拉电阻会将端口拉高,此时可以作为输入口使用。作为输入时,被外部拉低的引脚由于内部电阻的原因,会输出电流(IIL)。在访问外部程序存储器或使用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2口送出高八位地址。此时,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。P2口在flash编程和校验时接收高8位地址字节和一些控制信号。
P3口也是一个具有内部上拉电阻的8位双向I/O口,其输出缓冲器能够驱动4个TTL逻辑电平。当对P3端口写入“1”时,内部上拉电阻会将端口拉高,此时可以作为输入口使用。作为输入时,被外部拉低的引脚由于内部电阻的原因,会输出电流(IIL)。P3口作为AT89S52特殊功能(第二功能)使用,具体功能如下表所示。在flash编程和校验时,P3口也接收一些控制信号。