本帖最后由 jzj1993 于 2014-11-7 21:39 编辑
我是在上大学时开始接触单片机的,当时走了很多弯路,花了很多时间,才终于比较全面的理解和掌握了单片机。回想起来,从对很多东西毫无概念,到有所认识,直到最终能理解并完全掌握,确实经历了很多。也正是因为这样一些经历,我比较理解初学者的迷茫,后来帮过很多初学者,带动他们去学习单片机等电子设计知识。和初学者的交流中,一方面,我巩固了基础知识,加深了对一些东西的理解,另一方面,我了解了初学者的各种疑惑,遇到的各种问题,以及不知道如何学习的尴尬境地。很多想学习单片机的人,或许仅仅因为第一步操作就花了很长时间,却没能成功(程序不能下载进单片机),于是放弃了学习,这实在太可惜了。 而现在,却很少能有一些书籍或教程可以很好的指导初学者学习。市面上很多书籍教程,有的是站在已经深入了解单片机的角度,开篇就去讲解单片机的内部结构,寄存器,汇编指令等等,而初学者往往很难明白这些晦涩难懂的专业词汇,更不用说学习单片机了。另外一些资料,则是完全从动手实践的角度去讲,却忽视了理论方面的介绍,很多东西你只能按照别人说的去操作,却完全不知道为什么,更谈不上去理解,而如果遇到了问题,更不知道如何去解决。
根据我自己的学习经验,以及和很多学习者交流得到的经验,希望通过这个系列的博文,从比较常见、比较简单的51单片机说起,给初学者进行较为详细的介绍。包括对初学者可能遇到的各种问题,给出一些较为详细的解决方法。并在后面逐步推广到其他单片机。同时,提供一些学习思想、学习方法的介绍。
希望能让读者以学习51单片机为契机,真正理解和掌握使用任意一款单片机乃至其他处理器,去解决实际问题的思想。也希望更多志同道合的人能在此找到自己想要的东西。
内容安排由于单片机涉及的东西比较多,很多知识之间还有一定的相互依赖关系,为了使整个结构尽可能合理,开始编写前,对内容先后顺序进行了多次调整。目前计划整个系列文章大致分为四部分:单片机的学习过程,学习思想和方法,单片机原理,扩展介绍。单片机的学习过程是整个内容的核心,从最初对单片机的基本认识,一直到整个单片机系统的设计。
有些知识会相互依赖,比如一开始入门会讲给单片机烧写程序,只简要介绍下单片机的内部构造和一些基本概念,如果想理解的更透彻,则需要参考后面单片机原理的介绍;而原理中有些知识,又得在学习完单片机编程之后才能更好的理解。
另外,一些知识只做简单介绍,而不做深入探究,如果读者很感兴趣,可以去网上找一些相关资料或相关学科的书籍进一步了解。
关于更新
原本在大二时,就有计划写这一系列博客,但是因为各种原因,包括自身水平不足,很多知识还没有掌握,另外一直没有很充足的时间,所以一直推迟了下来。现在一转眼就快毕业了,感觉不能再拖了,以后工作了恐怕更没时间了。由于本人目前还是在读学生,学校也还有一些,所以很难保证定期更新。计划是在毕业前,也就是大约在明年六月份之前,完成整个系列博文,也欢迎大家监督我的进度。
阅读前应具备的条件和知识
首先在条件方面,首先要有一台的计算机,配置没有什么特殊要求,装有Windows系统;然后最好有从网上或电子市场购买电子器件的条件(如果没有这个条件,就只能通过软件仿真的形式去学习,不是很推荐这种方式)。
在知识方面,本系列博文我会尽力写的简单易懂,对基本知识的要求并不高。
基本的数学计算基础(初中水平即可),简单的英文基础(初中及以上英文水平,会查字典),简单的电路基础(初中物理电学水平),计算机基本操作技能,一定的C语言基础,动手搭建简单电路的能力(尤其是焊接能力)。
如果你对其中的一些并不了解,或者不知道自己掌握的东西是否够用,没关系,你仍然可以一边阅读,一边在看不太明白的时候,通过网络、图书馆等去学习你所需要的知识。
其他
由于本人水平有限,很多东西可能不是十分严谨,也难免会有一些纰漏和错误之处,恳请大家批评指正,谢谢!
=======================================================
《单片机小白学步》系列教程(原名《单片机入门指南》)介绍本系列教程从最基本的入门知识开始,逐步深入介绍单片机系统设计,内容包括:
1、入门篇:单片机等基本概念、各种电子设计基本知识
2、思想篇:单片机/计算机系统设计的工程思想
3、学习篇:单片机学习过程、方法和技巧,以51单片机为例介绍,并推广到其他单片机
4、应用篇:遵循规范的工程方法,设计单片机系统实例(计划设计的系统有:计算器、电子表、密码锁、简易 手机,具体看有没有时间再确定)
5、原理篇:从模拟电路、数字电路开始,逐步深入介绍单片机/计算机系统原理,并自行设计简易的CPU(由于个人水平有限,这部分没有把握写好,具体内容视情况而定)
教程特点1、技术知识点全面,从入门到精通
包含了各种基本知识,尤其是对单片机基本概念的介绍、为什么要用单片机等,在很多同类书籍教程中都被忽略了。同时也包含了一些深入的知识,包括原理篇考虑对单片机的基本原理进行介绍,有助于深入理解单片机。
本系列教程以51单片机为例进行介绍。通过51介绍完单片机的基本知识,我会再把430进行简要介绍,尤其是对比两者之间的优缺点,让大家很快感受到430的巨大优势,而学习51正好为快速了解430打下了坚实的基础。
2、除了单片机知识,还有思想、方法、技巧的介绍
本系列教程中,介绍单片机各种模块编程知识的主要是学习篇,而学习篇只是整个教程的一部分。在学习篇中我会贯穿各种方法技巧,如何理解一些模块功能,怎么看时序图,严格遵守工程思想进行编程,程序发生了错误怎么调试等等。而在思想篇中会总体介绍很多重要的思想,为后面的学习做好准备工作。
3、知识先后顺序的设计
单片机学习过程中,涉及大量的知识,而且很多知识之间相互依赖,关联很强。
本系列教程对知识的先后顺序进行比较明确的规划,尽最大可能符合人的认知过程。但是实际规划时发现,无论怎么调整知识的顺序,总有一些知识之间相互依赖,关系复杂。例如开始讲IO口的时候肯定会提到寄存器,而寄存器这个词的理解,需要深厚的背景知识。但是这些背景知识在没有进行实践的时候也很难理解。
初学者常常就会在这样的地方感觉疑惑不解,不知所措。而每次遇到类似这样的知识,我会向初学者指出,应该如何对待。这个知识是应该自己去学习补充,还是等到学完原理篇再做理解,而现在又应该怎么去看待这个名词。
另外,在整个教程的学习前,需要掌握一定的C语言等基础知识,具体可参考教程第〇篇《序》中的相关说明 hainter.com/mcu-primer-0
4、语言通俗易懂
本系列教程力求语言通俗易懂,而不会用一堆新手不懂的词语去解释另一个不懂的词语。但是受限于个人语言表达能力,可能有些地方表述的比较繁琐,或者不清楚,希望大家能够帮忙指出。
其他问题
如果觉得我写的对你有帮助,欢迎多多反馈,包括写的不正确、不合理、不太明白都可以指出来,这样方便我对其进行完善。
更多可参见:《如何以学习单片机为契机,逐步成为优秀的工程师》 hainter.com/mcu-engineer
本系列教程首发于我的个人主页,欢迎访问(由于是国外服务器,速度稍微有点慢): hainter.com/category/hacker/mcu-primer
同时会将其转发到CSDN、电子发烧友等站点,欢迎关注。 (将#号改成点即可访问)
CSDN专栏网址 blog#csdn.net/column/details/mcu-introduc tion.html
|