1.1.1. 哪些人适合学习单片机?
(1)物联网、嵌入式、电子、通信、计算机、自动化等相关专业大一、大二学生。
(2)其他对物联网相关技术感兴趣并想要入门的新手。 (我现在是从新手开始的)
1.1.2.我们应该学习什么?
(1)单片机完整学习(一个月(11月19日前完成),约6-7节课,每节课3小时左右,20小时内上手)
(2)51单片机的高级外设和简单的小项目。 (约2-3周)
(3)学期结束前从51–>ARM STM32过渡学习(还没开始规划,就看学习进度了hh)
(4)开始入门RTOS(嵌入式实时系统)ucosii
(看看明年的时间,如果能学这个,基本做一些嵌入式的东西就没问题了)
(5)STM32的项目开发(大概要看情况)并不是给大家画饼。
如果以后有时间的话,我一定会讲的。 毕竟我的导师也要做东西(最近已经开始布置任务了)
注:我们会注重练习。 我们的课程与软件不同。 我们必须有硬件。 后期我们会争取508/自己买硬件。
没有硬件就根本没有动手能力。 只是纸上谈兵,在房间里跑来跑去。
我只是与大家分享我所学到的东西。 虽然我不是很精通,但是只要我努力学习,一定会有很大的帮助。
我们一起加油吧。
1.1.3. 为什么要学习单片机?
1.1.3.1. MCU和CPU有什么区别?
以下是可编程设备
(1)CPU(中央处理单元)主要是由运算单元和控制器组成的电子电路装置,用于计算和控制。
它是计算机的核心部件。 PC中CPU的著名厂商有Intel的酷睿i5/i7/i9和AMD。
(2)单片机:也是一种外围设备相对较少、编程简单、控制部分的CPU:电饭锅、空调、冰箱,场景比较简单。 我们主要学这个,不涉及OS
(3)应用SoC(CPU升级版):智能手机CPU(多核)、笔记本、工控、航空航天、汽车导航系统:通常带有大屏幕。
这肯定需要操作系统、Linux、Android 等。
(4)FPGA&DSP&CPLD(半导体行业):FPGA(硬件开发:芯片开发,半导体开发:CPU设计)、DSP(与CPU类似,但计算能力更强:视频编解码)
CPLD几乎相当于FPGA,更适合微电子专业的学生。 如果你是大三学生,不建议你学习单片机。
1.1.3.2。 微控制器是世界上最常用的CPU。
应用范围广:电饭锅、冰箱、空调、小玩具……
1.1.3.3。 物联网节点设备主控CPU
例如,测量环境中的一个变量值:一个传感器+一个(ESP8266),总成本只有几十美元。 一件可以使用10年以上。
1.1.3.4。 微控制器是其他物联网编程技术的入门级基础
嵌入式快速上手,Android开发、Java开发都可以
1.1.3.5。 通过学习单片机学习编程语言、调试技巧、工具使用等技能
努力学习,多练习,多观察,努力工作。 大二比较累但是也比较充实,需要打好基础。 我对C语言比较熟悉。
1.1.4. 为什么要从51单片机开始?
1.1.4.1、51单片机最简单
有更多的信息和更多的用途
1.1.4.2、51单片机最为典型
其他单片机和51类似,学会一个就可以很快学会其他的。
1.1.4.3、51单片机应用最广泛
1.1.4.4、51单片机学习成本最低
(1)时间:看似一个月,但实际上是15-20个小时,所以最好的学习方式是每周学习3-4天,这样不容易忘记。
(2)成本:最低
1.1.4.5 和 51 微控制器有许多活跃的变体。
(1)51核心是免费的,所以很多公司在制作内部集成CPU的芯片时喜欢使用51核心。
51来自英特尔公司
ARM是收费的,STM32是ARM公司的。
(2)典型例子包括:电容式触摸IC(51核)、Wifi芯片(ESP8266)、zigbee无线通信芯片(8051)
和内核有关,但是芯片不一样。
1.1.5。 我们的开发板
51单片机+STM8
STM32F407
1.1.5.1。 开发板选择原则
(1)配置:可以整套购买,也可以单独购买(不划算)
(2) 成本效益:
(3)服务和可靠性
1.1.5.2、普中科技HC6800EMS V2.2C
(1)常规配件:开发板主板、液晶屏(1602、12864)、2个电机(步进+直流)、遥控器、USB线、
杜邦线、晶振跳线帽
(2)TFT触摸彩屏
(3)温度传感器ds18b20(约7元)
(4)ARM转接板(核心板)—>STM32学习
1.1.6。 学习这门课程需要什么基础?
1.1.6.1。 编程语言C就够了
1.1.6.2。 最简单的电路,只要知道与非门、电阻、电容、并联、串联就可以了。
1.1.6.3。 英语:如果你能来青岛大学,学英语是没问题的。 如果你不知道,就检查一下。 你的英语越好,你将来的编程就会越好。 你不必刻意去研究它。
1.1.6.4。 计算机知识(如Windows下如何显示隐藏文件、如何显示文件扩展名)
1.1.6.5。 真正必要的学习条件
(1)利息
(2)时间
什么是幸福? 幸福就是做自己感兴趣的事情并从中赚钱。
1.1.7。 学习需要多长时间以及完成学习后会发生什么?
1.1.7.1。 第一阶段:
(一)学习内容
微控制器到底是什么? 它是如何工作的? 什么是外围设备和内部设备? 什么是微控制器和电路板?
如何理解数据手册? 如何看懂原理图? 如何开机和下载程序? 如何使用开发工具? 详细描述每个组件。
GPIO、中断、定时器、按钮、一些传感器。
(2)学习周期
如果要入门的话,15个小时就够了,也就是5节课。 如果熟练的话,大约需要40个小时。
基本上所有单片机都可以玩。
(3)学习后你能达到什么程度?
让我们开始吧,因为我们不是每天都在学习,所以我只能告诉你如何开始。 毕竟我也在学习,能力有限。
1.1.7.2。 其余的部分:
STM32开发:1.阅读手册2.使用HAL库(FPU使用DSP库)
前期学到的都是裸机。 想要学好,就必须学OS。
稍后进行OS操作:RTOS系统暂定为ucos ii,东大老师使用easyflash。
1.1.8。 单片机与嵌入式的关系
1.1.8.1. 什么是微控制器? 什么是嵌入?
(1)微控制器产品和嵌入式产品都是电子产品,以CPU为核心,一些外围硬件为辅助。
1.1.8.2。 微控制器和嵌入式之间的核心区别
(1)CPU差异:是否有MMU(没有单片机,都是硬件地址):虚拟地址映射。
(2)操作系统差异:微控制器一般都是裸机,嵌入式RTOS系统(ucos、easyflash)与Linux、Android有很大不同。
应用层其实就是所谓的云服务器(云计算、大数据)。 应用层通过大数据分析、云计算等手段最终得出结论,然后通过传输层向底层发出操作指令执行。
1.1.8.3。 微控制器和嵌入式之间的相似之处
(1)CPU:很多设计理念是相同的,比如异常向量表和各种外设操作方法
(2)编程语言:以C语言为主,汇编为辅。
(3)个人能力方面:都注重编写、调试、解决问题的能力:这个能力是最缺乏的,我现在正在努力提高这个能力。
1.1.8.4。 单片机与嵌入式的关系
(1)微控制器是一种低级嵌入式设备
(2)嵌入式是微控制器的高级扩展和必然趋势(微控制器升级困难,必须扩展):
这个想法是,大一和大二学微控制器,大三和大四学嵌入式和物联网
1.1.9。 单片机与物联网的关系(你可能比较关心这个)
1.1.9.1。 物联网的三大组成部分
(1)物联网分为三层:
最底层(第一层)是感知层:
传感层的主要组成部分是传感器(如光传感器、PM2.5传感器、电容式触摸传感器等……)、
感知层的主要功能是利用传感器收集信息。 感知层收集信息并发送给传输层(第二层);
传输层(第 2 层)
传输层的核心是无线网络(包括wifi、4G、蓝牙、zigbee…),
传输层的主要目的是将感知层信息传输到上层应用层(第3层);
应用层(第三层)
其实就是所谓的云服务器(云计算、大数据)。
应用层通过大数据分析、云计算等手段最终得出结论,然后通过传输层向底层发出操作指令执行。
(2)物联网的工作原理有点像人体的反射系统。
1.1.9.2。 案例一:智能家居、智慧农业
1.1.9.3。 案例2:语音识别控制系统
1.1.9.4。 微控制器是物联网感知层的核心
如果是做底层核心,需要使用微控制器(Packet Tracer可以做IOT开发)
1.1.10. 单片机与C语言的关系
1.1.10.1. 微控制器一般使用C语言编程(99%)
1.1.10.2。 很大一部分是学习单片机的C语言
1.1.10.3。 C语言不仅仅用于微控制器
1.1.10.4。 学习策略
(1)跟着51从头学简单的C语言:除了大一学过的,这种都算是巩固。
(2)找一本标准的C语言书籍系统地学习C语言。 推荐:将CProgrammingLanguage翻译成《CProgrammingLanguage》pdf就可以了。
(3)跟随STM32继续深入学习复杂的C语言语法特征:结构体、枚举、宏定义大量使用
(4)学习C语言原则:以用促学:先入门后,不要为了学而学。 如果你用它来学习,你会更好地理解C语言。