目录

1.概述

2.P0端口

2.1 概述

2.2 P0端口用作输出端口的工作原理

2.3 P0端口用作输入端口的工作原理

2.4 P0端口用作地址/数据总线的工作原理

3.P1端口

3.1 概述

3.2 P1端口用作输出端口的工作原理

3.3 P1端口用作输入端口的工作原理

4.P2端口

4.1 概述

4.2 P2端口用作输出端口的工作原理

4.3 P2端口用作输入端口的工作原理

4.4 P2端口用作地址总线引脚的工作原理

5.P3端口

5.1 概述

5.2 P3端口用作输出端口的工作原理

5.3 P3端口用作输入端口的工作原理

5.4 当P3端口用作第二功能时


1.概述

单片机的I/O端口是输入信号和输出信号的通道。8051单片机有P0、P1、P2、P3四组I/O 端口,每组端口有8个引脚。

2.P0端口

2.1 概述

P0端口有P0.0~P0.7共8个引脚,这些引脚除了可用作输入引脚输出引脚外,在外接存储器时,还可用作地址/数据总线引脚。P0端口每个引脚的内部电路结构都相同,其内部电路结构如图1所示。

图1 P0端口的内部电路结构图

2.2 P0端口用作输出端口的工作原理

下面讲解单片机需要从P0.x 引脚输出高电平“1”。如图1所示,单片机内部相关电路通过控制线送出“0(低电平)”到与门的一个输入端和电子开关的控制端,控制线上的“0”一方面使与门关闭(即与门的一端为“0”时,不管另一端输入何种信号,输出都为“0”),晶体管VT1栅极为“0”处于截止,地址/数据线送来的信号无法通过与门和晶体管VT1;控制线上的“0”另一方面控制电子开关,让电子开关与锁存器的端连接。CPU 再从内部总线送高电平“1”到锁存器的D端,同时往锁存器的CL端送写锁存器信号,D端的“1”马上存入锁存器并从Q和端输出,D 端输入“1”,Q 端输出“1”,端则输出“0”,端输出“0”经电子开关送到晶体管VT2的栅极,VT2截止,由于VT1也处于截止,P0.x引脚处于悬浮状态,因此需要在P0.x引脚上接上拉电阻,在VT2截止时,P0.x引脚输出高电平。

下面讲解单片机需要从P0.x 引脚输出高电平“0”。如图1所示,单片机内部相关电路通过控制线送出“0(低电平)”到与门的一个输入端和电子开关的控制端,控制线上的“0”一方面使与门关闭(即与门的一端为“0”时,不管另一端输入何种信号,输出都为“0”),晶体管VT1栅极为“0”处于截止,地址/数据线送来的信号无法通过与门和晶体管VT1;控制线上的“0”另一方面控制电子开关,让电子开关与锁存器的端连接。CPU 再从内部总线送高电平“0”到锁存器的D端,同时往锁存器的CL端送写锁存器信号,D端的“0”马上存入锁存器并从Q和端输出,D 端输入“0”,Q 端输出“0”,端则输出“1”,端输出“1”经电子开关送到晶体管VT2的栅极,VT2导通,由于VT1处于截止,P0.x引脚处于悬浮状态,因此需要在P0.x引脚上接上拉电阻,在VT2导通时,P0.x引脚输出低电平。

总的来说,当单片机需要将P0端口用作输出端口时,内部CPU会送控制信号“0”到与门和电子开关,与门关闭(上晶体管VT1同时截止,将地址/数据线与输出电路隔开),电子开关将锁存器与输出电路连接,然后CPU通过内部总线往P0端口锁存器送数据和写锁存器信号,数据通过锁存器、电子开关和输出电路从P0端口的引脚输出。在P0端口用作输出端口时,内部输出电路的上晶体管处于截止(开路),下晶体管的漏极处于开路状态(称为晶体管开漏),因此需要在P0端口引脚接外部上拉电阻,否则无法可靠输出“1”或“0”。

2.3 P0端口用作输入端口的工作原理

如图1所示,当单片机需要将P0端口用作输入端口时,内部CPU会先往P0端口锁存器写入“1”(往锁存器D端送“1”,同时给CL端送写锁存器信号),让,VT2截止,关闭输出电路。P0端口引脚输入的信号送到输入三态门的输入端,此时CPU再给三态门的控制端送读引脚控制信号,输入三态门打开,P0端口引脚输入的信号就可以通过三态门送到内部总线。

如果单片机的CPU需要读取P0端口锁存器的值(或称读取锁存器存储的数据),会送读锁存器控制信号到三态门(上方的三态门),三态门打开,P0锁存器的值(Q 值)经三态门送到内部总线。

2.4 P0端口用作地址/数据总线的工作原理

如图1所示, 如果要将P0端口用作地址/数据总线,单片机内部相关电路会通过控制线发出“1”,让与门打开,让电子开关和非门输出端连接。当内部地址/数据线为“1”时,“1”一方面通过与门送到 VT1的栅极,VT1导通,另一方面送到非门,反相后变为“0”,经电子开关送到VT2的栅极,VT2截止,VT1导通,P0端口引脚输出为“1”;当内部地址/数据线为“0”时,VT1截止,VT2导通,P0端口引脚输出“0”。

总的来说,当单片机需要将P0端口用作地址/数据总线时,CPU会给与门和电子开关的控制端送“1”,与门打开,将内部地址/数据线与输出电路的上晶体管 VT1接通,电子开关切断输出电路与锁存器的连接,同时将内部地址/数据线经非门反相后与输出电路的下晶体管VT1接通,这样VT1、VT2状态相反,让P0端口引脚能稳定输出数据或地址信号(1或0)。

3.P1端口

3.1 概述

P1端口有P1.0~P1.7共8个引脚,这些引脚可作输入引脚和输出引脚。P1端口每个引脚的内部电路结构都相同,其内部电路结构如图2所示。P1端口的结构较P0端口简单很多,其输出电路采用了一个晶体管,在晶体管的漏极接了一只内部上拉电阻,所以在 P1端口引脚外部可以不接上拉电阻。

图2 P1端口的内部结构电路图

3.2 P1端口用作输出端口的工作原理

如图2所示,当需要将P1端口用作输出端口时,单片机内部相关电路除了会往给锁存器的D端送数据外,还会往锁存器CL端送写锁存器信号,内部总线送来的数据通过D端进入锁存器并从Q和端输出,当D端输入“1”,则端输出“0”(Q端输出“1”),端的“0”送到晶体管的栅极,晶体管截止,从P1端口引脚输出“1”。 当D端输入“0”,则端输出“1”(Q端输出“0”),端的“1”送到晶体管的栅极,晶体管导通,从P1端口引脚输出“0”。

3.3 P1端口用作输入端口的工作原理

如图2所示,当需要将 P1端口用作输入端口时,单片机内部相关电路会先往 P1锁存器写“1”,让Q=1、,会使晶体管截止,关闭P1端口的输出电路,然后CPU往输入三态门控制端送一个读引脚控制信号,输入三态门打开,从 P1端口引脚输入的信号经输入三态门送到内部总线。

4.P2端口

4.1 概述

P2端口有P2.0~P2.7共8个引脚,这些引脚除了可用作输入引脚和输出引脚外,在外接存储器时,还可用作地址总线(高8位)引脚。P2端口每个引脚的内部电路结构都相同,其内部电路结构如图3所示。

图3 P2端口内部结构电路图

4.2 P2端口用作输出端口的工作原理

如图3所示,当需要将P2端口用作I/O端口时,单片机内部相关电路会送控制信号到电子开关的控制端,让电子开关与P2锁存器的Q端连接。若要将P2端口用作输出端口,CPU会通过内部总线将数据送到锁存器的D端,同时给锁存器的CL端送写锁存器信号,D端数据存入锁存器并从Q端输出,再通过电子开关、非门和晶体管从P2端口引脚输出。

4.3 P2端口用作输入端口的工作原理

