产品选型

跟我学单片机 初学者如何快速上手单片机

小编 2024-10-06 产品选型 23 0

初学者如何快速上手单片机

(此处已添加圈子卡片,请到今日头条客户端查看)

单片机的学习者有初入职场的菜鸟工程师,有渴求知识的在校大学生,也有迫于项目需求的电子工程师。迫于项目需求转换开发平台的电子工程师往往具备其他类型单片机的使用经验,学习新类型的单片机并不会有太大的障碍,但是菜鸟工程师和在校大学生就是真正的“初学者”。初学者在开始学习单片机的时候都有一个相同的问题那就是“怎么才能尽快地学会使用单片机?”

菜鸟工程师由于身边有“老兵”的指导,加之有目的明确的工程项目的驱动,在单片机学习上并不会走太多的弯路。在校大学生在学习之初,首先要面对的就是“迷茫”,空有一腔热情,却不知如何下手。

在学习单片机之初应当有一些基础知识准备。单片机是电子技术发展到一定程度才出现的产物,本身就是众多电子技术的结晶,对其中一些知识的了解是学习单片机所必需的,所以网络上经常出现的“零基础”学习单片机是不客观的说法。在学习单片机之初,应该具备基础的电路知识,主要包括基本的数字电路和模拟电路知识。比如,在学习单片机的I/O口时,就会涉及数字电路知识中I/O口电平、施密特触发器等内容;在学习单片机的ADC通道时肯定会涉及信号带宽等模拟电路方面的内容。在学习单片机之前不苛求必须有深厚的电路功底,但是常识性的电路知识是不可或缺的。

学习单片机的很大一部分工作是学习单片机的编程,简单地讲就是编写代码控制单片机的工作流程。目前,绝大部分的单片机开发工具都能够支持C语言,并作为单片机的开发语言,也有人推崇使用汇编语言作为单片机的开发语言。不可否认使用汇编语言可以获得更高的执行效率和代码密度,但是汇编语言在开发效率和代码的可读性上比C语言要差。事实上,C语言编译器效率已经提高到了相当高的水平了,C语言编写的代码编译后在执行效率和代码密度上跟汇编语言相比并没有太大的差距,C语言早就成为单片机开发的绝对主力。所以初学者掌握基本的C语言知识即可,无须在开发语言的抉择上花费太多的时间。

准备的最后一点就是学会使用最基本的实验设备,这里列举一般的实验室都能提供的4种设备:万用表、稳压电源、示波器和信号发生器。这些设备的熟练使用将对学习中遇到的调试(bebug)有非常大的帮助。

有了以上的准备,就可以正式开始单片机的学习了。初学者最好选用一款性能稳定,范例丰富并且推广较好的单片机作为学习目标。性能稳定,避免在学习过程中遇到由于芯片本身的设计失当导致的一些无法解决的问题;范例丰富,大量的示例供用户阅读和借鉴,更容易理解单片机的操作机理;推广较好,意味着学习的受众面较广,有很好的学习氛围和学习资料,并且有容易获得的学习开发板。从这3点出发,MSP430系列单片机就是一个很好的选择。

首先,该单片机目前在电子行业已经使用多年,一直都作为低功耗单片机的标杆产品;其次,该单片机所有的型号都具备官方范例代码,而且有较多的参考案例;最后,MSP430单片机在中国通过大学计划推广了多年,大量的大学生使用这款单片机完成实验、参加竞赛,积累了很多的书籍教材和网络资料,开发板类型也很丰富,TI提供售价约为几十元人民币的LaunchPad开发板。单片机都有相似性,学会使用一款单片机,再过渡到另一款就不太困难了。

学习单片机可以从学习单片机的开发环境开始,当前的单片机都有自己对应的集成开发环境(IDE,Integrated Development Environment),并有免费版本供初学者下载使用。集成开发环境可以完成代码的编辑、编译和调试过程,使用起来比较方便。TI推出的CCS5还可以完成MSP430单片机的图形化配置。对于初学者,集成开发环境的基本使用没有障碍,但是特别要注意的是开发环境中对应的开发工程的属性配置。

熟悉开发环境的开发流程后,就可按照引导教材或者用户手册,逐一了解单片机的各功能模块的特性并完成对应的功能模块的实验操作。逐个模块熟悉下来,基本上一款单片机即可学会使用。这样一个流程下来,能够掌握单片机的基本操作。希望熟练掌握则需要进一步通过完成更为复杂的实验或者项目来锻炼。

