自学单片机的技术之路
自本科毕业以来,参加工作已经10多年,记得刚毕业去深圳参加工作,在一个县城小站挤上去了深圳的火车,人太多,为了能够挤上去,把台式机电脑放在头上,挤上去差点就放不下来了,到处是人,上厕所都困难。站立了约16个小时,到了深圳。
第一份工作是手机基带的硬件技术支持工程师,这3年努力而充实,也经常去上海,南京,等地出差,之后来到了成都,在成都扎根定居,这个城市第一印象是灰蒙蒙的,尤其是冬天,连树叶的绿都不是那么亮静,而深圳的天是湛蓝的,太阳却是毒辣的。多年之后,发现成都其实也不错,平静的过着日子,安静而祥和。
像我这种农村出身的大学生,一无背景,二无钱财,唯一拥有的只有努力,努力,再努力。经过多年的奋斗,虽然钱不多,不管怎样,老婆,孩子,房子,车子也都有了,也足够养活一家人了。
现在在一家公司做硬件的蓝牙相关工作,工作多年,虽然积累了很多经验,但是10年的经验也许和5年并不是差多少。我爱笑,也很乐观,但是同时我也有点自卑,我担心我做的不够好,我觉得我不够优秀,当我的工作让我进步缓慢的时候,我会焦虑,我也会彷徨。
那一年,当部门很多同事和我抱怨工作的时候,我就意识到并不太好,并不是工作不好,而是每个人的追求不同,果不其然,有些同仁开始离职了,有去军工企业,有去华为等等。
我也开始了思考...
我在工作中的优势不存在的时候,我该怎么办?
如果离开了公司,我会什么呢?
我的人生价值在哪里呢?
这些问题促使我去做一些改变。改变一个人的习惯是很辛苦的事情,和家人的商量之后,我开始了技术追求之路。也许这些技术在很多人眼中不起眼,并不是高深的技术,但是对于我来说,却是我安身立命不可缺少的一部分。
第一次买了一本51单片机C语言的书,开始把大学忘记的知识捡回来,每天下班对着电脑敲书本的代码,三个月后,才把里面的所有代码全部敲完。开始进入51单片机的学习。
学习之路是枯燥的。最初几乎每天晚上学习到12点,或者1点,前几年因为学习过于劳累,半夜抽搐,失去意识,被送进了抢救室,医生也没有查出来什么,不过我很明白应该是劳累过度,这么多年,我已经养成了极高的自律,只要有空,每天我都会看书,学习。
学到现在也差不多6年了,除了工作,我几乎就是学习,陪伴家人时间比较少,再次,我也很感谢我的老婆,我的孩子,因为有他们的支持,我才能努力学习,努力进步,希望以后能创造更好的生活条件。
经过多年的学习磨炼,我陆续学习了51单片机,STM32单片机,LabVIEW,C#,虽然我不敢讲有精通,但是一般的任务还是可以对付的过来。我的认知是学习一定要学会投资,买书,买视频,因为工作了,才知道时间才是最宝贵了,如果钱能够加速你的学习之路,一定要买,买,买,学,学,学!
我也希望通过今日头条这个平台记录分享我的经验,和大家一起进步,如果写的不好,欢迎大家指正。感谢!^_^
成为单片机高手必知的三个重要步骤(干货分享)
很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部份,按照怎样的步骤进行学习。在摸索学习步骤的过程浪费时间的同时也会造成学习兴趣的降低。为了帮助大家解决这种情况。
第一步:基础理论知识学习
基础理论知识包括模拟电路、数字电路和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的文章,记得关注和点赞哦!】
相关问答
51 单片机 编程程序怎么编?51单片机编程程序怎么编?♣这种技术性问题在今日头条上,几乎没有一个高手给你一个答复。因为学习51单片机编程程序是需要长篇大论,并且用电脑操作截图来说明...
深圳 单片机 开发,工资如何突破月薪15k?你好,作为一个实际走过这条路的单片机开发者可以和你分享一些经验。在某招聘网站上的截图,首先先给你看看,在深圳这个地方,是有公司愿意开超过15K来招单片机...
新手用51 单片机 做什么好呢?我认为作为新手用51单片机最好用PCB万能板焊接一个单片机实验板,一来这样能够提高自己的动手能力;二来可以锻炼自己的编程调试能力。同时我们在焊接时还要设计...
物联网专业就业如何?——以下数据及分析均来自于前瞻产业研究院《中国物联网行业细分市场需求与投资机会分析报告》。物联网技术涉及领域广泛,未来市场应用前景十分广阔,进而同时...
东莞理工学院有多少学生?东莞理工学院1990年筹办,1992年4月经国家教委批准正式建院,2002年3月经国家教育部批准变更为本科全日制普通高等院校,诺贝尔物理学奖获得者杨振宁博士任名誉院...
秋招结束,接下来怎么办?现在各大公司的秋招已经进入了收尾阶段,很快就会进入发放offer的环节。但是对于一些后知后觉,准备不充分的同学来说,秋招基本就是打酱油,一首《凉凉》送给自...
现在机械大一,该怎么走上学霸 之路 ? 申请方我说说个人心得。机械这个范围太广了,不知道你是想学机械设计还是机械制造或者其他的方向。我就按我理解的说吧。大一:大一的时候应该把基础打好,比...
PCB工艺工程师职业规划?我以前是做PCB这行的,后来开过电子厂做的正是开关电源,之后又重新打工。见识说不上多,但感受却不少。以我看,你有单片机经验作基础,不如再向PLC机电工控这...
30多岁,目前在做销售,想学个电脑方面的一技之长傍身,学点什么好呢?大家给点建议?我有同学做那个ppt也非常赚钱奥,你可以去了解下,他是在淘宝上下单制作,不过他的基础不错,也需要耗费时间精力,多了解点,找到喜欢的,然后加油努力!硬件方面的有一...
重庆工程学院电子信息学院怎么样?设有哪些专业? 申请方[回答]信息工程、通信工程、信息工程、自动化、机器人工程等本科专业。学院现有专兼任教师70余人,其中获得国家及省部级人才称号的专家6人,教授1...学院...