8051单片机的4个I/O口主要有P0、P1、P2、P3。P0口下拉能力较强;P3口有较多的复用功能;P0、P1口当访问外部存储器时可做为DB和AB口,P2口一般做为通用IO口使用。P1,P2,P3具有内部上拉双向输出IO口,P0口无内部上拉电阻为开漏输出,如果做为普通IO口使用,除P0口需要外加上拉电阻,其功能一致。P3口一般都具有第二功比如外部中断,串口等。。。在单片机内部存储器不够用时P0和P2口做为数据总线接扩展芯片用来扩展存储器。
51单片机的学习主要是在于教学应用,所以建议在学好51的基础上学点其他的单片机,例如:STM32以及ARM。
P0口下拉能力较强;P3口有较多的复用功能;P0、P1口当访问外部存储器时可做为DB和AB口,P2口一般做为通用IO口使用。详见51单片机的引脚结构图。
个人感觉51:引脚驱动能力不足;复用功能不强,不具备AD转换、模拟比较、硬件PWM等功能;采用CISC而不是RISC指令集;功耗较大;不具备在线仿真功能;FLASH存储器容量不足;通信只具有USART;8位机。
综上,51实属教学类芯片,如为应用而学,建议放弃。从微控制器的角度可学AVR,从微处理器的角度可学ARM,从逻辑处理角度可学FPGA。
个人意见,仅供参考