从玩具到工业控制--51单片机的跨界传奇【2】
咱们在上一篇博客里面讲解了什么是单片机《单片机入门》,让大家对单片机有了初步的了解。我们今天继续讲解一些有关单片机的知识,顺便也讲解一下我们单片机用到的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封装:
这种封装类型很少用座子了。在产品开发上,都是贴片焊接了。SSOP和TSSOP都属于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进制位,不足四位的话,有多少位就转换多少位 。
相关文章:
从玩具到工业控制--51单片机的跨界传奇【2】
咱们在上一篇博客里面讲解了什么是单片机《单片机入门》,让大家对单片机有了初步的了解。我们今天继续讲解一些有关单片机的知识,顺便也讲解一下我们单片机用到的C语言知识。如果你对C语言还不太了解的话,可以看看博主的C语言专栏哟ÿ…...
LLM实现视频切片合成 前沿知识调研
1.相关产品 产品链接腾讯智影https://zenvideo.qq.com/可灵https://klingai.kuaishou.com/即梦https://jimeng.jianying.com/ai-tool/home/Runwayhttps://aitools.dedao.cn/ai/runwayml-com/Descripthttps://www.descript.com/?utm_sourceai-bot.cn/Opus Cliphttps://www.opu…...
学习threejs,使用FlyControls相机控制器
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.FlyControls 相机控制…...
wordpress 房产网站筛选功能
自定义分类法创建 add_action( init, ashu_post_type ); function ashu_post_type() {register_taxonomy(province,post,array(label => 省,rewrite => array( slug => province ),hierarchical => true));register_taxonomy(city,post,array(label => 市,rewr…...
SQL面试题2:留存率问题
引言 场景介绍: 在互联网产品运营中,用户注册量和留存率是衡量产品吸引力和用户粘性的关键指标,直接影响产品的可持续发展和商业价值。通过分析这些数据,企业可以了解用户行为,优化产品策略,提升用户体验…...
Redis是单线程还是多线程?
大家好,我是锋哥。今天分享关于【Redis是单线程还是多线程?】面试题。希望对大家有帮助; Redis是单线程还是多线程? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis是 单线程 的。 尽管Redis的处理是单线程的&a…...
mysql 变量,流程控制与游标
第16章_变量,流程控制与游标 1.变量 分为系统变量和用户自定义变量 1.1系统变量 1.1.1系统变量分类 系统变量分为全局系统变量以及会话系统变量 查看所有全局变量 SHOW GLOBAL VARIABLES 查看所有会话变量 SHOW SESSION VARIABLESor SHOW VARIABLES #默认是会话变量 …...
Java配置log4j日志打印
1. 引入依赖 <dependencies><!-- Log4j 2依赖 --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>1.2.14</version> <!-- 可以根据需要修改版本 --></…...
什么是SQL?
什么是SQL? SQL(Structured Query Language,结构化查询语言)是一种用于与关系型数据库进行交互的标准编程语言。SQL 是设计用于管理和操作关系型数据库的语言,主要用于查询、插入、更新、删除和定义数据结构。SQL 是关…...
Linux 机器学习
Linux 机器学习是指在 Linux 操作系统环境下进行机器学习相关的开发、训练和应用。 具体步骤 环境搭建: 选择合适的 Linux 发行版:如 Ubuntu、Fedora、Arch Linux 等。Ubuntu 因其易用性和丰富的软件包管理系统,适合初学者;Fed…...
HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载,Scroll滚动到顶部
HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载 效果展示 使用方法 import LoadingText from "../components/LoadingText" import PageToRefresh from "../components/PageToRefresh" import FooterBar from "../components/…...
第27章 汇编语言--- 设备驱动开发基础
汇编语言是低级编程语言的一种,它与特定的计算机架构紧密相关。在设备驱动开发中,汇编语言有时用于编写性能关键的部分或直接操作硬件,因为它是接近机器语言的代码,可以提供对硬件寄存器和指令集的直接访问。 要展开源代码详细叙…...
sosadmin相关命令
sosadmin命令 以下是本人翻译的官方文档,如有不对,还请指出,引用请标明出处。 原本有个对应表可以跳转的,但是CSDN的这个[](#)跳转好像不太一样,必须得用html标签,就懒得改了。 sosadmin help 用法 sosadm…...
【git】-初始git
学习资源推荐- 标签管理 - Git教程 - 廖雪峰的官方网站 一、什么是版本控制? 二、Git的安装 三、掌握Linux常用命令 四、Git基本操作 1、提交代码 2、查看历史提交 3、版本回退 一、什么是版本控制? 版本控制是一种用于记录文件或项目内容变化的系…...
JAVA之单例模式
单例模式(Singleton Pattern)是一种设计模式,用于确保一个类只有一个实例,并提供一个全局访问点来获取该实例。在软件设计中,单例模式常用于控制对资源的访问,例如数据库连接、线程池等。以下是单例模式的详…...
无人机数据集,支持YOLO,COCO json,PASICAL VOC xml格式的标注,正确识别率可达到95.7%,10000张原始图片
无人机数据集,支持YOLO,COCO json,PASICAL VOC xml格式的标注,正确识别率可达到95.7%,10000张原始图片 下载地址: 标注好的数据集下载地址: yolo v11: https://download.csdn.net/download/p…...
Linux:进程概念(三.详解进程:进程状态、优先级、进程切换与调度)
目录 1. Linux中的进程状态 1.1 前台进程和后台进程 运行状态 睡眠状态 磁盘休眠状态 停止状态 kill指令—向进程发送信号 死亡状态 2. 僵尸进程 2.1 僵尸状态 2.2 僵尸进程 2.3 僵尸进程危害 3. 孤儿进程 4. 进程的优先级 概念 查看进程优先级 PRI(…...
stack和queue专题
文章目录 stack最小栈题目解析代码 栈的压入弹出序列题目解析代码 queue二叉树的层序遍历题目解析代码 stack stack和queue都是空间适配器 最小栈 最小栈的题目链接 题目解析 minst是空就进栈,或者是val < minst.top()就进栈 代码 class MinStack { public:M…...
一 rk3568 Android 11固件开发环境搭建 (docker)
一 目标 搭建 rk3568 android 系统内核 及固件开发编译调试环境, 支持开发环境导出分享 基于荣品 rk3568 核心板 系统环境: ubuntu22.04 /ubuntu20.04 64位桌面版 编译环境: docker + ubuntu20.04 , 独立的容器隔离环境,不受系统库版本冲突等影响,无性能损耗, 可…...
2025年华数杯国际赛B题论文首发+代码开源 数据分享+代码运行教学
176项指标数据库 任意组合 千种组合方式 14页纯图 无水印可视化 63页无附录正文 3万字 1、为了方便大家阅读,全文使用中文进行描述,最终版本需自行翻译为英文。 2、文中图形、结论文字描述均为ai写作,可自行将自己的结果发给ai,…...
三小时深度学习PyTorch
【对新手非常友好】三小时深度学习PyTorch快速入门!包教会你的! --人工智能/深度学习/pytorch_哔哩哔哩_bilibili从头开始,把概率论、统计、信息论中零散的知识统一起来_哔哩哔哩_bilibili从编解码和词嵌入开始,一步一步理解Trans…...
朴素贝叶斯分类器
一、生成模型(学习)(Generative Model) vs 判别模型(学习)(Discriminative Model) 结论:贝叶斯分类器是生成模型 1、官方说明 生成模型对联合概率 p(x, y)建模&#x…...
商用车电子电气零部件电磁兼容条件和试验(2)—术语和定义
写在前面 本系列文章主要讲解商用车电子/电气零部件或系统的传导抗干扰、传导发射和辐射抗干扰、电场辐射发射以及静电放电等试验内容及要求,高压试验项目内容及要求。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) 目录 商用车电子电气…...
SimpleFOC01|基于STM32F103+CubeMX,移植核心的common代码
导言 如上图所示,进入SimpleFOC官网,点击Github下载源代码。 如上图所示,找到仓库。 comom代码的移植后,simpleFOC的移植算是完成一大半。simpleFOC源码分为如下5个部分,其中communication是跟simpleFOC上位机通讯&a…...
物联网之传感器技术
引言 在数字化浪潮席卷全球的今天,物联网(IoT)已成为推动各行各业变革的重要力量。而物联网传感器,作为物联网感知层的核心技术,更是扮演着不可或缺的角色。它们如同人类的五官,能够感知物理世界中的各种信…...
React:构建用户界面的JavaScript库
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
基于TypeScript封装 `axios` 请求工具详解
TypeScript 项目中,封装一个详细的 axios 请求工具可以提高代码的可维护性、可重用性,并让请求逻辑与业务逻辑分离。以下是一个详细的封装示例,包括请求拦截器、响应拦截器、错误处理、以及类型定义。 1. 安装 Axios 首先,确保你…...
ElasticSearch在Windows环境搭建测试
引子 也持续关注大数据相关内容一段时间,大数据内容很多。想了下还是从目前项目需求侧出发,进行相关学习。Elasticsearch(ES)是位于 Elastic Stack(ELK stack) 核心的分布式搜索和分析引擎。Logstash 和 B…...
通信与网络安全管理之ISO七层模型与TCP/IP模型
一.ISO参考模型 OSI七层模型一般指开放系统互连参考模型 (Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。 它从低到高分别是…...
高级运维:shell练习2
1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。 vim check.sh #!/bin/bash# 定义网络前缀 network_prefix"192.168.1"# 循环遍历1-254的IP for i in {1..254}; do# 构造完整的IP地址ip"$network_…...
三相无刷电机控制|FOC理论04 - 克拉克变换 + 帕克变换的最终目标
导言 通过坐标系旋转,将电机中复杂的三相交流信号映射到与转子磁场同步的旋转参考系中,将动态问题转化为静态问题。这种方法的优点在于: 简化了控制逻辑。实现了转矩Iq和磁通Id的解耦。提供了直流量控制的可能性,大大提高了控制效…...
SAP FICO资产模块各元素基本关系总结
文章目录 【SAP系统研究】 #SAP #FICO #资产会计 ①:每个折旧表包含多个折旧范围,折旧范围用于设置资产的平行折旧,如不同的折旧范围可以更新不同的总账,更新不同的科目等。 ②:折旧表是要分配给公司代码的ÿ…...
Elasticsearch快速入门
Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分,提供核心的数据存储、搜索、分析功能 elasticsearch之所以有如此高性能的搜索表现,正是得益于底层的倒排索引技术。那么什么是倒排索引呢? Elasticsearch…...
【Java数据结构】二叉树相关算法
第一题:获取二叉树中结点个数 得到二叉树结点个数,如果结点为空则返回0,然后再用递归计算左树结点个数根结点(1个)右树结点个数。 public int nodeSize(Node root){if (root null)return 0;return nodeSize1(root.l…...
30分钟内搭建一个全能轻量级springboot 3.4 + 脚手架 <1> 5分钟快速创建一个springboot web项目
快速导航 <1> 5分钟快速创建一个springboot web项目 <2> 5分钟集成好最新版本的开源swagger ui,并使用ui操作调用接口 <3> 5分钟集成好druid并使用druid自带监控工具监控sql请求 <4> 5分钟集成好mybatisplus并使用mybatisplus generator自…...
vue3学习日记6 - Layout
最近发现职场前端用的框架大多为vue,所以最近也跟着黑马程序员vue3的课程进行学习,以下是我的学习记录 视频网址: Day2-17.Layout-Pinia优化重复请求_哔哩哔哩_bilibili 学习日记: vue3学习日记1 - 环境搭建-CSDN博客 vue3学…...
1/14 C++
练习:将图形类的获取周长和获取面积函数设置成虚函数,完成多态 再定义一个全局函数,能够在该函数中实现:无论传递任何图形,都可以输出传递的图形的周长和面积 #include <iostream>using namespace std; class Sh…...
【Uniapp-Vue3】页面生命周期onLoad和onReady
一、onLoad函数 onLoad在页面载入时触发,多用于页面跳转时进行参数传递。 我们在跳转的时候传递参数name和age: 接受参数: import {onLoad} from "dcloudio/uni-app"; onLoad((e)>{...}) 二、onReady函数 页面生命周期函数中的onReady其…...
使用 configparser 读取 INI 配置文件
使用 configparser 读取 INI 配置文件 适合于读取 .ini 格式的配置文件。 配置文件示例 (config.ini): [DEFAULT] host localhost port 3306 [database] user admin password secret import configparser# 创建配置解析器 config configparser.ConfigParser()# 读取配…...
类模板的使用方法
目录 类模板的使用方法 1.类模板语法 2.类模板和函数模板区别 3.类模板中成员函数创建时机 4.类函数对象做函数参数 5.类模板和继承 6.类模板成员函数类外实现 7.类模板分文件编写 person.hpp 实现cpp文件: 8.类模板与友元 9.类模板案例 MyArray.hpp …...
docker mysql5.7如何设置不区分大小写
环境 docker部署,镜像是5.7,操作系统是centos 操作方式 mysql 配置文件是放在 /etc/mysql/mysql.conf.d/mysqld.cnf, vim /etc/mysql/mysql.conf.d/mysqld.cnf lower_case_table_names1 重启mysql容器 验证 SHOW VARIABLES LIKE low…...
Docker与虚拟机的区别及常用指令详解
在现代软件开发中,容器化和虚拟化技术已经成为不可或缺的工具。Docker和虚拟机(VM)是两种常见的技术, 它们都可以帮助开发者在不同的环境中运行应用程序。然而,它们的工作原理和使用场景有很大的不同。本文将详细探讨D…...
C#异步和多线程,Thread,Task和async/await关键字--12
目录 一.多线程和异步的区别 1.多线程 2.异步编程 多线程和异步的区别 二.Thread,Task和async/await关键字的区别 1.Thread 2.Task 3.async/await 三.Thread,Task和async/await关键字的详细对比 1.Thread和Task的详细对比 2.Task 与 async/await 的配合使用 3. asy…...
第一次作业三种方式安装mysql(Windows和linux下)作业
在Windows11上安装sever(服务)端和客户端 server端安装 打开官网MySQL 进入到主页 点击DOWMLOAD 进入下载界面 点击下方MySQL Community (GPL) Downloads 进入社区版mysql下载界面 点击 MySQL Community Server 进入server端下载 选择8.4.3LTS&…...
ubuntu官方软件包网站 字体设置
在https://ubuntu.pkgs.org/22.04/ubuntu-universe-amd64/xl2tpd_1.3.16-1_amd64.deb.html搜索找到需要的软件后,点击,下滑, 即可在Links和Download找到相关链接,下载即可, 但是找不到ros的安装包, 字体设…...
深拷贝与浅拷贝
作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…...
No one knows regex better than me
No one knows regex better than me 代码分析,传了两个参数zero,first,然后$second对两个所传的参数进行了拼接 好比:?zero1&first2 传入后就是: 12 然后对$second进行了正则匹配,匹配所传入的参数是否包含字符串Yeedo|wa…...
scala基础学习(数据类型)-集合
文章目录 集合创建集合isEmpty获取数据添加元素删除元素常见方法交集 &差集 diff --并集 unionto stringto listto Arrayto Map其余常用方法 集合 Scala Set(集合)是没有重复的对象集合,所有的元素都是唯一的。 Scala 集合分为可变的和不可变的集合。 默认情…...
如何使用 Excel 进行多元回归分析?
多元回归分析,一种统计方法,用来探索一个因变量(即结果变量)与多个自变量(即预测变量)之间的关系。广泛用于预测、趋势分析以及因果关系的分析。 听起来这个方法很复杂,但其实在 Excel 中可以很…...
思维转换:突破思维桎梏,创造更高效的工作与生活
在现代职场和生活中,我们经常面临着各种挑战和问题,有时候虽然付出了很多努力,但依然难以找到更有效的解决方案。这时,或许我们需要的不是更多的努力,而是一次“思维转换”。这一概念看似简单,但它背后却蕴…...