51单片机5(GPIO简介)

 一、序言:不论学习什么单片机,最简单的外设莫过于I口的高低电平的操作,接下来,我们将给大家介绍一下如何在创建好的工程模板上面,通过控制51单片机的GPIO来使我们的开发板上的LED来点亮。

二、51单片机GPIO介绍:

1、GPIO概念:GPIO是通用输入输出端口的简称,可以通过软件来控制其输入和输出。

(1)51单片机的芯片的GPIO引脚与外部设备连接,从而可以实现与外部的一个通信,控制以及数据的一个采集功能,不过GPIO的一个最简单的应用,还属点亮LED,只需要通过软件控制GPL输出高低电平,就可以实现LED的一个控制,当然GPL还可以作为输出的一个控制,比如在按键上面,比如在引脚上接入一个按键,通过电平的高低来判断按键是否按下,那么我们开发板上,使用51单片机是stc89c系列的一个芯片,那么我们的这个芯片采用的是dip 40的,一个封装也就40个引脚,那么,这里呢,我们可以看一下,这个芯片的一个管脚的一个图,看到这个管脚图,大家可以看到这个40个角是不是所有的这些脚都是GPIO引脚呢,当然不是,那么51单片机引脚可以分为几大类。

a、电源引脚

(a)这个电源引脚呢,通常在这个芯片的管脚图上面会有VCC或者VDD或者GND和VSS之类的一个名字,都是电源引脚,像比如40和20这两个是电源引脚,一个正,一个负,然后晶振引脚,在这个图中,有XTAL,这个都是我们单片机的一个外部的一个输入晶振引脚。

(b)通常我们给这个单片机的一个晶振是0~40,当然我们使用的是12M或者是11.0592M的一个晶振。18和19这两个引脚,复位引脚通常在这个芯片广角图上面会有一个RST或RESET的一个名字,这是单片机的一个复位引脚,通过这个复位引脚,可以使我们的单片机进行一个复位,这个在前面,我们也说过下载引脚是我们单片机的一个串口。

(c)我们stc系列的单片机呢,它是可以支持串口下载的,所以在下载引脚当中呢,直接可以看这个串口像在P30和P31,他的复用功能就是串口功能,所以这个是个下载口,下载口当然还可以作为一个通信,串口通信。

(d)那么,我们最后呢,就是GPIO的引脚,除了这几类,那大家可以看得到,在像P1.1,P1.0还有P3,这一些引脚呢,都是一些GPIO引脚,那么GPIO引脚占据芯片是绝大多数的,那么我们也可以看得到,这个引脚图层当中带有P点X点的一个字样,就属于GPL引脚,那么GPL引脚它占据了32个P0P1P2P3,那么每一组呢,是8个,所以是32个IO口,那么从这个芯片的一个管脚图当中,我们还可以看到P3口这个做一组,它的一个复用功能是全都有的,所以说,既可以作为普通的一个GPL来使用,也可以作为一个复用功能来使用。

(e)那么,对于这么多GPL引脚,那么我们怎么具体查找它的一个引脚功能,可以通过我们芯片的一个原理图,我们开发板上面管脚,每个脚位都有对应的一个功能,比如我们这张图,比如我们要查找P30,P31有什么功能,可以从这个图当中可以看到它有串口功能,比如P34,它有外部计数零的一个功能等等。

(f)那么,除了这一种方式可以查找之外,还可以通过我们的数据手册,前面我们在介绍这个芯片的时候,我们可以看到stc 89系列的一个中文参考手册,中文参考手册里面,我们可以看到这一个,在这个芯片的一个管脚,管脚的一个图当中,我们可以看一下stc89c系列的一个广角,看一下stc89c,管脚图下面对应的就是一些管脚的说明,我们看一下管脚的一个说明。

 管教编号,这是针对不同封装的一种芯片,比如它有lqip的一个44封装的,还有pdip 40的,还有plcc 44的,那么我们使用的芯片是P dip 40,所以我们参考这一列,这一列来查找对应的管脚序号以及它的一个说明,记得是根据不同的封装来看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/798416.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构初阶(C语言)-复杂度的介绍

