从玩具到工业控制--51单片机的跨界传奇【2】

news2025/4/7 17:45:54

咱们在上一篇博客里面讲解了什么是单片机《单片机入门》,让大家对单片机有了初步的了解。我们今天继续讲解一些有关单片机的知识,顺便也讲解一下我们单片机用到的C语言知识。如果你对C语言还不太了解的话,可以看看博主的C语言专栏哟!

一,常用单片机的封装类型

不同的封装对应着不同的使用场合。我们要了解一些常见的单片机封装类型,我们才能更好的开发出合适的产品。接下来给大家展示一下常见的封装类型。

DIP封装:

这种封装类型用于学习单片机时候最常见因为它是直插 式的,它的引脚比较大,便于我们观察和使用。右边是它的插入座子,8P,14P……这是它的座子引脚数。单片机的引脚数要和它的座子的引脚数要相对应。比如,我们使用的STC88C52RC单片机有40个引脚,那么就要选择40P的座子。

PLCC封装:

这种封装的单片机比DIP封装的单片机,它的尺寸小了很多,它们的功能一模一样 ,这种小尺寸的封装适合小产品开发,节省空间的产品它的引脚是内弯型,所以它是以一种嵌入的方式放进座子里面的电路板里常和它座子一起使用,如图所示:

 QFP封装:

这种封装类型很少用座子了。在产品开发上,都是贴片焊接了 TQFP,PQFP LQFP它们都属于QFP封装,它们的唯一区别就是厚度不一样。如下:

TQFP(thin quad flat package):薄型QFP(封装本体1.0mm 厚)。

PQFP(Plastic Quad Flat Package):塑料方形扁平封装。
LQFP(Low-profile Quad Flat Package):薄型QFP(封装本体1.4mm 厚)。

SOP封装: 

 这种封装类型很少用座子了。在产品开发上,都是贴片焊接了。SSOPTSSOP属于SOP封装,它们的唯一区别就是引脚的间隙不一样。如下:

SSOP(Shrink Small Outline Package):pin脚间距:0.635mm(25mil)
缩小外形封装,厚度正常,脚是密脚的。
TSSOP (Thin Shrink Small Outline Package)pin脚间距:0.65mm(26mil)
薄的缩小外形封装,薄体的脚是密脚的。

 QFN封装:

BGA封装: 

这两种封装就比较少见了,大家简单看一下就OK了,我们就不在这细讲了。我们就以DIP封装类型来进行51单片机的讲解。 

二,51单片机的标识解读

我们会在单片机的表面看到一些信息,这些信息就是单片机的身份证可以快速帮助我们对这个单片机有个大致的了解,也是为了我们选择合适的单片机。这个图已经讲解的很清晰明了,我就不再过多将概述了,大家可以好好看看,这个很重要的。

 这个表的信息,适用于STC51系列单片机的所有封装类型的解读。我在这里提一点RAM,上图提到的RAM的大小,它会影响到我们能创建的变量数量,因为我们创建的变量都是存储在RAM里面。

三,模拟电路和数字电路的简单介绍

模拟电路:由各种电子元件(如电阻、电容、电感等)和电源等组成的电路,其中电流和电压的变化是连续的,可以使用连续函数来描述。模拟电路主要用于处理和传输模拟信号,如声音、光线等连续变化的信号。模拟电路可以通过放大、滤波、调节等方式对信号进行处理和控制,常用于音频放大器、射频电路、通信系统等应用中。所以,模拟电路的数据是连续变化的

数字电路:是一种使用数字信号进行逻辑运算和数字处理的电路。数字电路由数字逻辑门、触发器、计数器等基本组件构成,通过这些组件可以实现各种数字电路功能,如加法器、减法器、多路选择器等。数字电路可以处理二进制数据,通过逻辑门的组合和时钟信号的控制,实现各种复杂的计算和处理任务。数字电路广泛应用于计算机、通信设备、控制系统等领域。数字电路里面就只有逻辑1或逻辑0。

四,TTL电平特性

