十天学会单片机可能吗?单片机入门需要多久?
几年前,我是通过郭老师的十天学会单片机教程和配套开发板入门单片机的。
最近被学员问到比较多的问题就是,单片机的学习周期大概要多久。
今天在这里统一回答下。
这个主要是要看学到什么程度,不过十天对大多数人来说都不太现实。
因为做单片机开发,不单单是学习单片机而已,而是一整个知识体系。
这个知识体系里包含了3大模块:基础电路、C语言/汇编、单片机 。
一、基础电路
基础电路如果你没看到这篇文章,光这块的内容就够你学几个月,甚至学几年都学不懂。
相信行内的人都知道,我这里讲的就是模拟电路,这玩意还是挺复杂的,学习门槛也高。
至少是高中水平以上的数学打底,电路需要各种高数公式计算,关键是如果你是从事单片机开发,即便学了其实也很难用到。
不管你以后是想深造硬件电路方向,或者是单片机软件开发方向,我都不建议前期花太多时间去研究模拟电路,只需要会基本电路:欧姆定律,串并联电路,电阻电容、二极管,三极管就差不多了。
原因很简单,前期你经验有限,不可能把模拟电路吃透,很多知识我们只有经历了项目,再回过头来看这些理论,根据经验去理解理论你才能看的懂。
就好比,我英文水平一般,如果我完全没接触过这个行业,英文的芯片手册根本看不懂。
等我做到一定经验的时候,通过经验去理解手册就能看懂70%,就是这个道理。
很多人没经验,以为先有理论,把基础打扎实,这样就能看懂了,这个方向是错误的,至少我个人是这样认为的。
我的方法是,先学基本元器件的作用和单片机最小系统电路,然后就去研究市面上那些51开发板原理图,第一步先看懂这些原理图,这个时间我预计要1周 。
二、C语言/汇编
汇编目前其实还是用得比较少的,我的建议前面可以先不学,以学习C语言为主。
C语言根据我们的课程规划,内容大概有20多个章节,学习周期大概需要7-10天。
三、单片机
单片机可以和C语言同步学习,因为你学习C语言的过程中需要去实践,传统纯软件可能会用C-Free之类的工具。
如果你是做单片机开发的话,可以直接把写好的程序烧录到单片机上实践,控制LED亮灭,实现流水灯的效果。
培养单片机C语言编程的思维,这个跟纯软件的思维还是有点区别的。
如果同时学C语言和单片机的话预计需要15-20天左右。
加上硬件基础的5天,入门总共需要25天。
这是一个入门的级别,达到这个级别以后你就可以尝试用51单片机去编写一些简单的小项目,比如说用数码管做一个时钟。
这是必须要去做的环节,一个项目能巩固你前期所学的知识,进一步地加深你的理解,初步锻炼你的功能实现能力。
如果这步直接省略,去进阶更高级的单片机,比如说STM32,那你后续每学一个知识点都会存在大量的问题,自信也会被一点点摧毁。
很多学到一半觉得太难了,最终放弃,大多都是这个原因,
其实单片机并不难,门槛也没一些文章说得高,但是学这个比较讲究细节,学习路径不能错,然后按部就班,把该学的知识掌握了再继续往下,相对就比较顺利了。
十天学会单片机很正常,但电子工程师仅凭学会单片机并不好找工作
电子信息工程专业毕业后就业面非常广,毫不客气地说“一切涉及电子相关的工作岗位都适应该专业”,在这里我举一两个例子。
比如通信行业,有条件地可以进移动、联通、电信,工作内容可以是设计工程、施工、调试(基站、机房)等;工作几年后能力强也可以转领导。
再比如微电子行业,工作内容是集成电路的设计和制造、FPGA(CPLD)的开发,运气好能进入到这行并扎根发展的同学后来待遇都不错。
以上工作领域每年招聘人数相对较少,就业面稍显狭窄,进入相应单位工作需要一些关系或运气加持,大部分同学毕业后更多的还是从事电子电路设计这方面工作,也就是所谓的电子工程师岗位。
电子工程师这一岗位招聘单位多,工作内容丰富,所处行业也是千奇百怪,小到电子玩具大到汽车工业,从日常可见的家用电子到不常见到的工业设备都要用到电子工程师,真正的印证那句“一切涉及电子相关的工作岗位都适应该专业”。
这些不同行业相同种类的工作都涉及到两个基础技能,电路设计与单片机编程。
电路设计有一定的难度,需要时间经验的积累,电子工程师岗位所谓的活到老学到老指的就是这个。
单片机编程相对简单点,市面上有很多相关教学视频,比如“十天学会单片机”、“从入门到精通”、“单片机超级简单”这些。
从这些教学视频的标题可以知道,学会单片机“可能”真的不难,之所以要加个“可能”,是因为学会单片机本身确实不难,但却存在一定的先决条件。
比如:简单的C语言编程基础,简单的数字电路基础。
如果以上两项技能一点基础都没有,估计“十天学会单片机”还是存在一定难度的。
学单片机就是学习如何操作单片机的管脚以及一些常见的外设,比如IIC存储、串口通讯、AD值读取、液晶显示、中断处理这些。
如果只是学会以上这些基础应用就代表“学会单片机”,别说“十天学会单片机”了,你努努力熬熬夜然后跟我说“自己两天学会了单片机”我都信,不是你天赋异凛,确实是这个太简单了。
从实际应用角度来说,学会以上技能不能说没一点用处,但真要说有多大用处还真说不出来,可能最大的用处就是安慰下自己吧!至少能证明自己学习有了收获。
芯片读写时序图
在我看来,所谓的“学会单片机”不能只是跟着教学视频学会了几个简单外设的读写,更应该是学会独立查看芯片的DataSheet(芯片手册,相当于芯片说明书),查看它们的电气特性以及操作时序。
只有当自己有能力独自查看各种芯片的DataSheet,然后根据DataSheet中标明的时序独立编写程序对其进行相应功能的读写,这才叫“学会单片机”。
如果连这点能力都达不到,那可不能算“学会单片机”,顶多是“学会了教学视频中的单片机”。
实际应用中,我们需要用到的芯片比教学视频中介绍的多的多,如果只会那几种则很难胜任实际工作。
有人可能会说,现在网上各种实例多的是,大部分芯片都能在网上找到实例,实际工作根本没那么难,学会教学视频中的那些就够了。
上面这种说法有一定的道理,但谁能保证万一呢?万一遇到网上找不到教学资料的芯片怎么办,难道就不工作了?
好消息是我工作这么多年,用到的芯片中百分之七八十在网上能找到相关例程,只有百分之二三十怎么找都找不到资料,需要自己根据DataSheet不断编程测试。
坏消息是找到例程的这部分程序中又有百分之七八十没办法直接移植,有的需要修改时序,有的不适用我们的单片机,需要根据全程重新编写程序,这时候没办法了,只能硬啃DataSheet。
芯片电气性能
找的到例程最好,即使不能直接移植也可以当个参考;找不到例程也没关系,只要自己本事过硬就一点不怵。
话说回来,就算将跟着“十天学会单片机”类教学视频学会单片机当作“真的学会单片机”,在实际工作中也没太大用处,仅凭这点很难找到满意的工作。
前面就说过了,电子工程师涉及到两个基本技能,一个是单片机编程,另一个是电路设计。
很少有单片机是脱离电路来工作的,那些仅凭单片机就可以拿下的工作,说实话不要单片机也能拿下,说不定还能省一部分成本,毕竟单片机挺贵的,能用数字芯片替代的绝对不用单片机。
单片机更多的是用来采集硬件电路接收的模拟信号,加以分析处理后做出相应的措施。
比如汽车应用中的自动大灯。
理论上单片机可以根据季节的变化,判断白天晚上再选择固定时间自动开启大灯,实际应用中则有很大的误差,一个是天黑的具体时间很难判断。
同样是夏天也有天黑的早天黑的晚的时候,如果仅凭季节变化固定开类时间,有可能会天还大亮就开灯,天黑了还不开灯的可能。
再者遇到乌云密布的下雨天时也可能会天黑,这时候该开大灯时又不开,那怎么能说是自动大灯呢?
最好的办法是设计一个硬件电路来检测光亮度,该硬件电路将采集到的光亮度模拟信号传到单片机,单片机采集后设定一个阀值,当实际采集到的光亮度低于该阀值时便开启大灯,高于阀值时则关闭大灯。
这样硬件软件的结合就能避免该开灯时不开灯,该关灯时不关灯的尴尬。
综合看来,电子信息工程专业毕业的同学,想找个本专业相符的工作仅凭单片机是不够的,硬件电路同样不能少,甚至更重要,不过硬件电路的设计也更难,这个需要不断的学习不断成长才行。
相关问答
单片机下载 程序方法?你好,单片机下载程序的方法主要有以下几种:1.使用单片机编程器:将编写好的程序通过编程器连接到单片机上,通过编程器将程序下载到单片机的存储器中。2.使...
怎么自学 单片机 ?需要用什么软件看什么书?单片机应用广泛,学会单片机很有发展前景。学习单片机主要包含硬件学习和软件/程序学习两个方面,这两个方面都会涉及到相应的软件。1.单片机硬件学习单片机在...
想学习 单片机 ,有什么好的书籍推荐?五年之前那是在大学期间,距离现在大约有4年了吧,教我们单片机的老师要离我们而去了,因为她要去她的城市教书去了。怎么形容她呢?那是一个风度翩翩,很有才华...2...
如何将 单片机 程序 下载 出来?看你的是什么型号单片机,使用配套的编程器就能把程序读出来,但如果单片机加了密就不能用编程器直接读出了,可以拿到电子城里有专门解密的人解出来,但不管怎么...
怎么用usb转TTL线给 单片机下载 程序?找你的单片机的TXDRXD引脚,下载器的RXD接单片机的TXD,TXD接单片机的RXD,GND接单片机的GND,5V接单片机的5V的插针单片机(Microcontrollers)是一种集...
学习 单片机 第一步:如何将程序(控制思想) 下载 到 单片机 中?先在KILEC的optionsfortarget工具栏中的output选项下,nameofExecutable后面的空框里输入你要输出的文件名,然后在Create.Hex项的前面的小方格中打上“勾”,...
单片机 是USB接口的,只要是USB数据线都能当做 下载 线吗,还是需要专门的 下载 线啊, 单片机 入门不懂啊?问题描述的不是很清楚,有些单片机是需要专门的下载线的,USB口是给实验板供电的。当然绝大多数的下载器也都是USB接口的,也可以通过该下载器给开发板供电,只...
如何把c51程序 下载 到 单片机 ?要将C51程序下载到单片机,首先需要将程序编译成HEX文件。然后,使用专用的下载工具(如烧录器或编程器)将HEX文件通过编程接口连接到单片机的相应引脚上。接下...
单片机下载 器的使用?单片机下载器是给单片机下载程序的东西,程序经过编译生成目标代码,然后通过下载软件和下载器下载到单片机的ROM或者flash中。单片机程序下载有三种途径,最...
单片机 中文编程后用哪些方法可以把程序 下载 到 单片机 ?单片机程序下载常用的方法包括:串口下载:通过串口线将计算机与单片机连接,利用专用下载软件发送程序代码至单片机。并口下载:利用并口线与单片机并口接口连...