想学单片机需要先掌握哪些知识,学单片机难不难
有不少电子技术爱好者想自学单片机应用技术,但是因为自己学历和知识储备不足,所以不知道如何入手,也不知道学习单片机需要先掌握哪些知识,下面笔者就以在单片机应用行业多年的经验来谈一谈这个问题。单片机英文名称是micro control unit,简称MCU,翻译成中
文是“微控制单元”,它内部包含有算术运算和逻辑运算单元,随机存储器RAM,只读存储器ROM,计数器,中断管理系统和IO控制器等数字器件,通过上面这些器件的配合,单片机可以实现程序的存储和运行,也可以对数据进行存储和计算。通过这些特性,单片机可以接收传感器发过来的信号,也可以控制电机,电磁铁,电磁阀等机构执行人为设计的动作。
但是要学会使用单片机,需要有一定的基础,主要包括基本的数字和模拟电子技术知识,还要有一定的C语言编程能力,具体来说要掌握哪些知识,这个要看您想学到什么程度,如果只是用单片机控制电机驱动器,或者电磁铁等执行一些简单的动作逻辑,或者控制LED数码管以及点阵液晶显示等,则硬件电路方面只需要掌握以下的内容就可以迈出您学习单片机的第一步了。1,掌握基本的模拟电子技术知识,包括二极管,三极管,mos管工作原理,光耦,运放,晶振等器件的基本应用。2,掌握基本的数字电子技术知识,包括基本的门电路,组合逻辑电路和时序逻辑电路的工作原理,特别是时序逻辑电路中触发器,寄存器,AD,DA转换器等。
软件方面需要会写简单的C语言程序,虽然说单片机编程也可以使用汇编语言,但C语言在使用的方便性和可移植性上要比汇编语言好很多,所以初学者可以越过汇编语言,而直接学习C语言的单片机编程。对于C语言来讲,刚开始只要会用基本的条件语句,循环语句,实现简单的控制逻辑就可以,先不用考虑太多程序结构合理性和可移植性这方面的问题,也不要过早的陷入指针的使用这样的大坑里,否则可能会打击自己学习的信心。
学习初期可以先买一个开发板,先学会单片机开发的环境搭建,主要是单片机集成开发软件keil的配置,软件项目的建立,程序的编译和烧写,先把点亮LED灯,流水灯和控制蜂鸣器这些最基本的程序完整的实现一遍。之后可以把LED数码管显示,按键信号采集,去抖动,串口与PC机通信等例子的程序完整的编写一遍,并且在开发板上把程序运行一下。这时你已经对单片机开发有了初步了解了,已经迈出了单片机学习的第一步了。
后续学习可以偿试自己做一个简单的单片机开发板,把上面这些内容从硬件上自己亲做一遍,自己用EDA软件画一个简单的单片机开发板,投板,买元器件,焊接,上电调试,运行程序。到这时,你就已经入门了,之后要学的更深入就需要有比较扎实的电子技术基础知识和编程能力了,这个不是一朝一夕的事,需要大家一步一个脚印的走下去。所以要学好单片机就要多动手调试电路,多写程序,多研究成熟的单片机项目,硬件软件两条路一起走,这样入门就很容易。
成为单片机高手必知的三个重要步骤(干货分享)
很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部份,按照怎样的步骤进行学习。在摸索学习步骤的过程浪费时间的同时也会造成学习兴趣的降低。为了帮助大家解决这种情况。
第一步:基础理论知识学习
基础理论知识包括模拟电路、数字电路和C语言知识。模拟电路和数字电路属于抽象学科,要把它学好还得费点精神。在学习单片机之前,觉得模拟电路和数字电路基础不好的话,不要急着学习单片机,应该先回顾所学过的模拟电路和数字电路知识,为学习单片机加强基础。
否则单片机学习之路不仅会很艰难和漫长,还可能半途而废。扎实的电子技术基础是学好单片机的关键,直接影响单片机学习入门的快慢。有些同学觉得单片机很难,越学越复杂,最后学不下去了。有的同学看书时似乎明白了,可是动起手来却一塌糊涂,究其原因就是电子技术基础没有打好,首先被表面知识给困惑了。
单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。
相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果在学习的过程中觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,相信大家就会大彻大悟,信心倍增。
模拟电路是电子技术最基础的学科,这是学习电子技术必须掌握的基础知识。一般是先学习模拟电路再去学习数字电路。扎实的模拟电路基础不仅让人们容易看懂别人设计的电路,而且会让设计的电路更可靠,提高产品质量。
C语言知识并不难,没有任何编程基础的人都可以学,当然,数学基础好、逻辑思维好的人学起来相对轻松一些。
C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用他们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,C基础便建立了。
当C基础打好以后,就不会感到单片机难学了,而且越学越起劲。当单片机乖乖的依照设计好的逻辑思维和算法去执行指令,实现预期控制效果的时候,成就感会让设计者信心十足、夜以续日、废寝忘食的投入到单片机的世界里。可以这么说,扎实的电子技术基础和C语言基础能增强学习单片机信心,较快掌握单片机技术。
第二步:单片机实践
这是真正学习单片机的过程,既让人兴奋又让人疲惫,其中的酸甜苦辣只有学过的人深有体会。思想上要有刻苦学习的决心,硬件上要有一套完整的学习开发工具,软件上要注重理论和实践相结合。
有一套完整的学习开发工具
学习单片机是需要成本的。必须有一台电脑、一块单片机开发板(如果开发板不能直接下载程序代码的话还得需要一个编程器)、一套视频教程、一本单片机教材和一本C语言教材。
电脑是用来编写和编译程序,并将程序代码下载到单片机上;开发板用来运行单片机程序,验证实际效果;视频教程就是手把手教单片机开发环境的使用、单片机编程和调试。
对于单片机初学者来说,视频教程必须看,要不然,哪怕把教材看了几遍,还是不知道如何下手,尤其是院校里的单片机教材,学了之后,面对真正的单片机时可能还是束手无策;单片机教材和C语言教材是理论学习资料,备忘备查。不要为了节约成本不用开发板而光用Protur软件仿真调试,这和纸上谈兵没什么区别。
要注重理论和实践相结合
单片机C语言编程理论知识并不深奥,光看书不动手也能明白。但在实际编程的时候就没那么简单了。一个程序的形成不仅需要有C语言知识,更多需要融入个人的编程思路和算法。
编程思路和算法决定一个程序的优劣,是单片机编程的大问题,只有在实际动手编写的时候才会有深切的感悟。一个程序能否按照意愿正常运行就要看思路和算法是否正确、合理。如果程序不正常则要反复调试(检查、修改思路和算法),直到成功。这个过程耗时、费脑、疲精神,意志不坚强者往往被绊倒在这里半途而废。
学习编写程序应该按照以下过程学习,效果会更好。看到例程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。
每一个例程都坚持按照这个过程学习,很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成独特的编程思想。
当然,刚开始,看别人的程序源代码就像看天书一样,只要硬着头皮看,看到不懂的关键字和语句就翻书查阅、对照。只要能坚持下来,学习收获会事半功倍。
在实践过程中不仅要学会别人的例程,还要在别人的程序上改进和拓展,让程序产生更强大的功能。同时,还要懂得通过查阅芯片数据手册(DATASHEET)里有关芯片命令和数据的读写时序来核对别人例程的可靠性,如果觉得例程不可靠就把它修改过来,成为自己的程序。不仅如此,自己应该经常找些项目来做,以巩固所学的知识和积累更多的经验。
第三步:单片机硬件设计
当编写自己的程序信手拈来、阅读别人的程序能够发现问题的时候,说明自己单片机编程水平相当不错了。接下来就应该研究的硬件了。硬件设计包括电路原理设计和PCB板设计。
学习做硬件要比学习做软件麻烦,成本更高,周期更长。但是,学习单片机的最终目的是做产品开发----软件和硬件相结合形成完整的控制系统。所以,做硬件也是学习单片机技术的一个必学内容。
电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册都能找到答案,前提是要看得懂全英文的数据手册。
否则,照搬别人的设计永远落在别人的后面,做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。
虽然有些资料也都是在DATASHEET的基础上撰写的,但内容不全面,甚至存在翻译上的遗漏和错误。当然,阅读DATASHEET需要具备一定的英文阅读能力,这也是阻碍单片机学习者晋级的绊脚石。
在了解电路的含义之后,在进行关于PCB板的相关设计就比较简单了,在这一阶段只要对一些常见的PCB软件能够使用即可,如Protel、AltimDesigner,但如果要求最终的布线效果具有一定的美观度就需要花费一些时间了。
总的来说,作为一名单片机设计者,只要能够驾驭单片机C语言编程,并且能够使用常用PCB软件进行设计画板,此外再具备一定的英文基础。那么一定会成为一名超强的51单片机高手。
【如果你喜欢EDA365的文章,记得关注和点赞哦!】
相关问答
如何弄懂 单片机 时序?单片机时序,我的理解是依据时钟信号,遵循标准,传输数据的过程。那么如果要弄清楚单片机时序,首先需要先弄清楚单片机的时钟信号,时钟信号驱动内核、外设工作...
学 单片机 前,需要首 先 学好模拟电路、数字电路、C语言这些知识吗?严格来说,学习单片机前需要学好模拟电路、数字电路、C语言这些知识。不过这样的说法会吓住很多人,因为有相当一部分人对模拟电路、数字电路、C语言都不是很熟...
单片机 P1——P3口作为输入口的时候为什么要 先 向该口写1呢?问题很简单,要说清不容易,原因是P0~P3都是准双向口,为什么呢?这要看四个并口的口结构图就明白了。什么叫准双向,就是说P0~P3输出没问题,输入就不然了。...这...
学习 单片机 怎么入门?先自己找点资料,可以上网找一些视频教程看看,最好买一本入门的书籍。之所以要看教材和视频,就是要让你对单片机、51单片机有一个总体、系统的了解。并且,在这...
初学者学 单片机 好还是树莓派好?很久没有焊接硬件了,其实也没多久也就离开实验室一个来月。哈哈,这样一说大家可能也猜到了,我就是一悲催的硬件狗。1、单片机和树莓派的不同(直观上)1“...
PLC和 单片机先 学哪个比较好呢?初学者先学plc比较好。PLC比单片机更加的容易上手。学习单片机要学习C语言,学习芯片手册,要想独立的开发项目是需要时间的沉淀和日积月累的过程。...初学者...
自动控制 先 学plc还是 单片机 ?plc和单片机是两样不同的东西。单片机适合于固定化的大批量产品,即产品的硬件无改动。单片机是电子电路方面的,任何扩展都需要人为进行全面设计,包括电子电路...
单片机 io口输出默认是高电平吗?不是所有单片机的IO口输出默认都是高电平,这取决于具体的单片机型号以及其设计的硬件电路。有些单片机的IO口默认输出低电平,有些则默认输出高电平。因此在使...
单片机 学习难度大吗?对于非电子类专业的同学来说,因为不懂硬件,没有相关的硬件思维,学习单片机,会相对难度大很多,很多时候,单片机工程师需要能看得懂原理图,电路图,甚至有些...对于...
想问问 单片机 和CPU有什么区别?有没有大神详细分析一下? 申请方先说说单片机和CPU的关系单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。...