51单片机之引脚图(详解)

8051单片机引脚分类与功能笔记
1. 电源引脚
- VCC(第40脚):接入+5V电源,为单片机提供工作电压。
- GND(第20脚):接地端,确保电路的电位参考点。
2.时钟引脚
- XTAL1(第19脚):外接石英晶体的一端或外部时钟信号输入(此时应接地),用于内部振荡器。
- XTAL2(第18脚):外接石英晶体的另一端或外部时钟信号引入点。
3. I/O口引脚
- P0口(第32~39脚):双向8位三态I/O口,需外接上拉电阻作为输入使用。
- P1口(第1~8脚):准双向8位I/O口,有内部上拉电阻,写“1”作输入用。
- P2口(第21~28脚):同P1口,但常用于地址总线高8位。
- P3口(第10~17脚):准双向I/O口,具有第二功能如串行通信等。
4. 控制引脚
- RST(第9脚):复位信号输入,高电平有效,用于初始化单片机。
- ALE/PROG(第30脚):地址锁存允许信号,编程脉冲输入(EPROM型)。
- PSEN(第29脚):程序存储器读选通信号,用于访问外部程序存储器。
- EA/VPP(第31脚):内外部程序存储器选择控制端。高电平时访问内部存储器,低电平时访问外部;在对EPROM编程时施加编程电压。
小贴士
- 三态门:除了高低电平状态,还有高阻态,适用于数据总线上的多设备管理,避免冲突。
总结
按照功能不同,8051单片机引脚可以分成四大类:电源引脚、时钟引脚、I/O口引脚和控制引脚,下面我们要分别对其进行介绍。1.电源引脚电源引脚用于接入单片机的工作电源,8051系列单片机的正常工作电压为5V。❑ VCC引脚(第40脚):接+5V电源。❑ GND引脚(第20脚):接地。2.时钟引脚两个时钟引脚XTAL1与XTAL2外接石英晶体,与片内的反向放大器构成振荡器,用于为单片机提供时钟信号。❑ XTAL1引脚(第19脚):连接外部晶体振荡器,如使用外部时钟信号,此引脚应接地。❑ XTAL2引脚(第18脚):连接外部晶体振荡器,如使用外部时钟信号,由此引脚引入。
3.I/O口引脚❑ P0口(第32~39脚):双向8位三态I/O口。具有高电平、低电平和高阻三种状态,内部是漏极开路结构,对端口写“1”可作为高阻抗输入端用,一般应用时须外接上拉电阻。❑ P1口(第1~8脚):8位准双向I/O口,具有高电平、低电平两种状态,有内部上拉电阻。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作为输入口使用。❑ P2口(第21~28脚):8位准双向I/O口,具有高电平、低电平两种状态,有内部上拉电阻。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口使用。❑ P3口(第10~17脚):8位准双向I/O口,具有高电平、低电平两种状态,有内部上拉电阻。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口使用。P3口除了作为一般的I/O口使用外,还具有第二功能,具体详见表4-1。表4-1 P3口的第二功能
4.控制引脚控制引脚用于提供控制信号,有些控制引脚还有具体的控制功能。❑ RST引脚(第9脚):复位信号输入端,高电平有效。单片机运行时,在此引脚施加24个时钟周期的高电平,单片机就会被复位。❑[插图]引脚(第30脚):ALE为地址锁存允许信号,当单片机访问外部存储器时,ALE输出信号的负跳沿用作低8位地址的锁存信号。正常工作时,该引脚有1/6晶体振荡频率的脉冲信号输出,也可依此判定单片机是否正常工作。[插图]为本引脚的第二功能。在对片内EPROM型单片机烧写程序时,此引脚用作编程脉冲的输入端。❑[插图]引脚(第29脚):程序存储器允许输出控制端。在单片机访问外部程序存储器时,此引脚输出负脉冲,作为读取外部程序存储器的选通信号。此引脚接外部程序存储器的[插图](输出允许)端。
❑[插图](第31脚):内部、外部程序存储器选择控制端。当[插图]端为高电平时,单片机访问内部程序存储器;当[插图]端为低电平时,访问外部程序存储器。VPP为该引脚的第二功能,在对EPROM型单片机片内EPROM存储器编程时,需要在该引脚上施加编程电压。[插图] 小贴士:三态门三态门是指逻辑门电路的输出除了具有高、低电平两种状态外,还有第三种状态,即高阻态。高阻态相当于隔断状态,等效于该门与它连接的电路处于断开的状态。例如,在数据总线上接有多个器件,每个器件通过选通信号的控制与总线进行连接,如果器件没有选通时它与总线连接的引脚就处于高阻态,相当于没有连接到总线上,从而不会影响其他器件的工作。

