很多人说单片机很简单,有些本专业学生为什么学起来这么吃力?

2022-12-27  

在网上看到这么一个话题,自己特别有感触,不自觉的想写一下自己的看法。

单片机编程,我们的教材是《单片机原理及应用》。 当时我们的很多同学都觉得单片是最难的。

单片机对于大学生而言, 是一个新的学科,不像语文,英语,代数,数电等,学了很多年。

而且单片机里面的很多理论知识又非常抽象,不知道如何理解,很多东西都是要靠死记硬背。

大学单片机教程里面主要针对的就是单片机的设计原理,单片机的寄存器介绍,GPIO的结构,定时器的工作原理,以及汇编指令集体等。

这些东西往往是最枯燥的,而且是很难记忆的。

很多同学在网络上搜索了一下,网上说单片机编程的学习很简单,这让大家大跌眼镜。

为什么?接下来我从四点给大家简单的解析一下。

1.大学学习和实际工作的目标不一样

大学学习的目标是掌握单片机的原理和理论,同学们的目标是期末考试能考60分,这门课就算是过关了。

但单片机程序开发的实际工作不一样,实际工作中主要针对的是单片机的应用和开发,是要求你在规定的时间内完成产品的开发。

老板要你3天完成产品开发,你绝对不能超过3天,因为老板要赚钱,要算利润。

2.大学教材缺少实战

大学的单片机学习,大家基本上都是围绕着《单片机编程与应用》这本书学习,没有配套的学习套件,开发板,项目实战。

脱离了应用,理论就无法落地,也无法得到验证,这加剧了单片机学习的难度。

当然,以上这些情况随着大学办学条件越来越好,单片机学习的开发环境都有所好转。

很多大学都设立了“单片机电子大赛实验室”,主要是针对“全国电子专业人才设计与技能大赛”的,在这里大家可以参与单片机开发的实战

3.大学学习的理论知识和实际的需求严重脱轨

我参加工作10多年了,一直从事单片机程序的开发工作,如果现在回到大学,拿他们的期末考试卷考试,我基本上可以确定自己是不及格。

一方面是因为自己参加工作太多年,都是基于单片机产品开发应用的,理论知识基本上全忘了,另一方面,大学教材的知识,在单片机开发实际工作中基本上用不到。

就像单片机的结构是冯诺依曼?还是哈佛结构?我们工作中需要了解吗?不需要。

大学教材里单片机的编程语言,主要学习的是汇编,但实际工作中,用得是非常非常少的。

也就是说单片机大学的教材和实际的工作需求没有完美的接轨。

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等。

以上两个是单片机产品开发的基础,有了这些基础,大家就可以做一下单片机开发的简单项目了,就可以开始实战了。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。