TTL电平特性:是指在TTL电路中,信号的高电平和低电平的定义和范围。它是一种数字电路,在TTL电平电路中规定为高电平(5V)为逻辑数字 1 低电平(0V)为逻辑数字0 它的所谓高低电平也只是相对的,它的高电平也不是绝对的5V,它的低电平也不是绝对的0V,它是有一定的范围的。在2.0V~5.0V之间都为高电平,在0V~0.8V之间都是低电平。如图所示:

我们简单讲解一下画红框的区域。VoH表示为高电平输出时,最低输出2.4V的电压。ViH表示接收外部的高电平的信号时,最低检测的电压为2.0V,在低就检测·不出为高电平了。大家可以同理推出低电平的ViL和VoL。旁边几个电路的高低电平也都是相对的,大家可以自行看看。 

在我们生活中还有一种常见的电平:RS232电平。后面的博客都会讲解到的,大家可以点击RS232和TTL的区别。可以先简单的了解一下。

五,数的进制与位权

单片机在嵌入式领域里面占有着不可多得的地位。其中数的进制是我们操作单片机用的最多的,也就是说我们嵌入式与二进制会打很多交道的。其中一点就是我们要学会二进制和十六进制的相互转换,我们会经常操作这样的数据的。对于二进制我就简单提几个点,这方面别的博主已经讲的很详细了,点击查看《进制之间的转换》

二进制的权重为2的次方。

十进制的权重为10的次方。

十六进制的权重为16的次方。

------------------------------------------------------------------------------------------------

每四位二进制转换一位16进制位,不足四位的话,有多少位就转换多少位 。

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

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

相关文章

线程池面试题目集合

最近面试中总是问到ThreadPoolExecutor类相关问题,在此集中整理下。 问题1.ThreadPoolExecutor的关键参数是哪些,任务添加过程中,内部线程是怎样构建的? a)任务到达时,线程池数目小于核心线程数corePoolSize&#xff0…

程序员独立开发竞品分析:确定网站使用什么建站系统

要确定一个网站使用的建站系统,可以通过以下几种方法尝试分析: 查看页面源代码: 打开网站,右键点击页面并选择“查看页面源代码”。在代码中查找一些常见的建站系统标志,例如: WordPress 的迹象&#xff1a…

基于Media+Unity的手部位姿三维位姿估计

使用mediapipe Unity 手部位姿三维位姿估计 参考文章 基于Mediapipe的姿势识别并同步到Unity人体模型中 MediapipeUnity3d实现虚拟手_unity mediapipe-CSDN博客 需求 我的需求就是快速、准确的跟踪手部位姿并实现一个三维显示。 主要思路 搭建mdeiapipe系统&#xff0c…

构建高性能网络服务:从 Socket 原理到 Netty 应用实践

1. 引言 在 Java 网络编程中,Socket 是实现网络通信的基础(可以查看我的上一篇博客)。它封装了 TCP/IP 协议栈,提供了底层通信的核心能力。而 Netty 是在 Socket 和 NIO 的基础上,进一步封装的高性能、异步事件驱动的…

Python入门10:高阶函数