相关文章:
51单片机之引脚图(详解)
8051单片机引脚分类与功能笔记 1. 电源引脚 VCC(第40脚):接入5V电源,为单片机提供工作电压。GND(第20脚):接地端,确保电路的电位参考点。 2.时钟引脚 XTAL1(第19脚&a…...
jupyterLab插件开发
jupyter lab安装、配置: jupyter lab安装、配置教程_容器里装jupyterlab-CSDN博客 『Linux笔记』服务器搭建神器JupyterLab_linux_布衣小张-腾讯云开发者社区 Jupyter Lab | 安装、配置、插件推荐、多用户使用教程-腾讯云开发者社区-腾讯云 jupyterLab插件开发教…...
配置#include “nlohmann/json.hpp“,用于处理json文件
#include “nlohmann/json.hpp” // 需要安装 nlohmann/json.hpp 头文件 using json = nlohmann::json; 下载链接:https://github.com/nlohmann/json/tree/develop 1.下载并解压:首先,需要从nlohmann/json的GitHub仓库下载源代码,并解压得到的文件。 地址: nlohmann/json…...
MATLAB | 基于Theil-Sen斜率和Mann-Kendall检验的栅格数据趋势分析
最近看到一些博主分享关于 SenMK 检验的代码,对于新手来说可能有点复杂。我们编写了一段 MATLAB 代码,能够一次性解决这些问题,简化操作流程。我们还准备了几个关于趋势检验的空间分布图,供大家参考。 一、Sens Slope和Mann-Kenda…...
python连点器
要实现一个用于抖音点赞的鼠标连点工具,可以通过编程或现有软件实现。以下是两种常见方法(但请注意:频繁自动化操作可能违反平台规则,需谨慎使用): 方法 1:使用现成工具(如 AutoClic…...
C#程式状态机及其Godot实践
前言 今天是周日,马上就要迎来新的一周了,前几周都没干什么事,为了减缓偷懒症状,立个Flag从今往后每周至少更新两次文章。内容虽然无法保证优质,但重在坚持,全当写周记了。希望不要三分钟热度吧。 今天记录…...
Windows 系统下使用 Ollama 离线部署 DeepSeek - R1 模型指南
引言 随着人工智能技术的飞速发展,各类大语言模型层出不穷。DeepSeek - R1 凭借其出色的语言理解和生成能力,受到了广泛关注。而 Ollama 作为一款便捷的模型管理和部署工具,能够帮助我们轻松地在本地环境中部署和使用模型。本文将详细介绍如…...
Docker、Ollama、Dify 及 DeepSeek 安装配置与搭建企业级本地私有化知识库实践
在现代企业中,管理和快速访问知识库是提升工作效率、促进创新的关键。为了满足这些需求,企业越来越倾向于构建本地私有化的知识库系统,这样可以更好地保护企业数据的安全性和隐私性。本文将介绍如何利用 **Docker**、**Ollama**、**Dify** 和…...
【漫话机器学习系列】087.常见的神经网络最优化算法(Common Optimizers Of Neural Nets)
常见的神经网络优化算法 1. 引言 在深度学习中,优化算法(Optimizers)用于更新神经网络的权重,以最小化损失函数(Loss Function)。一个高效的优化算法可以加速训练过程,并提高模型的性能和稳定…...
react-native fetch在具有http远程服务器后端的Android设备上抛出“Network request failed“错误
问题描述: 在具有http远程服务器后端的Android设备上,使用react-native fetch时抛出"Network request failed"错误。 回答: "Network request failed"错误通常表示在进行网络请求时出现了问题。可能的原因包括网络连接…...
【JVM详解四】执行引擎
一、概述 Java程序运行时,JVM会加载.class字节码文件,但是字节码并不能直接运行在操作系统之上,而JVM中的执行引擎就是负责将字节码转化为对应平台的机器码让CPU运行的组件。 执行引擎是JVM核心的组成部分之一。可以把JVM架构分成三部分&am…...
route 与 router 之间的差别
简述: router:主要用于处理一些动作, route:主要获得或处理一些数据,比如地址、参数等 例: videoInfo1.vue: <template><div class"video-info"><h3>二级组件…...
[vue3] Ref Reactive
【b站-【前端面试】Vue3 ref 与 reactive 区别】 Ref:Ref用于创建一个响应式的基本数据类型,比如数字、字符串等。它将普通的数据变成响应式数据,可以监听数据的变化。使用Ref时,我们可以通过.value来访问和修改数据的值。 Reac…...
SamWaf开源轻量级的网站应用防火墙(安装包),私有化部署,加密本地存储的数据,易于启动,并支持 Linux 和 Windows 64 位和 Arm64
一、SamWaf轻量级开源防火墙介绍 (文末提供下载) SamWaf网站防火墙是一款适用于小公司、工作室和个人网站的开源轻量级网站防火墙,完全私有化部署,数据加密且仅保存本地,一键启动,支持Linux,Wi…...
极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant
作者:卢建晖 - 微软高级云技术布道师 「极客说」 是一档专注 AI 时代开发者分享的专栏,我们邀请来自微软以及技术社区专家,带来最前沿的技术干货与实践经验。在这里,您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&a…...
22.2、Apache安全分析与增强
目录 Apache Web安全分析与增强 - Apache Web概述Apache Web安全分析与增强 - Apache Web安全威胁Apache Web安全机制Apache Web安全增强 Apache Web安全分析与增强 - Apache Web概述 阿帕奇是一个用于搭建WEB服务器的应用程序,它是开源的,它的配置文件…...
理邦仪器嵌入式(C/C++开发)开发面试题及参考答案
C++ 虚函数的概念和作用 C++ 中的虚函数是一种非常重要的机制,它在实现多态性方面起着关键作用。 概念上来说,虚函数是在基类中使用关键字 virtual 声明的成员函数。当基类的指针或引用指向派生类的对象时,通过这个基类的指针或引用调用虚函数,实际执行的是派生类中重写的该…...
windows + visual studio 2019 使用cmake 编译构建静、动态库并调用详解
环境 windows visual studio 2019 visual studio 2019创建cmake工程 1. 静态库.lib 1.1 静态库编译生成 以下是我创建的cmake工程文件结构,只关注高亮文件夹部分 libout 存放编译生成的.lib文件libsrc 存放编译用的源代码和头文件CMakeLists.txt 此次编译CMak…...
Chrome 浏览器 支持多账号登录和管理的浏览器容器解决方案
根据搜索结果,目前没有直接提到名为“chrometable”的浏览器容器或插件。不过,从功能描述来看,您可能需要的是一个能够支持多账号登录和管理的浏览器容器解决方案。以下是一些可能的实现方式: 1. 使用 Docker 容器化部署 Chrome …...
GrassWebProxy
GrassWebProxy第一版: using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json;…...
DeepSeek API 调用 - Spring Boot 实现
DeepSeek API 调用 - Spring Boot 实现 1. 项目依赖 在 pom.xml 中添加以下依赖: <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId></depe…...
【DeepSeek】Deepseek辅组编程-通过卫星轨道计算终端距离、相对速度和多普勒频移
引言 笔者在前面的文章中,介绍了基于卫星轨道参数如何计算终端和卫星的距离,相对速度和多普勒频移。 【一文读懂】卫星轨道的轨道参数(六根数)和位置速度矢量转换及其在终端距离、相对速度和多普勒频移计算中的应用 Matlab程序 …...
【kafka实战】05 Kafka消费者消费消息过程源码剖析
1. 概述 Kafka消费者(Consumer)是Kafka系统中负责从Kafka集群中拉取消息的客户端组件。消费者消费消息的过程涉及多个步骤,包括消费者组的协调、分区分配、消息拉取、消息处理等。本文将深入剖析Kafka消费者消费消息的源码,并结合…...
[EAI-033] SFT 记忆,RL 泛化,LLM和VLM的消融研究
Paper Card 论文标题:SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training 论文作者:Tianzhe Chu, Yuexiang Zhai, Jihan Yang, Shengbang Tong, Saining Xie, Dale Schuurmans, Quoc V. Le, Sergey Levine, Yi Ma 论…...
算法与数据结构(字符串相乘)
题目 思路 这道题我们可以使用竖式乘法,从右往左遍历每个乘数,将其相乘,并且把乘完的数记录在nums数组中,然后再进行进位运算,将同一列的数进行相加,进位。 解题过程 首先求出两个数组的长度,…...
DeepSeek从入门到精通:全面掌握AI大模型的核心能力
文章目录 一、DeepSeek是什么?性能对齐OpenAI-o1正式版 二、Deepseek可以做什么?能力图谱文本生成自然语言理解与分析编程与代码相关常规绘图 三、如何使用DeepSeek?四、DeepSeek从入门到精通推理模型推理大模型非推理大模型 快思慢想&#x…...
【Pytorch函数】PyTorch随机数生成全解析 | torch.rand()家族函数使用指南
🌟 PyTorch随机数生成全解析 | torch.rand()家族函数使用指南 🌟 📌 一、核心函数参数详解 PyTorch提供多种随机数生成函数(注意:无直接torch.random()函数),以下是常用函数及参数:…...
vue print 打印
vue 点击打印页面部分内容,或者打印弹窗内的内容 打印页面部分内容 <template><div><div id"print"><div class"info"><div class"bx_title">费用报销单<span class"code">NO.<s…...
【异常解决】在idea中提示 hutool 提示 HttpResponse used withoud try-with-resources statement
博主介绍:✌全网粉丝22W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
【Uniapp-Vue3】UniCloud云数据库获取指定字段的数据
使用where方法可以获取指定的字段: let db uniCloud.database(); db.collection("数据表").where({字段名1:数据, 字段名2:数据}).get({getOne:true}) 如果我们不在get中添加{getOne:true},在只获取到一个数据res.result.data将会是一个数组&…...
