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,所以我们参考这一列,这一列来查找对应的管脚序号以及它的一个说明,记得是根据不同的封装来看。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PySide在Qt Designer中使用QTableView 显示表格数据

在 PySide6 中,可以使用 Qt Model View 架构中的 QTableView 部件来显示和编辑表格数据。 1、创建ui文件 在Qt Designer中新建QMainWindow,命名为csvShow.ui。QMainWindow上有两个部件:tableview和btn_exit。 2、使用pyuic工具将ui文件转换为…

Kafka(四) Consumer消费者

一,基础知识 1,消费者与消费组 每个消费者都有对应的消费组,不同消费组之间互不影响。 Partition的消息只能被一个消费组中的一个消费者所消费, 但Partition也可能被再平衡分配给新的消费者。 一个Topic的不同Partition会根据分配…

MySQL集群、Redis集群、RabbitMQ集群

一、MySQL集群 1、集群原理 MySQL-MMM 是 Master-Master Replication Manager for MySQL(mysql 主主复制管理器)的简称。脚本)。MMM 基于 MySQL Replication 做的扩展架构,主要用来监控 mysql 主主复制并做失败转移。其原理是将真…

基于Faster R-CNN的安全帽目标检测

基于Faster R-CNN的安全帽目标检测项目通常旨在解决工作场所,特别是建筑工地的安全监管问题。这类项目使用计算机视觉技术,特别是深度学习中的Faster R-CNN算法,来自动检测工人是否正确佩戴了安全帽,从而确保遵守安全规定并减少事…

实验一:图像信号的数字化

目录 一、实验目的 二、实验原理 三、实验内容 四、源程序及结果 源程序(python): 结果: 五、结果分析 一、实验目的 通过本实验了解图像的数字化过程,了解数字图像的数据矩阵表示法。掌握取样(象素个…

Linux 网络配置与连接

一、网络配置 1.1 ifconfig 网卡配置查询 ifconfig #查看所有启动的网络接口信息 ifconfig 指定的网卡 #查看指定网络接口信息 1.2 修改网络配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 #ens33网络配置文…

【电源拓扑】反激拓扑

目录 工作模式 固定频率 CCM连续电流模式 DCM不连续电流模式 可变频率 CRM电流临界模式 反激电源CRM工作模式为什么要跳频 反激电源应用场景 为什么反激电源功率做不大 电感电流爬升 反激变压器的限制条件 精通反激电源设计的关键-反激电源变压器设计 反激电源变压…

MySQL 事务与锁

事务ACID特性 原子性:事务要么同时成功,要么同时失败,事务的原子性通过undo log日志保证 一致性:业务代码要抛出报错,让数据库回滚 隔离性:事务并发执行时,他们内部操作不能互相干扰 持久性&…

Python 读取esxi上所有主机的设备信息

(主要是为了统计所有虚拟机的设备名称和所属主机) 代码: from pyVim import connect from pyVmomi import vim import ssldef get_vm_devices(vm):devices []try:if vm.config is not None and hasattr(vm.config, hardware) and hasattr(v…

postgresql简单导出数据与手动本地恢复(小型数据库)

问题 需要每天手动备份postgresql。 步骤 导出数据 /opt/homebrew/opt/postgresql16/bin/pg_dump --file/Users/zhangyalin/backup_sql/<IP地址>_pg-2024_07_15_17_30_15-dump.sql --dbname<数据库名> --username<用户名> --host<IP地址> --port54…

Day53:图论 岛屿数量 岛屿的最大面积

99. 岛屿数量 时间限制&#xff1a;1.000S 空间限制&#xff1a;256MB 题目描述 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成&#xff0c;并且四周…

低空经济持续发热,无人机培训考证就业市场及前景剖析

随着科技的不断进步和社会需求的日益增长&#xff0c;低空经济已成为全球及我国经济增长的新引擎。作为低空经济的重要组成部分&#xff0c;无人机技术因其广泛的应用领域和显著的经济效益&#xff0c;受到了社会各界的广泛关注。为满足市场对无人机人才的需求&#xff0c;无人…

深入剖析 Android 开源库 EventBus 的源码详解

文章目录 前言一、EventBus 简介EventBus 三要素EventBus 线程模型 二、EventBus 使用1.添加依赖2.EventBus 基本使用2.1 定义事件类2.2 注册 EventBus2.3 EventBus 发起通知 三、EventBus 源码详解1.Subscribe 注解2.注册事件订阅方法2.1 EventBus 实例2.2 EventBus 注册2.2.1…

ipynb转换为pdf、Markdown(.md)

Jupyter Notebook 文件&#xff08;.ipynb&#xff09;可以转换成多种数据格式&#xff0c;以适应不同的使用场景和需求。以下是几种常见的转换格式及其简洁描述&#xff1a; HTML: Jupyter Notebook可以直接导出为静态的网页&#xff08;HTML&#xff09;格式&#xff0c;这样…

记一次IP数据处理过程,文本(CSV文件)处理,IP解析

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 起因 突然接收到XX给的任务&#xff0c;要将一批IP数据处理一下&#xff0c;将IP对应的省市区解析出来…

PHP智云物业管理平台微信小程序系统源码

​&#x1f3e0;智云物业管理新纪元&#xff01;微信小程序&#xff0c;让家园管理更智慧&#x1f4f1; &#x1f3e1;【开篇&#xff1a;智慧生活&#xff0c;从物业开始】&#x1f3e1; 在快节奏的现代生活中&#xff0c;我们追求的不仅仅是家的温馨&#xff0c;更是生活的…

基于hive数据库的泰坦尼克号幸存者数据分析

进入 ./beeline -u jdbc:hive2://node2:10000 -n root -p 查询 SHOW TABLES; 删除 DROP TABLE IF EXISTS tidanic; 上传数据 hdfs dfs -put train.csv /user/hive/warehouse/mytrain.db/tidanic 《泰坦尼克号幸存者数据分析》 1、原始数据介绍 泰坦尼克号是当时世界上…

达梦数据库系列—28. 主备集群高可用测试

目录 监视器关闭 监视器启动&#xff0c;Detach备库 主备正常&#xff0c;手动switchover 主库故障&#xff0c;自动switchover 主库故障&#xff0c;手动Takeover 主库故障&#xff0c;备库强制takeover 主库重启 备库故障 公网连接异常 主库私网异常 备库私网异常…

实现给Nginx的指定网站开启basic认证——http基本认证

一、问题描述 目前我们配置的网站内容都是没有限制&#xff0c;可以让任何人打开浏览器都能够访问&#xff0c;这样就会存在一个问题&#xff08;可能会存在一些恶意访问的用户进行恶意操作&#xff0c;直接访问到我们的敏感后台路径进行操作&#xff0c;风险就会很大&#xff…

Why can‘t I access GPT-4 models via API, although GPT-3.5 models work?

题意&#xff1a;为什么我无法通过API访问GPT-4模型&#xff0c;尽管GPT-3.5模型可以工作&#xff1f; 问题背景&#xff1a; Im able to use the gpt-3.5-turbo-0301 model to access the ChatGPT API, but not any of the gpt-4 models. Here is the code I am using to tes…