对于40引脚双列直插51单片机各个引脚功能情况分析。
P0端口一默认是开漏准双向IO口,没有输出没有驱动能力,要做逻辑输出要在外部接上拉电阻。
P0端口除了作为普通的输入输出功能,还可以用来当做数据总线接口或者地址总线,当外面扩展存储器的时候。
P1端口只做普通IO端口使用,内部接上拉电阻。
P2 端口除了普通IO使用,还可以当地址总线使用。
P3端口除了普通IO端口使用,还有特殊的功能,有特殊的寄存器配合使用,
P3.0和P3.1的第二功能是做串口数据的发送和接收,下载程序一般是通过这两个端口。
P3.2和P3.3的第二功能是做外部中断引脚使用,
P3.4和P3.5的第二功能是作为定时器计数输入。
P3.6和P3.7的第二功能是作为外部RAM读写。
EA#引脚作为存储器访问控制信号,接高电平的时候从内部ROM读取程序,接低电平的时候从外部ROM读取程序。
ALE/PROG引脚当接低电平的时候,当用来访问外部存储时用来锁存低位的地址,当不用来访问外部存储时ALE以晶振6分之一的频率输出正向脉冲。当访问外部存储以晶振12分之一输出脉冲。
PSEN是外部存储器片选信号,在要读取外部存储器时PSEN发出低电平,来读取外部存储器,在读取外部存储器时,每个机器周期会动作两次。
P1-P3端口是一个内部带上拉电阻的准双向IO口,虽然内部有上拉电阻有驱动能力,但是输出的电流是非常有限的,IO输出高电平的时候,电流大概只有几百UA甚至更小,就是点亮一个LED灯都是很困难的,点亮一个LED灯至少也得有1mA的电流,一般用单片机主要做控制作用,配合外部有更强带载能力的器件来驱动。一般用三极管来处理。
虽然单片机输出电流有限,但IO口输出低电平的时候允许向单片机引脚内灌入电流,虽然可以向IO口灌入电流但是灌入的电流是有限制的,单个IO口灌入电流最大值是25mA
灌入电流推荐值是6-10mA,全部四个接口允许输入的电流最大不能超过70mA否则就有可能烧毁单片机。
单片机电路中经常要点亮LED,一般点亮一个LED灯需要3mA--10mA的电流,这是一个IO口允许的输入电流正好可以驱动一个LED灯,当要驱动的LED非常多的时候用这种方法就不妥了,因为有总灌入电流的限制。
如下图当33脚输出高电平的时候LED2灯熄灭没有电流流动,当33脚是低电平的时候电流经过电阻和LED2灯流入33脚内部点亮LED2灯。
当37脚输出低电平时候 LED1熄灭,当37脚输出高电平时候应该有电流流过LED1并点亮,但实际因为单片机IO输出电流太小,所以也是微微的发亮并不能完全点亮LED1灯
喜欢的朋友支持关注和转发。