单片机相关知识(单片机相关知识初学)
13442023-08-29
style="text-indent:2em;">大家好,如果您还对单片机的优缺点不太了解,没有关系,今天就由本站为大家分享单片机的优缺点的知识,包括为什么不建议学单片机电路的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
本文目录
如果有比较好的C语言编程、模拟电路和数字电路基础,还是很容易学的。学单片机主要靠实践,只要入了门,接下来就多学习,多练习就行了。有条件最好能自己买一块儿开发板,先看别人写的例程,掌握了方法后,再自己从小程序编起。
我觉得应该先看看自己想要从哪方面入手,是想学单片机相关的硬件、还是学习嵌入式软件。
对于想学习单片机硬件来说,51单片机略显过时,不过学习51单片机和学习ARM等没有太大的分别,只是体系架构的区别,关键的是要理解单片机系统的设计、外围电路的设计以及简单控制程序的编写(c和汇编最好都练习练习),一通百通,后面再学习其它的就快了。
对于想学习单片机软件来说,51单片机受限于内部资源,对嵌入式软件支持没那么好,简单的OS可以跑,但是都有所裁剪,建议还是基于ARM平台学习,学习linux,后续跑在其它平台也能平滑切换经验。
总的来说,51单片机略显过时,但在一些简单的控制领域还有大量应用,大家可以根据自身的情况来选择是否从51学起。
优点:设计简单,程序编写简单,成本低。
缺点:速度慢,功能不强,精度低。单片机和plc、逻辑电路等等的应用方向不同,它主要在仪表和简单的控制电路上应用。严格来说,学习单片机前需要学好模拟电路、数字电路、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语言的基础。
OK,本文到此结束,希望对大家有所帮助。