当我在网上看到这样的话题时,我特别感动,不自觉地想写下自己的看法。
对于单片机编程,我们的教材是《单片机原理与应用》。 当时我们很多同学都觉得单体是最难的。
单片机对于大学生来说是一门新学科,不像语文、英语、代数、数学、电学等已经学习了很多年。
而且单片机很多理论知识很抽象,不知道如何理解。 很多东西都需要死记硬背。
大学单片机教程主要围绕单片机设计原理、单片机寄存器介绍、GPIO结构、定时器工作原理、汇编指令集合等内容。
这些事情往往是最无聊、最难记住的。
很多同学在网上搜索发现,学习单片机编程非常简单,这让大家感到惊讶。
为什么? 下面我从四点给大家简单分析一下。
1.大学学习和实际工作的目标不同
大学学习的目标是掌握单片机的原理和理论。 学生的目标是在期末考试中获得60分,这意味着他们已经通过了该课程。
然而,单片机程序开发的实际工作却有所不同。 实际工作主要是单片机的应用和开发,要求你在规定的时间内完成产品的开发。
老板要你3天完成产品开发,你绝对不能超过3天,因为老板要赚钱,要计算利润。
2.大学教材缺乏实践经验
大家在大学学习单片机的时候,基本都是围绕着《单片机编程与应用》这本书来学习的。 没有配套的学习套件、开发板或实际的项目实践。
没有应用,理论就无法实现或验证,这使得学习微控制器变得更加困难。
当然,随着大学的办学条件越来越好,单片机学习的开发环境也有所改善。
很多大学都设立了“单片机电子竞赛实验室”,主要是为了“全国电子专业人才设计与技能大赛”,大家都可以在这里参与单片机的实际开发
3.大学所学的理论知识与实际需要严重脱节。
本人工作10多年,一直从事单片机程序开发。 如果我现在回到大学并参加他们的期末考试,我基本上可以肯定我会失败。
一方面,因为我工作了这么多年,都是基于单片机产品的开发和应用,所以我基本上已经忘记了所有的理论知识。 另一方面,大学课本上的知识在单片机开发的实际工作中基本上没有用到。
就像单片机的结构是冯诺依曼的? 还是哈佛的结构? 我们在工作中需要知道这一点吗? 不必要。
大学教材中的单片机编程语言主要以汇编为主,但在实际工作中很少使用。
也就是说,MCU大学的教材并不完全符合实际工作需要。
4.单片机学习需要理论与实践相结合
理论知识太枯燥,原理很难理解。 死记硬背是很痛苦的,也是最容易忘记的。
如果单片机的学习和理论能够与实战有效结合,单片机的学习将会变得非常容易上手。
而且理论与实践相结合还可以帮助你更有效地理解单片机的理论知识。
这里我给大家举个例子,来说明一下单片机编程实战是多么的简单。
例如:如果要完成点亮LED1,代码如下:
#include “reg52.h” //单片机头文件
sbit LED1 = P2^7; //LED1对应的IO定义 P2.7脚
void main(void)
{
LED1 = 0; // P2.7 输出低电平,LED1 亮
while(1); // 无线循环等待
}
当然我们实际的代码不会这么粗糙。
话虽如此,大家还是感觉有些疑惑。 如果想找单片机编程相关的工作,单片机开发需要学习哪些知识呢?
第一:单片机编程C语言基础
大学里学的汇编语言在实际工作中基本用不到。 目前绝大多数微控制器都是用C语言编程的。
市面上大部分C语言教程都是针对纯软件的,开发环境和开发模式都会有所不同。
有关单片机C语言编程的入门视频教程,您可以找到无极单片机编程。 学习完毕后,可以无缝过渡到微控制器的开发。
二:单片机外围驱动
学完C语言后,大家需要掌握单片机的外设驱动,比如GPIO输入输出、外部中断、定时器、ADC等。
以上两者是单片机产品开发的基础。 有了这些基础,大家就可以做一个简单的单片机开发项目,开始实战了。
最后的复活节彩蛋时间!!!
最近有同学向我要单片机的资料。 我花了一个月的时间总结了自己10年的产品开发经验,收集了史上最认真、最硬核、最实用的《高级单片机入门教程+工具包》。 +22个热门项目”,免费分享给大家。
资料包几乎涵盖了C语言、单片机、模拟和数字电子、原理图和PCB设计、高级单片机编程等内容,非常适合初学者入门和进阶。
另外,我会在盒子底部泪流满面地分享我整理的22个热门开源项目,包括源码+原理图+PCB+文档,让你快速成为高手!
据说有朋友就是通过这个成功加入BAT的,一定要保存好,好好学习!
后期我也会成立一些技术交流群,让大家可以认识更多的大佬,有一个良好的圈子。 您对行业的了解将处于最前沿。
如果你想要上面的“MCU入门进阶教程工具包+进入MCU交流群”,可以点击下方⬇️卡片查看文章开头即可获取。
或者你可以寻找全网同名的“Boundless Microcontroller”。
以下是无极更多原创的个人成长经历、行业经验、技术资讯。