如图3所示,当需要将P2端口用作I/O端口时,单片机内部相关电路会送控制信号到电子开关的控制端,让电子开关与P2锁存器的Q端连接。若要将P2端口用作输入端口,CPU会先往P2锁存器写“1”,让Q=1、,Q=1会使晶体管截止,关闭P2端口的输出电路,然后CPU往输入三态门控制端送一个读引脚控制信号,输入三态门打开,从P2端口引脚输入的信号经输入三态门送到内部总线。

4.4 P2端口用作地址总线引脚的工作原理

如图3所示,如果要将 P2端口用作地址总线引脚,单片机内部相关电路会发出一个控制信号到电子开关的控制端,让电子开关与内部地址线接通,地址总线上的信号就可以通过电子开关、非门和晶体管后从P2端口引脚输出。

5.P3端口

5.1 概述

P3端口有P3.0~P3.7共8个引脚,P3端口除了可用作输入引脚和输出引脚外,还具有第二功能。P3端口每个引脚的内部电路结构都相同,其内部电路结构如图4所示。

图4 P3端口内部结构电路图

5.2 P3端口用作输出端口的工作原理

如图4所示,当需要将P3端口用作I/O端口时,单片机内部相关电路会送出“1”到与非门的一个输入端(第二功能输出端),打开与非门(与非门的特点是:一个输入端为“1”时,输出端与另一个输入端状态始终相反)。若要将P3端口用作输出端口,CPU给锁存器的CL端送写锁存器信号,内部总线送来的数据通过D端进入锁存器并从Q端输出,再通过与非门和晶体管两次反相后从P3端口引脚输出。

5.3 P3端口用作输入端口的工作原理

如图4所示,当需要将P3端口用作I/O端口时,单片机内部相关电路会送出“1”到与非门的一个输入端(第二功能输出端),打开与非门(与非门的特点是:一个输入端为“1”时,输出端与另一个输入端状态始终相反)。若要将P2端口用作输入端口,CPU会先往P3锁存器写“1”,让Q=1,与非门输出“0”,晶体管截止,关闭P3端口的输出电路,然后CPU往输入三态门控制端送一个读引脚控制信号,输入三态门打开,从P3端口引脚输入的信号经过输入缓冲器和输入三态门送到内部总线。

5.4 当P3端口用作第二功能时

P3端口的每个引脚都有第二功能,具体见下表。P0端口用作第二功能(又称复用功能)时,实际上也是在该端口输入或输出信号,只不过输入、输出的是一些特殊功能的信号。当单片机需要将 P3 端口用作第二功能输出信号(如信号)时,CPU 会先往P3 锁存器写“1”, Q=1,它送到与非门的一个输入端,与非门打开,内部的第二功能输出信号送到与非门的另一个输入端,反相后输出去晶体管的栅极,经晶体管再次反相后从 P0端口引脚输出。当单片机需要将P3端口用作第二功能输入信号(如T0、T1信号)时,CPU也会往P3锁存器写“1”,Q=1,同时第二功能输出端也为“1”,与非门输出为“0”,晶体管截止,关闭输出电路,P0端口引脚输入的第二功能信号经输入缓冲器送往特定的电路(如T0、T1计数器)。

