如何入门学习单片机系统开发

2019-02-21 10:10:27分类:嵌入式硬件开发设计6055

  本人与单片机系统打交道已15年有余,熟悉单片机系统的软件、硬件开发,曾主持或参与开发过的单片机系统产品,大大小小的项目不计其数,现与广大热爱单片机系统开发的工程师、在校大学生等朋友分享本人原创的单片机软件硬件技术开发经验。

  本文旨在引导尚未入门的朋友快速进入单片机系统之门,已经熟悉单片机系统开发的朋友敬请拍砖指教或留言补充信息,后续分享的技术文章将逐步深入。
 

单片机系统开发
 

  一、入门知识储备

  想学习单片机系统的开发,必须先有以下几个方面的知识储备:

  (一)微机原理

  (二)C语言编程

  微机原理既是计算机技术的入门课程,也是单片机的入门课程。其实单片机就是一台“高度浓缩的计算机”,其基本原理与计算机及其相似,单片机麻雀虽小,计算机的五脏俱全。

  C语言是目前单片机开发的必备编程语言。单片机软件在N年前是用汇编语言开发的,每种单片机的汇编语言都不一样。由于采用汇编语言开发单片机软件太过于复杂,效率及其底下,现在基本上都用C语言开发单片机软件了,仅在一些很特殊的场合才需要用到汇编语言,例如要求精确控制CPU某段程序的执行时长。如果还没有C语言基础,建议先学C语言再学单片机。
 

单片机系统开发
 

  二、单片机系统开发基本条件

  条件之一:手上必须有单片机实物。学习单片机重在动手,在脑子里空想是学不起来的。可以自己用电路设计软件(如Altium Designer等)做一块电路板;或者直接上某宝买一块现成的单片机开发板。

  条件之二:单片机程序下载器或在线仿真器。这个设备一般没有通用的,单片机系列不同,仿真器也不同。直接上某宝,搜“XXX单片机仿真器”,一般都能找到你想要的。

  条件之三:在PC机上安装好单片机开发平台。单片机开发平台也叫单片机开发环境,是单片机软件代码的编辑工具和代码编译工具的结合体。单片机品牌和系列不同,其开发平台也不一样,例如STM8可以用IAR进行软件开发,也可以采用ST公司自己开发的STVD进行软件开发。

  具备以上三个条件,你就可以开工了。
 

单片机系统开发
 

  三、后话

  虽然世界上的单片机种类有上千种,但单片机技术基本上是相通的,只要掌握了一款单片机的开发,以后遇到其他品种的单片机就非常容易上手了。如果学习第一款单片机需要2个月时间,那么学习第二款单片机就只需要2天时间。

  以上只是谈到单片机系统开发的最基本的条件,但我们知道单片机最终还是应用于产品之内的,单片机系统开发最终还是为了产品开发。因此,仅仅学会单片机软件编程还是远远不够的。一款单片机系统产品从项目立项到最终实现产品量产,其中涉及到的方方面面技术问题还有很多很多,例如如何选择最合适的单片机、硬件的电磁兼容问题、软件的bug调试和软件可靠性、数字量和模拟量信号采集、一般高低电平输出和PWM输出、操作系统、产品成本…,太多太多了!

上一篇:下一篇: