P0口是双向三态I/O口,双场效应管(FET)互推输出,无上拉电阻,要输出高电平需要外接上拉电阻;P2口是准双向三态I/O口,单场效应管(FET)加上拉电阻输出,要输入高电平需要先向端口写1。
1,P0是OC输出,作为IO 口使用时必须接上拉电阻,而P2口不用。2,P0口驱动能力比p2口大。
当做IO口时,区别不大,就是P0需要接上拉电阻。
当做总线时,用途就明显不同了,就是:
P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据总线。
相同点:既可以作为通用I/O口进行数据输入输出,也可以作为单片机地址数据线使用。
不同点:P0口作为I/O输出时,是漏极开路电路,必须外接上拉电阻才能有高电平输出,而
P2口内部本来就有上拉电阻,不需要再接上拉电阻。
令外:P0口的驱动能力是P2口驱动能力的两倍。