什么是单片机?为什么要学习单片机?

news/2024/9/18 12:53:19/ 标签: 单片机, 嵌入式硬件

实现目标

1、熟悉单片机定义、特点、应用场景、发展历史等;

2、理解为什么要学习单片机?怎样学习单片机


一、单片机是什么?

 1、定义

单片机是集成在一块(单)芯片上的微型计算机。平时我们把 MCU: Micro-Controller Unit,微控制器俗称单片机

      单片机就是一个集成电路芯片,是一个采用超大规模集成电路技术将具有数据处理能力的CPU,存储器,IO端口,定时器等功能集成到一个硅片上,具有小而完整的微型计算机系统。

2、特点(与计算机对比)

计算机:体积大,功能强,价格高 ,桌面应用

单片机:体积小、实时性强、价格低 ,嵌入式应用

3、应用场景

4、发展历史

二、为什么要学习单片机

当今社会,应用单片机的产品已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的足迹。单片机使用领域十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等,这些都离不开单片机

学习单片机的重要性在于,随着科技的发展,智能化产品的需求日益增长,掌握单片机技术不仅能满足社会发展的需求,也能为电子爱好者和工程师提供高薪就业的机会。

三、学习单片机常见问题解答

1. 学单片机编程对数学英语有要求吗?

答:数学会基本的加减乘除就行,英语会认单词a-z就行,很多外行人看到代码里一堆英文就头嗡嗡响,其实不然,只有少数语法是固定的,大多数英文都是工程师自己定义的,比如大神你也可以定义成DaShen(中文缩写)。
那很多人此时就开始质疑,当初这么辛苦学数学和英语到底是为啥?数学和英语不是单片机开发的门槛,但却决定你以后能达到的高度,如果你数学和英语不行,那么月薪20K可能就是你的巅峰了,如果很好,那么上限还有很大的空间。

2. 单片机好学吗?

答:看你怎么学,互联网的好处就是什么资源都能搜集到,相反的也容易迷惑世人,资料太多眼花缭乱让你无从下手,所以 找对一个老师跟着学最好,少走弯路。

3. 没有基础可以自学吗?大概多久能学会?

答:我曾经是自学入行的,什么C语言,什么单片机,什么二极管、三极管、电阻电容等等一窍不通,2011年毕业通过2个月时间自学然后直接从事开发工作。

4. 从学完到月薪过万要多久?

答:我第一份工作是2011年,当时月薪只有1.8K,半年后5K,当时消费水平没现在这么高,房价也便宜,按目前的通货膨胀一线城市目前正常只要死磕1年就能月薪过万,如果能找个人带你会成长地更快。

5.单片机真的像劝退帖子说的工资这么低吗?

答:我看了某乎,某吧,有很多劝退学单片机的,说既要懂硬件,又要会编程,屁事多工资还低。我从事单片机开发近10年,来说句公道话,在之前确实跟纯软件有比较大的差距,但是现在差距越来越小的。我有几个做Java App开发的朋友,同样码龄,但是工资却没单片机开发的高,我身边做单片机开发20K以上的也很多。所以只要有能力,其实薪资并不会低

6. 我适合学单片机吗?

答:如果你没钱、没资源、没技术、每天还从事机械化没前途的工作中浪费青春,又想找一个能够养活自己和家人,可持续发展,能不断为你提供现金流的工作那就合适,抛开兴趣先不说,主要看你现在够不够穷。

四、怎样学习单片机

答:首先,我们问问自己学这个来干嘛?当然是找工作赚钱!对,这个就是核心, 知道这个道理那我们马上开始实践,打开找工作的相关网站或APP,直接搜索职位:单片机工程师、嵌入式工程师、物联网工程师等。然后看勾选出来公司对这些职位的需求,我们只要找出共同点针对这些需求去学就行了,结合我的经验直接给大家总结从事单片机开发最重要的几个关键字:

1、学习准备

  • 一台电脑
  • 一套STC52开发板,后期一套STM32开发板/ESP32
  • 教程资料包

2、学习步骤

第一步:学基础电路

数电、模电难的部分可以先不用学,但需要知道电阻电容、二极管、三极管等常用元器件相关的作用就行。如电阻串联分压功能、电阻并联分流功能,三极管的开关条件和基本电路。为后面学单片机做好铺垫。

第二步:学习C51单片机和C语言

C语言和51单片机一起结合着学。比如C语言的for循环知识点,我们可以用流水灯的循环次数来验证。交互学,加深理解。

第三步:学习用AD软件/立创EDA/candence/PADS等

一般公司会配一个硬件工程师和软件工程师,对单片机软件开发来说前期只需要学到原理图设计即可。但是最好能熟练地运用一款AD软件完整地设计出一个PCB。

第四步:用51单片做一个简单完整的项目

学完单片机基础,先用51单片做一个简单完整的项目,比如电子时钟、电子秤等。

第五步:学习STM32和ESP32单片机(进阶)

学完51单片机,可以再选一款性能更好的单片机学习,比如STM32、ESP32。学习GPIO、时钟、中断、Timer、Usart、IIC、SPI、DMA这些常用外设。为以后完成更大更复杂的项目打好基础。


总结

兴趣是最好的老师!!!要想自己以后选择面宽些,那必须得有所付出,技能不会自然而然就拥有的,一定要亲生动手实践才能拥有!!!


http://www.ppmy.cn/news/1524216.html

相关文章

【ES备份和还原索引数据】

文章目录 备份(Snapshot)还原(Restore)注意事项示例 在 Elasticsearch 中,备份和还原索引数据通常通过快照(Snapshot)和恢复(Restore)机制来实现。以下是详细的操作步骤&…

最受欢迎的10款电脑监控软件大揭秘,员工电脑监控软件真心推荐

随着科技的迅猛发展,越来越多的企业和个人开始关注电脑监控软件的使用。这类软件能够帮助企业管理者更好地了解员工的工作状况,提升工作效率,并确保公司数据安全;个人用户也可以利用这些软件监控电脑活动,保护家人尤其…

php返回数据量较大怎么办

