学习单片机前掌握数字电路和模拟电路和电子制图

在给单片机新手提学习建议的时候,一般都会说:首先要熟悉单片机的原理、结构,其次要学好数电、模电、为电路设计打好基础;然后要对操作系统有一定了解,当然还要如果要用C语言开发单片机程序的话,还得熟练掌握C语言;最后要对电路设计软件有一定的了解,能设计简单的PCB。这些真的都要在学单片机前掌握吗?

这个答案肯定是一定的,在学习单片机前一定要掌握好数字电路和模拟电路还要掌握简单的电子制图,下面从三方面进行说明。

单片机是用来驱动外设的

学习单片机的主要作用就是用来控制和驱动外围设备,驱动外围设备的主要方式就是通过外围器件的时序图对单片机进行相应的编程,而时序是属于数字电路中的一门非常重要的知识,所以在学习单片机前要学好数字电路。

学习单片机前掌握数字电路和模拟电路和电子制图

单片机驱动能力较弱

单片机在驱动数码管,电机等我们常见的较大电流的设备时将单片机的引脚直接连接到单片机的引脚这种方式是无法驱动设备的,有时我们需要对数码管加上三极管来驱动,对电机也要加上电机模块进行驱动。所以这一块的知识又和模拟电路有直接联系。

学习单片机前掌握数字电路和模拟电路和电子制图

单片机工作

单片机工程师在做项目时需要和公司的硬件工程师进行合作,当硬件工程师将自己的电路图设计好后交给单片机设计工程师进行编程,因此单片机工程师更需要对电子制图有了解。C语言更不必解释了他是每一个单片机设计者的语言基础。

严格来说,学习单片机前需要学好模拟电路、数字电路、C语言这些知识。

不过这样的说法会吓住很多人,因为有相当一部分人对模拟电路、数字电路、C语言都不是很熟悉,包括我自己,我当时学单片机的时候,对模拟电路、数字电路、C语言这些知识只是知道一点,后来在学单片机过程中,逐步熟悉了这些知识。所以可以换一个温和点的说法:在学单片机之前,需要对模拟电路、数字电路、C语言知道一些,然后在学习过程中在逐步学习、了解、掌握模拟电路、数字电路、C语言的知识。

至于说为什么在学习单片机之前要有模拟电路、数字电路、C语言的基础。那是因为一个单片机系统首先是由一个个基础电路组成的而这些电路涵盖了数字电路、模拟电路,而C语言是要把单片机所实现的功能用C语言表达出来,这样既有电路,又有程序(也就是我们常说的既有单片机系统是由硬件和软件组成的),才是一个完整的单片机系统。

学习单片机前掌握数字电路和模拟电路和电子制图

一、为什么要学习模拟电路知识

首先,单片机系统必须要有电源电路,而电源电路必然牵涉到整流、滤波(单片机电路一般没有我们常说的由交流整流到直流的电路,但是并不绝对没有),这个很明显就是模拟电路了,而我们常见的单片机时钟电路的晶振两侧有两个谐振电容,这两个电容的作用,也属于模拟电路的范围,当然了还有AD/DA转换电路,放大电路(尽管这些电路现在很多都有现成的集成芯片)等等,甚至一些单片机产品要做防爆、3C认证的时候,都要做静电测试,这些都是单片机系统中要考虑的模拟电路问题。

学习单片机前掌握数字电路和模拟电路和电子制图

二、为什么要学习数字电路知识

首先,单片机本身就是一个数字电路,单片机所能识别的信号、输出的信号都是由“0”和“1”组成的,这是标准的数字电路。(有些人可能说,有的单片机有A/D转换功能等等,但这些最终到单片机处理的时候,都是数字信号)。而单片机系统立面大量运用的串口通信,IIC,SPI,USB这些通信,无一例外都是一个个“0”和“1”组成的,这些是模拟电路还是数字电路,就不用多说了。

学习单片机前掌握数字电路和模拟电路和电子制图

三、为什么要学习C语言

我们常说单片机系统是由硬件和软件组成的,硬件当然就是由模拟电路和数字电路组成的电路,二软件就是由专用的编程语言编写的程序了,单片机常用的编程语言是汇编语言和C语言(嵌入式C语言),而汇编语言由于通用性差,移植有难度等等缺陷,已经很少有人用了,现在绝大多数人都用C语言来编写单片机程序,用C语言编写单片机程序的优点是:易读,易移植、语法简单、功能强大。

学习单片机前掌握数字电路和模拟电路和电子制图

综上所述,学单片机前,应该有模拟电路、数字电路、C语言的基础。