51单片机(硬件结构)并行I/O端口

2023-10-28

I/O端口结构及功能

1)MCS-51单片机有4个8位并行I/O端口:P0、P1、P2、P3
2)每个口包含:锁存器、输出驱动器、输入缓存器。
3)具有字节寻址和位寻址功能。

4)在访问片外扩展存储器时,低8位地址和数据由P0口 分时传送,高8位地址由P2口传送。
5)在无片外扩展存储器的系统中,这4个口的每一位均 可作为通用I/O端口使用。在作为通用I/O端口使用时, 这4个口都是准双向口。

由于这些端口在结构上存在有差异,造成了各端口的性质和功能有一定的差异

1.P0口

1.P0口是一个双功能的8位并行I/O端口

1)(当单片机外部扩展存储器或者I/O口的时候)P0口用作系统的地址/数据总线,
当P0口作为总线端口使用时,具有高电平,低电平和高阻悬浮输入三种状态,此时P0口是一个真正的双向口,输出低八位地址和输入输出8位数据
2)当P0口不作为地址/数据输入总线时,也可以作为通用的I/O口使用,此时需要在片外加上上拉电阻,此时端口就不会存在高阻悬浮的状态
P0口做输出口时,内部数据经过锁存器送到P0.0~P0.7上。由于上 管始终截止,而当下管也截止时, P0.0~P0.7被架空,没有标准的高电 平,所以P0口作输出口使用时,必须外接上拉电阻。
P0口作输入口时,P00—P07上的信号经过缓冲器送到内部数据总 线上。在读引脚之前,要先将锁存器置1,否则总是读到0。 2、读操作有2种:读引脚和读—改—写锁存器。

读引脚与读端口操作

1. 读端口操作 读—改—写
2. ANL P1,A
3. INC P1
4. CPL P1.2
5. 1. 读引脚操作
6. MOV A , P1
7. MOV C , P2.2
在这里插入图片描述

2.P1口

注意:P1口只能作为通用的I/O口使用
由于P1口内部有上拉电阻,没有高阻抗输入状态,故为准双向口,作为输出口不需要外接上拉电阻,
P1口的读引脚输入时,必须先向P1口的锁存器写入1

在这里插入图片描述
在这里插入图片描述
当P1口作为输出口时
注意:P1口做输出口时,
内部数据经过锁存器送到P1.0~P1.7上。 内部有上拉电阻,
所以P1口作输出口使用时,不用外接上拉电阻
在这里插入图片描述
当P1口直接作为输入口时
在这里插入图片描述
1、P1口作输入口时,P1.0~P1.7上信号经缓冲器送到内部DB上。
在读 引脚之前,要先将锁存器置1,否则总是读到0。
2、CPU对P1口读操作有2种:读引脚和读—改—写锁存器。

3.P2口

注意:P2口是一个双功能口既可以用作通用I/O口,又可以用作高八位地址总线(绝大多数情况)
通过内部的控制信号来决定功能的选择,

1)当P2口用作高八位地址总线时,与P0口的低8位地址总线一起构成了16位地址,可用于寻址64KB的片外地址空间;
2)当作为通用I/O口使用时,为准双向口,功能和P1口一样

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4. P3口

1)由于51单片机引脚的数量有限,因此在P3引脚处加入了引脚的第二功能,P3口的每一个小口可以分别定义为第二输出功能或者第二输入功能;
2)由于P3口的每一个引脚都有第一功能和第二功能,究竟是用哪一个功能,完全是由单片机执行的指令控制来自动切换的,用户不需要进行任何设置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.总结

在这里插入图片描述
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机(硬件结构)并行I/O端口 的相关文章

  • 揭示常见的重构误区

    作者 Danijel Arsenovski译者 张逸 公正地说 NET社区对于重构技术的研究起步太晚 直到今天 Net开发的旗舰产品Visual Studio仍然无法在C 中突破重构的界限 http www martinfowler com

