51 单片机IO 口应用详解 MCS-51 是标准的40 引脚双列直插式集成电路芯片,引脚分布请参照单片机引脚图: 这 4个 I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。 P0 口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1 中的D0~D7 为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1 中的A0~A7 为地址总线接口) 3、不扩展时,可做一般的I/O 使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。 P1 口只做I/O 口使用:其内部有上拉电阻。 P2 口有两个功能: 1、扩展外部存储器时,当作地址总线使用 2、做一般I/O 口使用,其内部有上拉电阻; P3 口有两个功能: 除了作为I/O 使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。 有内部EPROM 的单片机芯片(例如8751) ,为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的, 即:编程脉冲:30 脚(ALE/PROG) 编程电压(25V):31 脚(EA/Vpp) 在介绍这四个I/O 口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0 口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。 ALE 地址锁存控制信号:在系统扩展时,ALE 用于控制把P0 口的输出低8 位地址送锁存器锁存起来 ,以实现低位地址和数据的隔离。参见图2( 8051 扩展2KB EEPROM 电路,在图中ALE 与 4LS373锁存器的G 相连接,当 CPU 对外部进行存取时,用以锁住地址的低位地址,即 P0 口输出。 由于ALE 是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE 脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用。 PSEN 外部程序存储器读选通信号:在读外部ROM 时 PSEN 低电平有效,以实现外部ROM 单元的读操作。 1、内部ROM 读取时,PSEN 不动作; 2、外部ROM 读取时,在每个机器周期会动作两次; 3、外部RAM 读取时,两个PSEN 脉冲被跳过不会输出; 4、外接ROM 时 ,与 ROM 的 OE 脚相接。 参见图2—(8051 扩展2KB EEPROM 电路,在图中PSEN 与扩展ROM 的 OE 脚相接...