在知乎或者一些技术交流群里,很多人会问这样的问题:为什么大部分单片机课程还是学习51单片机,而不是更复杂/实用的STM32单片机?
其中,点赞最多的是“学校老师不懂STM32”、“教材跟不上时代”……以下两张是部分网页截图:
真实情况如何?
本文一一解释了以上误区,然后介绍了为什么学校还在学习51单片机。
误区一:学校老师不懂STM32?
十多年前,我上大学的时候,我们教单片机的老师确实是一位五六十多岁的老教授,给人的印象就是一个跟不上时代的“小老头”。次。
但认识这位老师的人都知道,他当时正在研究的国家项目是“北斗导航系统”。 他在北斗系统刚推出时就开始参与这项高精度技术。 他表示,学校老师不懂STM32,这确实是“井底之蛙”。 看看世界。
STM32难吗? ——不难!
你能难倒老师吗? ——当然不是!
STM32好学吗? 老师就不能学吗? ——当然不是!
所以,学校老师不懂STM32的理由肯定是站不住脚的。
误区二:学校教材跟不上时代?
大学引进教材确实需要经过比较严格的审核等各种流程。 不过,看到越来越多的物联网教程、开发板教程等被引入到学校,说明这个流程虽然严格,但并不复杂,也不复杂。 不会导致为了教材而不选择其他单片机。
为什么大学还在研究51单片机?
如果你想弄清楚大学的单片机课程选择哪种单片机,首先需要了解单片机课程的教学目的。 开设单片机课程的目的是什么?
小编找到了某985大学的教学计划和课程简介。 微控制器的课程描述如下:
其他学校开设单片机相关课程的目的和目标应该基本相似。 现总结几点如下:
1.了解单片机的工作原理
纵观单片机的发展历史和目前市面上的主流单片机,似乎只有51单片机能够完整清晰地解释单片机的内部工作原理,这对于理解计算机原理也很有帮助。
学完数字电子、模拟电子等课程,你肯定不会造处理器。 但是当你学会了51单片机的原理之后,并且有了数字电子、模拟电子等知识的加持,你就可以轻松地自己搭建一个处理器了。
2、熟悉单片机指令系统
基于51的开发需要编写寄存器甚至学习汇编语言,而STM32等ARM目前基本都是基于库开发。
单片机编程的本质是写寄存器,但现在主流芯片厂商都采用库函数来封装底层,这样更有利于产品的后续开发,但绝对不是学习单片机指令系统的最佳选择。
如果不学51,直接学32,底层就不懂。 一旦遇到疑难杂症,就解决不了。
大学是学校,不是培训班。 它要教给你的是理论知识,而不是可以立即实现的技能。 俗话说:“原则不坚定,地动山摇”。
三、大学教育的目的
大学教育不仅仅是教你如何使用这个东西。 大学更多的是教你如何学习,如何类比,如何举一反三。
大学里教51并不是教如何使用51,而是教单片机的各个组成部分、工作原理、存储器、外设、汇编语言。 高级微控制器也有这些。
在众多单片机中,51简单易学,更适合教学。
注:以上仅代表我个人观点。 如果您有不同意见或者其他想法,欢迎在下方留言“争吵”。
结尾