随机推荐

  • java一朵玫瑰花代码

    这是一个简单的 Java 程序 画一朵玫瑰花 import java awt import java awt geom import javax swing public class Rose extends JFrame public R
  • C++动态库制作

    简介 概念 Linux系统 Windows系统中都有静态库 动态库 静态库是链接阶段与某程序指令链接到一块 打包为一个整体 而动态库是程序执行过程中动态装载到内存中的 链接时不打包 命名规则 Linux 静态库 libxxx a 动态库 l
  • [数据分析]-目标检测python删除xml文件中指定name的object类别

    1 问题描述 在整理数据集的时候 由于部分数据集来自网络 其一张图片标注了多个类别 而我们只想使用其中的某些类别 如果不去管那些无效类别 在训练时可能会出错 这就需要我们读取xml文件 根据指定的name名称 删除掉无效的object标注
  • android 4.4中的流媒体渲染过程

    第一次写blog 只是为了记下学习的过程 android中东西很多 架构和流程都很复杂 经常发现以前学习过的很多东西 即使当时看明白没多久就忘记了 只能重新拾起再看 于是想起blog这个东东 写下来总不会忘记 也和别人一起共享 以下基于an
  • 多种马尔可夫链预测方法

    一 基于绝对分布的马尔可夫链预测 步骤1 对历史数据进行分组 步骤2 确定观测值的状态 写出频数矩阵 nij i j E和一步转移概率矩阵 fij i j E 其中fij nij n 1 其中n为样本容量 当n 时 可用频数估计概率 从而得
  • tensorflow2.0(三)----循环神经网络(RNN)

    class DataLoader def init self path tf keras utils get file nietzsche txt origin http s3 amazonaws com text data with op
  • 排序子序列

    问题描述 将一段数组分为若干个排序子序列 排序子序列就是非递增或非递减的排序序列 然后输出至少可以分为几个排序子序列 解决方法 输入数组之后 开始遍历数组 如果数组满足非递增或者非递减 就进入对应的条件判断 然后此时如果i 1的元素依然满足
  • javascript构造函数如果没有形参允许省略圆括号

    javascript构造函数如果没有形参允许省略圆括号 var o new Object var o new Object 两条语句完全等价
  • element-ui表单校验

    默认表单校验 在最外层
  • 【业务功能篇82】微服务SpringCloud-ElasticSearch-Kibanan-docker安装-Nginx安装-进阶实战

    四 ElasticSearch进阶 https www elastic co guide en elasticsearch reference 7 4 getting started search html 1 ES中的检索方式 在Elas
  • ubuntu重装NVIDIA显卡(经过记录)遇到问题到卸载ubuntu再到成功安装

    2019 3 10 本来准备升级英伟达官方驱动下载搭配合适CUDA cuDNN GPU tensorflow 网上教程很多 按照教程下载了显卡匹配的最新驱动 卸载了安装ubuntu后在附加驱动里面自动下载的官方驱动390版本 准备禁止X W
  • 准确记录用户观看视频内容时长

    文章目录 问题的产生 一 从最简单的开始 二 天真可爱法 三 录点法 四 打点法 五 暴力打点法 六 小结 七 大结 问题的产生 to be or not to be that is a question 不是问题解决不了 只是你自己不够努
  • 事件派发代码

    bool QCoreApplication sendEvent QObject receiver QEvent event Q TRACE QCoreApplication sendEvent receiver event event gt
  • 没有扩容机器,抗住了70多倍的流量增长

    欢迎大家前往腾讯云社区 获取更多腾讯海量技术实践干货哦 作者 黄希彤 腾讯云专家工程师 从2012年开始 我们就吧腾讯公司内各个业务的404页面导流给宝贝回家 从2013年开始 我们更开放了404寻亲接入给第三方网站 这些导流给宝贝回家论坛
  • 第14节 在VS中关闭安全周期检查sdl

    项目 gt 属性 gt C C gt 常规 gt SDL检查 gt 否
  • C语言中符号表示什么意思?

    C语言中 gt gt lt lt 分别表示什么意思 举例说明 1 C语言中的 gt gt 意思为 右移后赋值 代码示例为 x 8 x gt gt 3 右移后结果为 00000000 00000000 00000000 00000001 2
  • OPenCV入门学习笔记(5)人脸检测

    检测的一般步骤 加载xml级联分类器 读入图片 灰度化处理图片 进行检测 加载xml级联分类器 face detector cv2 CascadeClassifier haarcascade frontalface default xml
  • 2023华为OD机试真题-狼羊过河(JAVA、Python、C++)

    题目描述 一农夫带着m只羊 n只狼过河 农夫有一条可载x只狼 羊的船 农夫在时或者羊的数量大于狼时 狼不会攻击羊 农夫在不损失羊的情况下 运输几次可以完成运输 返程不计入次数 输入描述 输入参数为 m n x m 为羊的数量 n为狼的数量
  • 乐高ev3编程 c语言,乐高ev3编程软件下载-乐高EV3机器人编程软件lego mindstorms ev31.0 官方版 - 极光下载站...

    LEGO MINDSTORMS EV3是乐高EV3机器人编程软件 乐高ev3编程软件是乐高头脑风暴EV3机器人配套的编程软件 包含多个有趣的机器人编程任务 拥有简单易用的编程界面 让您您轻松探索并操纵乐高EV3机器人 让机器人服从您的命令
  • 51单片机(硬件结构)并行I/O端口

    I O端口结构及功能 1 MCS 51单片机有4个8位并行I O端口 P0 P1 P2 P3 2 每个口包含 锁存器 输出驱动器 输入缓存器 3 具有字节寻址和位寻址功能 4 在访问片外扩展存储器时 低8位地址和数据由P0口 分时传送 高8