在学习顺序表之前,我们需要先了解下什么是复杂度: 一,复杂度的概念 我们在进行代码的写作时,通常需要用到许多算法,而这些算法又有优劣之分,区分算法的优劣则是通过算法的时间复杂度和空间复杂度来决定。 …

python 怎样生成窗体

通过import tkinter导入Tkinter模块,没有这句下面的都不成立了。 wintkinter.Tk(),这句是创建windows的窗口对象,注意后面的Tk,大小写。 win.title("窗口"),这段是设置窗口上的标题。 另外窗口的大小你可以通…

Linux命令更新-Vim 编辑器

简介 Vim 是 Linux 系统中常用的文本编辑器,功能强大、可扩展性强,支持多种编辑模式和操作命令,被广泛应用于程序开发、系统管理等领域。 1. Vim 命令模式 Vim 启动后默认进入命令模式,此时键盘输入的命令将用于控制编辑器本身&…

云计算【第一阶段(31)】PXE高效批量网络装机

一、系统安装 1.1、系统装机的三种引导方式 1. 硬盘 2. 光驱( u 盘) 3. 网络启动 pxe 1.2、系统安装过程 加载boot loader Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映…

解决mysql,Navicat for MySQL,IntelliJ IDEA之间中文乱码

使用软件版本 jdk-8u171-windows-x64 ideaIU-2021.1.3 mysql-essential-5.0.87-win32 navicat8_mysql_cs 这个问题我调试了好久,网上的方法基本上都试过了,终于是解决了。 三个地方结果都不一样。 方法一 首先大家可以尝试下面这种方法&#xff1a…

无人驾驶大热,新能源汽车智能化中的算网支持

来源新华社:百度“萝卜快跑”全无人驾驶汽车行驶在路上 当前,新能源汽车产业数智化已成为全球汽车产业数字化转型的焦点。一方面,随着人工智能、大数据、云计算等技术的深度融合,新能源汽车在自动驾驶、智能互联、能源管理等方面…

【自动驾驶汽车通讯协议】UART通信详解:理解串行数据传输的基石

文章目录 0. 前言1. 同步通讯与异步通讯1.1 同步通信1.2 异步通信 2. UART的数据格式3. 工作原理3.1 波特率和比特率3.2 UART的关键特性 4. UART在自动驾驶汽车中的典型应用4.1 UART特性4.2应用示例 5. 结语 0. 前言 按照国际惯例,首先声明:本文只是我自…

STM32MP135裸机编程:BOOT跳转到APP前关闭所有中断、清除所有中断挂起标志操作方法

0 前言 一般来说,MCU/SOC的BOOT在跳转到APP前都需要进行环境清理的操作,其中必须进行的一项操作便是关闭所有中断、清除所有中断挂起标志。本文介绍基于STM32MP135裸机编程下关闭所有中断、清除所有中断挂起标志的操作方法。 1 操作方法 STM32MP135裸…

关于Kafka Topic分区和Replication分配的策略

文章目录 1. Topic多分区2. 理想的策略3. 实际的策略4. 如何自定义策略 1. Topic多分区 如图,是一个多分区Topic在Kafka集群中可能得分配情况。 P0-RL代表分区0,Leader副本。 这个Topic是3分区2副本的配置。分区尽量均匀分在不同的Broker上&#xff0c…

怎么减少pdf的MB,怎么减少pdf的大小

在数字化时代,pdf文件因其格式稳定、跨平台兼容性强等特点而广受欢迎。然而,随着内容的丰富,pdf文件的大小也日益增大,给文件传输和存储带来了不少困扰。本文将为你介绍多种减小pdf文件大小的方法,帮助你轻松应对这一问…

【ChatGPT】深入解析Prompt提示词及如何高效使用ChatGPT

一、Prompt提示词是什么? 1.1 Prompt的定义 Prompt是人工智能领域中的一个关键概念,尤其在自然语言处理(NLP)和生成型AI模型中。简而言之,prompt是一段文本或指令,用于引导或启动AI模型的特定响应或操作。…

成为CMake砖家(2): macOS创建CMake本地文档的app

大家好,我是白鱼。 使用 CMake 的小伙伴, 有的是在 Windows 上, 还有的是在 macOS 上。之前咱们讲了 windows 上查看 cmake 本地 html 文档的方式, 这篇讲讲 macOS 上查看 cmake 本地 html 文档的方法。 1. 问题描述 当使用 CMa…

C1W1.LAB.Preprocessing+Word frequencies+Logistic_regression_model

理论课:C1W1.Sentiment Analysis with Logistic Regression 文章目录 预处理导入包Twitter dataset简介查看原始文本处理原始文本处理超链接、Twitter 标记和样式分词去除标点和停用词词干处理 process_tweet() 词频构建与可视化导入包加载数据集字典字典实例添加或…

什么是im即时通讯?WorkPlus im即时通讯私有化部署安全可控

IM即时通讯是Instant Messaging的缩写,指的是一种实时的、即时的电子信息交流方式,也被称为即时通讯。它通过互联网和移动通信网络,使用户能够及时交换文本消息、语音通话、视频通话、文件共享等信息。而WorkPlus im即时通讯私有化部署则提供…

PostgreSQL日志文件配置,记录所有操作记录

为了更详细的记录PostgreSQL 的运行日志,我们一般需要修改PostgreSQL 默认的配置文件,这里整理了一些常用的配置 修改配置文件 打开 PostgreSQL 配置文件 postgresql.conf。该文件通常位于 PostgreSQL 安装目录下的 data 文件夹中。 找到并修改以下配…

Zabbix6.0使用自带模板(Redis by Zabbix agent 2)监控Redis数据库

注意:Zabbix6.0使用Redis by Zabbix agent 2 模板可直接监控Redis数据。 1、添加Redis账号密码信息(如果Redis没有设置密码可省略此步骤) vim zabbix_agent2.confPlugins.Redis.Sessions.redis.Uritcp://redis.huayunworld.com:6379 Plugins.Redis.Sessions.redis…

机器学习和人工智能对金融行业的影响——案例分析

作者主页: 知孤云出岫 目录 引言机器学习和人工智能在金融行业的应用1. 风险管理信用评分风险预测 2. 交易高频交易量化交易 3. 客户服务聊天机器人个性化推荐 4. 反欺诈检测 机器学习和人工智能带来的变革1. 提高效率2. 降低成本3. 提升客户体验 未来发展趋势1. 更智能的风控系…

2-34 小波神经网络采用传统 BP 算法

小波神经网络采用传统 BP 算法,存在收敛速度慢和易陷入局部极小值两个突出弱点。建立了基于遗传算法的小波神经网络股票预测模型 GA-WNN。该模型结合了遗传算法的全局优化搜索能力以及小波神经网络良好的时频局部特性。运用 MATLAB 对拟合和预测过程进行仿真。结果表…

Flutter应用开发:掌握StatefulWidget的实用技巧

前言 随着移动应用的日益复杂,状态管理成为了 Flutter 应用开发中的一项重要挑战。 状态,即应用中的可变数据,它驱动着用户界面的渲染和交互。 在 Flutter 这样的声明式 UI 框架中,如何高效、可维护地管理状态,对于…

【2024】VsCode + Latex + Linux(Ubuntu) + wsl环境下配置教程 | 包含 中文配置,和 格式化处理

前言 本篇教程是针对WSL下的Ubuntu操作系统的配置教程,它和一般的Linux环境下的配置有所不同,并且和Windows环境下的也有所不同。 本篇博客编写参考了 官方文档(Tex) 和 插件官方(Texlive Workshop) 文档…