51单片机并行I/O口工作原理
51单片机并行I/O口工作原理
在51单片机之外部引脚及总线接口篇 中已经介绍了4组由8各个为一组的通用寄存器
P1: 仅作为双向I/O口
该电路图的功能就是当内部总线输入0或者1时,P1.x可以输出相对应的高电平或者低电平
1、当进行写操作时,以内部总线输入0为例,即D为0,Q为0,Q反为1,则此时V1为高电平,导通,所以VCC与GND相连,无压降,P1.x输出低电平。同理可知内部总线输入1时,P1.x输出高电平,如下图:
2、当进行读操作时,前提是要V1断开,所以要在读操作之前先输出1,然后才能进行读操作
P3: 做为双向I/O口,同时还有第二功能
做为I/O口使用同P1原理相同,不在赘述
当做为第二功能使用时:
当进行写操作时,Q自动输出为1,此时,当第二功能输出为1时,经过与非门后为0,V1不导通,所以P3.x输出为高电平。同理当第二功能输出为0时, P3.x输出为低电平。
当进行读操作时,同P1口类似,唯一的区别在于接收第二功能输入 的信号。
P2: 双向I/O口和高8位地址线,与P1的结构相比多了一个数据选择器MUX和一个反相器
I/O功能和高8位地址线功能的选择就是通过数据选择器MUX进行的,由上图我们可以看出:
当控制这个引脚输入为0时,与下面相连,此时为普通双向I/O功能;同P1、P3原理相同
当控制这个引脚输入为1时,与上面相连,此时作为高8位地址功能;当地址 这个引脚输入1时,经过取反为0,V1断开,P2.x输出高电平。反之输出低电平。
P0: 双向I/O口、地址分时复用口、数据分时复用口
上图中有一个蓝色的电阻,表示在使用时需要自己外接一个电阻
当使用普通双向I/O功能时:原理与前面相同
当使用地址、数据功能时:
当地址/数据 引脚输入0时,经过4以后V2断开,经过3以后V1导通,此时P0.x输出低电平
反之输入高电平
PS: