如何学习单片机?

 单片机技术是现代工业自动化、电子工程、电气工程及其自动化、通信工程、物联网技术、建筑智能化等专业领域的一门主流技术。随着人们生活水平和生活方式的自动化,单片机技术已经融入我们生活的每一个角落,目前,几乎所有的家电都有单片机应用的身影,比如智能电饭煲、智能洗衣机、智能窗帘、智能灯泡等等。单片机应用广泛,那么单片机领域的工程师的需求相对增多,单片机相关的人才需求增多,也就越来越多的同学想学好单片机,那么如何才能学好单片机呢?如何去学习单片机呢?今天给大家分享一下学习经验。

       就目前来说,各个高校都是以MCS-51的单片机作为单片机原理的学习对象,因为它的学习资料比较多,网络资源比较多,学习起来比较方便,上手比较快,而且用的人也很多,价格便宜,所以市场也很大。所以推荐初学者去学习51单片机,只要掌握了51单片机,再去MSP430单片机、AVR单片机或者去学习STM32就会很容易上手。

       单片机是一门实用技术,学习单片机技术不是为参加学校组织的考试,获得学分,而是掌握一门技能,能够自主开发单片机应用系统,将来谋求一份好的工作。所以学习单片机不能总是看书,但是也不能不看书,毕竟实践是建立在理论之上,所以学习单片机首先必须得看书,需要从书中搞清楚、弄明白单片机的内部资源、各个功能寄存器,因为我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机的I/O管脚的电平什么时候输出高电平,什么时候输出低电平。通过这些高低电平的变化来控制你的系统板,实现单片机系统需要的各个功能。关于看书,这里推荐一本书,我个人觉得就这一本就足够,书名是《手把手教你学51单片机(C语言版)》,是清华大学出版社出的的,作者是宋雪松。每学习一章节内容,就要去实践,这是非常关键的。如果说学单片机不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器等。如果上面提到的这些,都能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。一种方法:采用Proteus搭建单片机仿真系统,此软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是比较好的仿真单片机及外围器件的工具。虽然国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

       学单片机编程建议初学者一开始就直接用C语言为单片机编程,既省时间,学起来又容易,进步速度会很快。一般大学里面都是在大一下学期或者大二上学期开设C语言课程,大二上完C语言课程,考试也考得很好,但是很多同学到大三学习单片机时,用C语言编单片机的程序就是不会了。所以建议同学们学习单片机时,与C语言基础的学习同步进行。很多同学会有疑问,没有学过微机原理、没有学过模电和数电看不懂单片机内部结构怎么办呢?其实,这不影响学习单片机C语言编程学习,其实在刚开始学单片机的时候,不建议花大量时间了解单片机内部结构,因为这样只能打击你的信心,其实当你学会编程后,自然一步步就掌握其内部结构了。下面是学习单片机的步骤:

1.鹦鹉学舌:学习完单片机的某一节课之后,对于程序,可完全跟着抄下来,甚至多抄个几遍,过一段时间你就会发现,好多东西都认识了,好多概念都慢慢的了解了,也能看懂别人的小程序了,注意一定不要粘贴复制。

2.照葫芦画瓢:对于初学者不要“眼高手低”,每一位同学,学完了当前内容,把第一步顺利完成之后,然后关掉教程。关闭源代码,自己通过看电路图和查找非源代码资料,把程序重新默写出来,边写边理解,而不是背诵,这也是真正学会单片机的一个关键步骤。
3.他山之石,可以攻玉:单片机C语言编程最大的特点程序可移植性比较好,可修改性比较好,可以通过修改程序来实现不同的功能,因此举一反三的能力必不可少。每一节课的作业,都要独立去完成。在完成作业的过程中可以参考程序思路,在这个基础上通过动脑思考去独立构建自己的程序框架,最终完成程序功能。其实,单片机工程师完成产品研发也是一样的,在同类产品基础上来设计自己的产品,这就是“他山之石,可以攻玉”。

4.理论实践结合,温故知新:当大家把所有的课程和项目都按照前边三步完成之后,这个时候再去看看书,经过自己的实战经历,看书的时候,会对很多知识点会有一种恍然大悟的感觉。

总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。了解更多单片机物联网知识,请扫码关注本公众号。

Guess you like

Origin blog.csdn.net/chanchairen/article/details/121079299