前面的介绍中也强调了实验的重要性,实际上大多数学习单片机的初学者都会陷入一个误区,过度的重视实验,把绝大部分精力放在调试上,却忽视了单片机使用原理的学习。这种情况在大学生身上非常明显,很多情况下还没有能够理解单片机功能模块或者外设的使用原理和方法,就急切的展开实验。大多数情况下,编写的代码还存在缺陷甚至错误,无法达到预期的效果,就进入到了无尽的盲目修改和调试中。最典型的情况就是刚开始接触一个外设,连工作方式和寄存器的功能还没有弄清楚,就开始粘贴示例代码,并编译下载。反复调试不能成功,心态就开始变的浮躁,进而厌恶单片机。

如果一直调试未果,学习热情被消耗殆尽,对单片机的使用产生恐惧感,最终就会放弃单片机的学习。细究这种情况的原因,其实就是急功近利的心态在作祟。初学者都急切的希望自己的代码可以跑起来,所以重心就从“学”偏移到了单纯的“做”上。这种心态我要特别提出来,希望能够告诫初学者必须保持平稳的心态,先仔细地浏览教材或者用户手册,理解工作原理,之后再调试代码完成实验。

单片机学习过程中每个人都会遇到各种各样的难题并且遭遇长时间的调试过程。遭遇到这样的情况,就需要冷静下来查找问题成因。一方面,可以借助于网络,查找是否有相似的问题并借鉴其他人的分析及解决方案,这是一个比较直接高效的方法;另一方面,反复地查阅单片机的数据手册或者用户手册,逐个分析列举可能的原理,并设置对应的测试来解决,一些“莫名其妙”的问题,往往需要通过这样的手段来解决。

当然,能够获得有使用经验的老师或工程师的指导则是最直接、最有效的方法。随着单片机学习以及使用的深入,遇到的问题将越来越复杂化,这时候外界因为缺乏对此项目的深入了解,所能起到的协助作用就会减弱,这个时候独立的定位问题以及解决问题的能力就必须具备。所以在学习的整个过程中,都应该有意识地培养这种能力。

当熟悉单片机的使用之后,就应该完成一个视野转换的过程。这个时候关注范围则应该由单片机扩展到整个单片机系统上,不仅仅关心单片机上代码的实现,还需要考虑如何构建以单片机为核心的电子系统。单片机工程师一般会对一个或者若干个类型的单片机非常熟悉。

在得到工程项目需求时,能够快速地评估系统所需要的单片机控制核心,在满足需求的前提下一般会尽量采用最熟悉的单片机,合理设计划分系统电路功能模块,尽可能高效利用单片机片上的外设,以达到最优化的设计。如果评估发现使用的单片机不合适,则还需要更换单片机平台。在工业应用上,还必须考虑单片机系统所需要面对的严苛工作环境,保证系统能够顺利通过相应工业标准的测试。最终完成由点到面的扩展,逐步朝单片机工程师方向迈进。

(此处已添加圈子卡片,请到今日头条客户端查看)

如何学习单片机:单片机都是相通的,一通百通

单片机是一种可编程的器件,现在所见到的电子产品中几乎都是以单片机为核心的,根据不同的功能需求,搭建不同的电路,从8位的单片机到32位的单片机,甚至比较高大上的ARM和DSP都可以看成是高级一点的单片机。

单片机是一种工具,由于可编程,所以大大简化了设计电路的复杂程度,软件可以很轻松的完成复杂的逻辑,所以单片机在电子产品中处处可见。对于8位单片机而言,其典型的代表就是51单片机,由于51单片机资料众多,大学里也开设了51单片机的课程,所以很多初学者都把51单片机作为入门的首选。

电路设计

但实际情况是,很多公司都选用STM8、STM32、AVR、MSP430、PIC系列的单片机去设计产品,而很少选用51单片机,原因是上述单片机功能更为强大、片上资源更为丰富,而且价格也不是很贵。所以很多朋友想问,会51单片机,再去学习STM32等功能更强大的单片机,该怎么过度?

51单片机开发板

答案是很容易过度。