一、什么是高阶函数 1.1、高阶函数的概念和作用: 高阶函数是指 接受函数作为参数 或者 返回函数 作为结果的函数。它在函数式编程中是一个重要概念(函数式编程(Functional Programming , FP )是一 种编程范式&#xf…

python-leetcode-矩阵置零

73. 矩阵置零 - 力扣(LeetCode) class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""m, n len(matrix), len(matrix[0])row_zero …

MySQL数据库(SQL分类)

SQL分类 分类全称解释DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改DQLData Query Languag…

计算机网络 笔记 网络层1

网络层功能概述 主要的任务是把分组从源端传输到目的端,为分组交换网上的不同主句提供通信服务,网络层的传输单位是数据报。 主要的功能; 1,路由选择:路由选择指网络层根据特定算法,为数据包从源节点到目…

MyBatis-什么是MyBatis?以及MyBatis的快速入门。

简介 什么是 MyBatis? 什么是MyBatis? MyBatis是一款优秀的 持久层 框架,用于简化JDBC的开发。(框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。在框架的基础上进行软件开发更加高效、规范、通用、…

Linux Kernel 之十 详解 PREEMPT_RT、Xenomai 的架构、源码、构建及使用

概述 现在的 RTOS 基本可以分为 Linux 阵营和非 Linux 阵营这两大阵营。非 Linux 阵营的各大 RTOS 都是独立发展,使用上也相对独立;而 Linux 阵营则有多种不同的实现方法来改造 Linux 以实现实时性要求。本文我们重点关注 Linux 阵营的实时内核实现方法! 本文我们重点关注 …

Swift 趣味开发:查找拼音首字母全部相同的 4 字成语(上)

概述 Swift 语言是一门现代化、安全、强大且还算性感的语言。在去年 WWDC 24 中苹果正式推出了秃头码农们期待许久的 Swift 6.0,它进一步完善了 Swift 语言的语法和语义,并再接再厉——强化了现代化并发模型的安全性和灵活性。 这里我们不妨用 Swift 来…

docker一张图理解

1、push 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库。参数说明: –disable-content-trust : 忽略镜像的校验,默认开启 # 上传本地镜像myapache:v1到镜像仓库中。 docker push myapache:v1 1.2、search 从Docker Hub查找镜像。参数说明: –…

IoTDB 常见问题 QA 第三期

关于 IoTDB 的 Q & A IoTDB Q&A 第三期持续更新!我们将定期汇总我们将定期汇总社区讨论频繁的问题,并展开进行详细回答,通过积累常见问题“小百科”,方便大家使用 IoTDB。 Q1:查询最新值 & null 数据相加方…

MyBatis实现数据库的CRUD

本文主要讲解使用MyBatis框架快速实现数据库中最常用的操作——CRUD。本文讲解的SQL语句都是MyBatis基于注解的方式定义的,相对简单。 Mybatis中#占位符和$拼接符的区别 “#”占位符 在使用MyBatis操作数据库的时候,可以直接使用如下SQL语句删除一条数…

Spring Boot 下的Swagger 3.0 与 Swagger 2.0 的详细对比

先说结论: Swgger 3.0 与Swagger 2.0 区别很大,Swagger3.0用了最新的注释实现更强大的功能,同时使得代码更优雅。 就个人而言,如果新项目推荐使用Swgger 3.0,对于工具而言新的一定比旧的好;对接于旧项目原…

关于2025年智能化招聘管理系统平台发展趋势

2025年,招聘管理领域正站在变革的十字路口,全新的技术浪潮与不断变化的职场生态相互碰撞,促使招聘管理系统成为重塑企业人才战略的关键力量。智能化招聘管理系统平台在这一背景下迅速崛起,其发展趋势不仅影响企业的招聘效率与质量…

go语言的sdk 适合用go原生还是gozero框架开发的判断与总结

在决定是否使用 Go 原生(纯 Go)开发,还是使用 GoZero 框架开发时,主要取决于项目的需求、规模和开发的复杂性。GoZero 框架提供了一些额外的功能,如微服务架构、RPC 支持、API 网关、任务调度等,这些是基于…

Elasticsearch 批量导入数据(_bluk方法)

官方API&#xff1a;https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html 建议先看API POST /<索引名>/_bulk 格式要求&#xff1a; POST _bulk { "index" : { "_index" : "test", "_id" : &q…

Mysql--重点篇--索引(索引分类,Hash和B-tree索引,聚簇和非聚簇索引,回表查询,覆盖索引,索引工作原理,索引失效,索引创建原则等)

索引是数据库中用于加速查询操作的重要机制。通过索引&#xff0c;MySQL可以快速定位到满足查询条件的数据行&#xff0c;而不需要扫描整个表。合理的索引设计可以显著提高查询性能&#xff0c;但不合理的索引可能会导致性能下降和磁盘空间浪费。因此&#xff0c;理解索引的工作…

mybatis-spring @MapperScan走读分析

接上一篇文章&#xff1a;https://blog.csdn.net/qq_26437925/article/details/145100531&#xff0c; 本文注解分析mybatis-spring中的MapperScan注解&#xff0c;则将容易许多。 目录 MapperScan注解定义ConfigurationClassPostProcessor扫描注册beanDefinitionorg.mybatis.s…