当 PHP 返回数据量较大时,可能会导致内存溢出、超时、网络传输慢等问题。以下是一些常见的优化方案,帮助有效处理大数据量返回,确保系统的性能和稳定性: 1. 分页加载数据 问题描述:一次性返回大量数据(例…

Spring Boot3.x 启动自动执行sql脚本

1 引言 某些项目在首次启动时,需要先手动创建数据库表,然后再手动写入初始数据才能正常使用。为了省去这个手动操作过程,我们可以使用Spring Boot启动时执行sql脚本的配置,全自动完成这个过程。 2 配置 具体配置如下&#xff1…

使用 `readResolve` 防止序列化破坏单例模式

单例模式是一种设计模式,其目的是确保一个类只有一个实例,并提供一个全局访问点。在 Java 中,我们常常通过私有化构造方法和提供静态访问方法来实现单例。然而,尽管这些手段可以有效防止类的实例化,反射和序列化依然能…

基于YOLOv8的风力涡轮机表面损坏检测系统

基于YOLOv8的风力涡轮机表面损坏检测系统 (价格85) 包含 [损坏] 1个类 通过PYQT构建UI界面,包含图片检测,视频检测,摄像头实时检测。 (该系统可以根据数据训练出的yolov8的权重文件,运用在其他检测系统上&#x…

【变化检测】基于STANet建筑物(LEVIR-CD)变化检测实战及ONNX推理

主要内容如下: 1、LEVIR-CD数据集介绍及下载 2、运行环境安装 3、STANet模型训练与预测 4、Onnx运行及可视化 运行环境:Python3.8,torch1.12.0cu113 likyoo变化检测源码:https://github.com/likyoo/open-cd 使用情况&#xff1a…

Android调整第三方库PickerView宽高--回忆录

一、效果 // 时间选择implementation com.contrarywind:Android-PickerView:4.1.9 多年前,使用到事件选择器,但是PickerView默认宽度使满屏的,不太符合业务需求,当时为此花了许多时间,最终找到了解决方案,…

为控制器的方法添加必要参数

前言:做这个系统时,要求每次调用接口时要传操作人、操作人电脑ip、菜单id,然后计入log。本来前端读取到然后加入请求头,后端写入log即可。但是老大要求后端也要把控必传参数,避免前端忘记。所以就写了这个。IOperation…

Git创建本地仓库

一、创建本地空仓库 1、创建项目文件夹 创建一个全新的文件夹,在文件夹中右键,就会显示出来以下两项: 2、初始化仓库 点击第二个,就会在此目录进入 git 的命令行,然后在命令行中输入以下指令, git init…

使用切换 JDK 的方式优化部署微服务占用内存过高的问题

使用切换 JDK 的方式优化部署微服务占用内存过高的问题 一、前言二、下载 J9 虚拟机的JDK三、切换 JDK1、上传到服务器2、解压3、修改 JDK 路径4、解决 JDK 没有切换成功的问题 一、前言 前段时间在服务器部署了微服务项目,但即使限制了每个服务的堆,内…

[数据集][目标检测]西红柿缺陷检测数据集VOC+YOLO格式17318张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):17318 标注数量(xml文件个数):17318 标注数量(txt文件个数):17318 标…

Python爱心射线

系列目录 序号直达链接表白系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4Python李峋同款可写字版跳动的爱心5Python流星雨代码6Python漂浮爱心代码7Python爱心光波代码8Python普通的玫瑰花代码9Python炫酷的玫瑰花代码10Python多…

Spring mvc < Spring < SpringBoot?他们之间的关系到底是怎样的?

当我们说“spring mvc < spring < springboot”时&#xff0c;这并不是在表示一个严格的包含或层级关系&#xff0c;而是在描述它们之间的依赖和扩展关系。不过&#xff0c;用这种方式来表达可能会有些误导&#xff0c;因为它给人一种感觉像是Spring MVC是Spring的子集&a…

每天一道面试题(8):垃圾收集器GC中的Humongous Regions是什么??

在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;内存管理是至关重要的一个方面&#xff0c;特别是在处理大型应用程序时。JVM 使用垃圾收集&#xff08;GC&#xff09;来自动管理内存&#xff0c;确保程序在执行时能够高效地使用内存。为了支持这种内存管理&#xff0c…

Opencv中的直方图(3)直方图比较函数compareHist()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 比较两个直方图。 函数 cv::compareHist 使用指定的方法比较两个密集或两个稀疏直方图。 该函数返回 d ( H 1 , H 2 ) d(H_1, H_2) d(H1​,H2​…

存储虚拟化

引入-在安装虚拟化VRM界面出现配置数据存储 1.数据存储 还有一处出现数据存储&#xff0c;创建虚拟机时,发放业务虚拟机&#xff0c;不建议选择&#xff0c;autoDS_CNAxx 2.引入FC集群文件系统 传统存储上一个LUN映射给多个CNA使用--集群文件系统VIMS-锁机制--共享存储 3.集群…

启动配置管理一步搞定!体验元数据服务公测版,获得新一代配置管理体验

Bottom of Form 近期Akamai已经开始通过公开测试版的方式为用户提供元数据服务&#xff0c;目前该测试版可以在特定区域使用&#xff0c;并且提供了由行业标准 cloud-init提供的支持&#xff0c;帮助用户实现云实例的免安装以及便捷的首次启动配置管理。 消除复杂性、提高创新…

HttpUtils工具类(三)OKHttpClient使用详细教程

OkHttpClient 是一个由 Square 公司开发的 HTTP 客户端库&#xff0c;用于在 Android 和 Java 应用中进行网络请求。它支持同步和异步请求、连接池、超时设置、拦截器等功能&#xff0c;适合用于高性能网络请求&#xff0c;特别是在需要处理复杂的网络操作时。 一、OKHttpClien…

cell phone teardown 手机拆卸

tweezer 镊子 screwdriver 螺丝刀 opening tool 开口工具 repair 修理 battery 电池 rear panel 后盖 front and rear cameras 前后摄像头 volume button board 音量键线路板 headphone jack 耳机孔 a cracked screen 破裂屏 otherwise non-functional screen 其它坏屏 flex c…