MCS-51单片机具有4个8位的端口,分别为P0、P1、P2、P3。P0、P2口除具有一般I/O口的功能外,P0口在扩展外部程序、数据存储器时具有数据总线和低8位地址总线的功能,P2口在扩展外部程序、数据存储器时具有高8位地址总线的功能;P1口为一般的I/O口;P3口具有一般I/O口和如表1所示的特殊功能。
表1 P3口的特殊功能
MCS-51集成的外围接口包括定时/计数器,串行通信接口。定时/计数器T0、T1可分别定义为定时和计数模式,计数器长度可定义为8位、13位和16位。T1还可定义为串行通信的波特率发生器。串行通信接口可实现全双工的通信,除了8个数据位的异步通信格式外,还可定义为9个数据位的1点对多点的通信模式。
MCS-51具有5个中断源,分别为:外部中断0(入口地址0003H),定时器0(入口地址000BH),外部中断1(入口地址0013H),定时器1(入口地址001BH),串行通信(入口地址0023H)。
MCS-51的最大优点是在集成了外围接口的同时,保持了良好的可扩展性,通过P2口,可产生外部地址总线的高8位,而P0口用时分的方法产生外部地址总线的低8位和外部数据总线。8031采取了程序存储器和数据存储器独立的寻址方法,寻址范围各64K,而I/O访问采用了存储器统一编址的方法。
MCS-51具有很大的灵活性,当内置存储器和外围设备能满足系统的需要时,仅用一个单片即可实现1个系统,当内置的资源不足以实现1个系统时,可通过P0、P2口做系统扩展。图2为89C51通过扩展方式实现的最小系统电原理图,通过P0、P2口产生8位数据总线和16位地址总线。
图2 89C51的最小系统电原理图
图中利用74LS373分离地址数据信号,此系统提供了扩展外围设备必须的8位数据总线、16位地址总线、读写信号、中断申请信号,并提供了1个并行接口(P1口)和定时器、串行通信接口所需的信号。