单片机第2章 硬件结构.ppt

1.P0口的工作原理 (1)P0口用作系统的地址/数据总线用 当AT89S51外部扩展存储器或I/O时,P0口作为单片机系统复用的地址/数据总线使用。此时,图2-9中的“控制”信号为1,硬件自动使转接开关MUX打向上面,接通反相器的输出,同时使与上方场效应管栅极相连的“与门”处于开启状态。 当输出的“地址/数据”信息为1时,“与门”输出为1,上方的场效应管导通,下方的场效应管截止,P0.x引脚输出为1。 当输出的“地址/数据”信息为0时,上方的场效应管截止,下方的场效应管导通,P0.x引脚输出为0。 * 可见P0.x引脚的输出状态随“地址/数据”信号的状态变化而变化。上方的场效应管起到内部上拉电阻的作用。 当P0口作为数据总线输入时,仅从外部存储器(或外部I/O)读入信息,对应的“控制”信号为0,MUX接通锁存器的Q*端。由于P0口作为地址/数据复用方式访问外部存储器时,CPU自动向P0口写入FFH,使下方的场效应管截止。 由于“控制”信号为0,上方的场效应管也截止,从而保证数据信息的高阻悬浮输入,从外部P0.x引脚输入的数据信息直接通过输入缓冲器BUF2进入内部总线。 * 由以上分析可见,P0口作为总线端口使用时,具有高电平、低电平和高阻悬浮输入3种状态的端口,此时P0口是一真正的双向端口,简称双向口。 (2)P0口用作通用I/O口使用 当P0口也可作为通用的I/O口使用,需要在片外接上拉电阻,此时端口不存在高阻抗的悬浮状态,对应的“控制”端信号为0,MUX打向下面,接通锁存器的Q*端,“与门”输出为0,上方的场效应管截止。 * P0口用作通用I/O口输出时,来自CPU的“写”脉冲加在D锁存器的CP端,内部总线上的数据写入D锁存器,并由引脚P0.x输出。当D锁存器为1时, Q*端为0,下方场效应管截止,输出为漏极开路,此时,引脚P0.x必须外接上拉电阻才能有高电平输出;当D锁存器为0时,下方场效应管导通,P0口输出为低电平。 P0口为通用I/O口输入时,有两种读入方式:“读锁存器”和“读引脚”。当CPU发出“读锁存器”类指令时,锁存器的状态由Q端经上方的三态缓冲器BUF1进入内部总线;当CPU发出“读引脚”类指令时,锁存器的输出状态=1(即Q*端为0),从而使下方场效应管截止,引脚的状态经下方的三态缓冲器BUF2进入内部总线。 * 2.P0口总结 综上所述,P0口具有如下特点: (1)当P0口用作地址/数据总线口使用时,是一个真正的双向口,用作与外部扩展的存储器或I/O连接,输出低8位地址和输出/输入8位数据。 (2)当P0口用作通用I/O口使用时,各引脚需要在片外接上拉电阻,此时端口不存在高阻抗的悬浮状态,因此是一个准双向口。 * 如果单片机片外扩展了RAM和I/O接口芯片,P0口此时应作为复用的地址/数据总线口使用。如果没有外扩RAM和I/O接口芯片,此时即可作为通用I/O口使用。 * 2.5.2 P1口 P1口为通用I/O端口,字节地址为90H,位地址为90H~97H。位电路结构见图2-10。 1.P1口的工作原理 P1口只作为通用I/O口使用。 (1)P1口作为输出口时,若CPU输出1,Q=1,Q*=0,场效应管截止,P1.x引脚的输出为1;若CPU输出0,Q=0, Q*=1,场效应管导通,P1.x引脚的输出为0。 * 图2-10 P1口某一位的位电路结构 * (2)P1口作为输入口时,分为“读锁存器”和“读引脚”两种方式。 “读锁存器”时,锁存器的输出端Q的状态经输入缓冲器BUF1进入内部总线; “读引脚”时,先向锁存器写1,使场效应管截止,P1.x引脚上的电平经输入缓冲器BUF2进入内部总线。 2.P1口总结 P1口由于有内部上拉电阻,没有高阻抗输入状态,故为准双向口。作为输出口时,不需要在片外接上拉电阻。 P1口“读引脚”输入时,必须先向P1口的锁存器写入1。 * 2.5.3 P2口 双功能口,字节地址为A0H,位地址为A0H~A7H。P2口某一位的位电路结构如图2-11所示。 1.P2口的工作原理 (1)P2口用作高8位地址总线口 在内部控制信号作用下,MUX与“地址”接通。当“地址”线为0时,场效应管导通,P2.x引脚输出0;当“地址”线为1时,场效应管截止,P2.x引脚输出1。 (2)P2口用作通用I/O口 在内部控制信号作用下,MUX与锁存器的Q端接通。 * * 图2-12 P2口某一位的位电路结构 CPU输出1时,Q=1,场效应管截止,P2.x引脚输出1;CPU输出0时,Q=0,场效应管导通,P2.x引脚输出0。 输入时,分为“读锁存器”和“读引脚”两种方式。 “读锁存器”时,

文档评论(0)

1亿VIP精品文档

相关文档