当前位置: 首页 > news >正文

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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Go:基本变量与数据类型
  • Excel如何才能忽略隐藏行进行复制粘贴?
  • STM32MP135裸机编程:烧录程序到EMMC的方法
  • Redis 三大高可用模式:主从、哨兵、集群
  • frameworks 之FallbackHome
  • PMP–冲刺–总结--高频考点
  • 缺血性脑卒中的常见并发症
  • gitlab 搭建使用
  • 基于Rspack实现大仓应用构建提效实践|得物技术
  • 理解常见开源协议的区别
  • 计算机网络——常见问题汇总
  • LangChain —— Prompt Templates —— How to use few shot examples in chat models
  • AWS-WAF-Log S3存放,通过Athena查看
  • 51单片机4(reg52头文件介绍)
  • Camunda如何通过外部任务与其他系统自动交互
  • 《剑指offer》分解让复杂问题更简单
  • axios 和 cookie 的那些事
  • Cookie 在前端中的实践
  • ECS应用管理最佳实践
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • Hibernate最全面试题
  • LeetCode算法系列_0891_子序列宽度之和
  • miaov-React 最佳入门
  • MySQL几个简单SQL的优化
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • SpriteKit 技巧之添加背景图片
  • Vue官网教程学习过程中值得记录的一些事情
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 从输入URL到页面加载发生了什么
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 关于使用markdown的方法(引自CSDN教程)
  • 无服务器化是企业 IT 架构的未来吗?
  • 新版博客前端前瞻
  • kubernetes资源对象--ingress
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​TypeScript都不会用,也敢说会前端?
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #vue3 实现前端下载excel文件模板功能
  • (1)(1.11) SiK Radio v2(一)
  • (c语言)strcpy函数用法
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (顺序)容器的好伴侣 --- 容器适配器
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)h264中avc和flv数据的解析
  • (转)mysql使用Navicat 导出和导入数据库
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • .Net CF下精确的计时器
  • .NET CLR基本术语
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .Net Remoting(分离服务程序实现) - Part.3
  • .Net 路由处理厉害了
  • .NET/C# 获取一个正在运行的进程的命令行参数