51单片机I/O端口的结构和工作原理相关推荐

  1. C51端口结构和工作原理(转)

    一.P0端口的结构及工作原理 P0端口8位中的一位结构图见下图:   由上图可见,P0端口由锁存器.输入缓冲器.切换开关.一个与非门.一个与门及场效应管驱动电路构成.再看图的右边,标号为P0.X引脚的 ...

  2. MCS-51 单片机的结构和工作原理

    MCS-51 单片机的结构和工作原理   一.MCS-51单片机的基本组成   MCS-51单片机芯片有许多种,如8051.8031.8751.80c51.80c31等.它由中央处理器(CPU).时钟 ...

  3. 第二章 MCS-51单片机硬件结构与工作原理

    第二章 MCS-51单片机硬件结构与工作原理 2.1 MCS-51单片机的硬件结构 2.2 引脚介绍 2.3 复位电路 2.4 寄存器 2.5 时序 2.6 MCS-51的工作方式 2.1 MCS-5 ...

  4. 显卡的结构和工作原理及发展历史与现状

    显卡的结构和工作原理及发展历史与现状 一.显卡的基本结构 1.线路板. 目前显卡的线路板一般采用的是6层或4层PCB线路板.显卡的线路板是显卡载体,显卡上的所有元器件都是集成在这上面的,所以PCB板也 ...

  5. 显卡结构及工作原理详细解读

    显卡结构及工作原理详细解读 标签: 显卡三维图像 2016-01-16 20:58 864人阅读 评论(0) 收藏 举报  分类: 3D原理(11)  什么是显卡? 显卡的工作非常复杂,但其原理和部件 ...

  6. AD7390的基本结构和工作原理DAC转化SPI

    串行外设接口(Serial Peripheral InteRFace,SPI)是一种高速同步串行输入/输出端口,近年来广泛应用于移位寄存器.D/A转换器.A/D转换器.串行E2PROM.LED显示驱动 ...

  7. 简述8086计算机工作原理,8086/8088CPU的基本结构与其工作原理

    之前,我们给出了计算机系统模型,它并不特别针对某一种具体的计算机系统,只是为读者快速搭建一个深入计算机系统底层的框架.并且,在上一章中,着重介绍的是整个计算机系统的基本组成以及它的工作原理.由于CPU ...

  8. DNA复制体结构和工作原理首次被揭示

    来源:科学网 DNA是生命遗传信息的载体,它的复制是生命繁衍过程当中最重要的一步.关于DNA复制分子机制的研究一直是生命科学中最基本的问题之一.近日,美国国立卫生研究院杰出研究员杨薇的课题组揭示了DN ...

  9. 高速缓冲存储器的功能、结构与工作原理

    2.3 高速缓冲存储器(Cache) 2.3.1 高速缓冲存储器的功能.结构与工作原理 高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得 ...

最新文章

  1. vc richedit 指定光标位置_机械图纸·每日一符:位置度
  2. python get请求 url传参_用Python-get方法向页面发起请求,参数传不进去是怎么回事...
  3. 北斗导航 | 北斗系统信息处理创新技术(学术PPT分享附视频)
  4. CF891E-Lust【EGF】
  5. Android LinearLayout加载Fragment
  6. Oracle/PLSQL CURSOR FOR Loop
  7. html列表隐藏显示出来,JavaScript栏目列表隐藏/显示简单实现
  8. 【Prison Break】第五天(4.1)
  9. 机器太慢,导致获取系统剪贴板数据超时
  10. eclipes的安装与使用
  11. 最新版本maven引发的血案
  12. 第五期:写一篇高水平的工程类英文论文(SCI/EI)_图和表(Figure and Table)【论文写作】
  13. 强引用置为null,会不会被回收及内存分配及年轻代年老代算法回收
  14. STM32学习:通过DMA读取ADC规则通道多通道转换数据
  15. [Paper]Cardiologist-Level Arrhythmia Detection with Convolutional Neural Networks
  16. 产品经理之SOP、SOW等名词解释
  17. Day537538539540541.scrapy爬虫框架 -python
  18. Xposed模块开发:修改设备IMEI
  19. cisco 3560 QOS配置
  20. [USACO06FEB]数字三角形Backward Digit Su…

热门文章

  1. php GD库做水印功能,合并图片
  2. 数据结构与算法较好的视频
  3. Centos 7创建软连接,硬连接的方法
  4. QTableView和QTableWidget的区别是什么?
  5. 突破单点瓶颈、挑战海量离线任务,Apache Dolphinscheduler在生鲜电商领域的落地实践
  6. JPS网页中文乱码解决方案
  7. 51单片机DS18B20温度报警器
  8. 解锁京东云底层技术密码:京东四大数智供应链技术亮相
  9. clearcasse 命令
  10. Win10+VS2017的C++属性配置表