单片机是一门工具,不同的单片机都是相通的,学会一款型号,可以很快的入手其他型号,单片机一通百通,做好产品才是最终的目的。51单片机到STM32的过度,不困难,仅体现在单片机寄存器的配置上,下面分几个方面进行说明。

1.从外围电路层面的过度

在产品设计中,单片机往往是核心,产品的不同功能需要不同的外设电路去支撑,同一外设电路不会因为单片机的更换而发生颠覆性的改动,所在外设电路这个层面上,不同平台的单片机其外设电路基本一致,只需要考虑GPIO口的复用功能即可。STM32单片机的片上资源更加丰富,使用合适的片上资源和GPIO端口甚至可以简化电路的设计

小米扫地机器人中的STM32单片机

2.从寄存器层面的过度

STM32单片机是32位的,51单片机是8位,STM32单片机片上资源丰富,功能强大,相应的其寄存器也就越多。但是同样的功能其区别不大,仅仅是寄存器的名称和配置方法不同。所以从51单片机过度过来后,要熟悉一下STM32单片机的寄存器和配置方法。

3.从库函数层面的过度

STM32单片机提供了库函数操作,这大大降低了编程的复杂度,官方都把片上功能和相应的寄存器都配置好了,形成了函数,用户只需要调用函数就可以实现片上功能的调用,这在51单片机是没有的。所以,从51单片机过度过来需要了解一下STM32单片机的固件库的使用方法。

Arduino中的ATMEGA

4.从编程层面的过度

现在基本都用C语言进行编程,唯有区别的还是寄存器的写法,其他语法一致,即便是跨平台移植,也容易操作。所以在这个层面上不存在困难的地方。

树莓派中的ARM

其实学单片机很容易,在前期学的是心理,只有克服了心理上对单片机的恐惧,才能踏踏实实的学好单片机的功能。万事开头难,想学单片机要尽早入手把开头尽可能提前,才能学好单片机。

综上所述,单片机是相通的,学会一款单片机很容易入手其他型号,很容易过度。

一个馒头引发的血案:初学单片机,还有必要从51单片机开始吗?

相关问答

如何快速学习和掌握 单片机 知识及应用?

单片机的学习只要掌握相应的方法,而且你又一点点相应的基础是完全能够快速掌握的,你需要从下面几个方面进行切入。1.学会读单片机的数据手册,了解他的外设功...

谁能教教我怎么 学单片机 ,先学什么,怎么入门?

我可以,单片机入门简单。你有c语言基础吗?简单的电路基础吗?有的话51单片机,两个星期就可以做出蛮好的小东西。没有基础的话,先看看c语言,看到函数和数组...

单片机 难学吗?

如果有比较好的C语言编程、模拟电路和数字电路基础,还是很容易学的。学单片机主要靠实践,只要入了门,接下来就多学习,多练习就行了。有条件最好能自己买一块...

单片机 应该怎么学?c语言基础不好,不知道从何入手?

说一下我学习AVR单片机的过程吧,从这个过程中也许会给一些单片机初学者一些启示。第一阶段:知识准备在学习AVR单片机之前,我对单片机已经有所了解,并且写过...

学习 单片机 需要什么知识基础?

朋友们好,我是电子及工控技术,我来回答这个问题。单片机作为一种实践性非常强的技术,要想入门单片机就要有做一些准备,有一句话叫“兵马未动,粮草先行”,我...单...

单片机 学习方法 单片机学习技巧 - 汽车维修技术网

[回答]qcwx_s2()

如何学习 单片机 ?

学习单片机之前,需要有一些基础知识的准备,例如元器件知识、模拟电路、数字电路、C语言等这些知识需要知道一点。这些知识有一个直观的概念就行了,具体的更深...

我想问 单片机 ,你了解多少?

想了解单片机,就需要了解单片机的工作原理,开发环境、编程语言、端口、功能模块等等。一、了解单片机的工作原理我们都知道,在学习一项技术的时候,第一条就...

什么是 单片机 ?

单片机不是执行特定逻辑功能的芯片,而是将计算机系统集成到芯片上的芯片。它等效于微型计算机。与计算机相比,单芯片计算机仅缺少I/O设备。简而言之:芯片变成...

单片机 学习难度大吗?

对于非电子类专业的同学来说,因为不懂硬件,没有相关的硬件思维,学习单片机,会相对难度大很多,很多时候,单片机工程师需要能看得懂原理图,电路图,甚至有些...对于...

猜你喜欢