自动化网-工控人家园官网移动版

主页 > 技术文库 > 单片机 >

对于一个单片机初学者而言 到底应该先学哪种语言?单片机初学解惑

对于一个单片机的初学者而言,到底应该先学哪种语言?详细读完了这篇文章聪明的你会做出选择。首先我们先对这两种语言做一下比较。
汇编语言的优点;
1,有助于掌握单片机的基本原理
2,每条指令的执行周期固定
3,代码生成率高
4,汇编语言编写程序稳定
5,对硬件直接操作
汇编语言的缺点;
1,低级语言,可移植性差
2,运算困难
3,编程效率低(开发周期长),出错难排查
C语言优点
1,高级语言
2,适合结构话的程序设计
3,可移植性强
4,可团队合作开发
5,编程效率高
6,适合算法运算
C语言缺点
1,代码生成率低
2,稳定性差
看了两种语言的优点与缺点,对两种语言初步有了一个认识。打个比喻来说汇编语言就像你想使用一台电脑,但是你必须要懂得计算机原理才可以用。C语言就好比你不知道计算机的原理,但是你可以使用。一般大多数人都使用C语言编程,可是想成为单片机的高手汇编语言还是很有必要懂的。

单片机初学解惑

一.到底以什么单片机入门
  在群里不断有人问,该学51还是AVR还是PIC?同一系列的用什么配置的好?我特别强调的是,大家搞清楚现在我们考虑的是入门学什么单片机?不是说你以后就只用这个单片机。入门我们选资料最全,最有代表性的,最有可能掌握的,非51莫属。我在群里这样说过,在前面博客也提过,有人对此有怀疑。
  对于不同系列的单片机有什么不同?(51和AVR属于不同一系列)
  咱就具体到点亮一个发光管。点亮一个发光管的方法是:给一个IO口输出一个使发光管点亮的电平,不管什么单片机都是这个思想;不同的就是我们用不同的软件生成程序,我们加载不一样的头文件,配置的寄存器名字不一样而已,依然用C编程。就像我们学会了用电脑听音乐,你会在乎用什么电脑,用什么操作系统,用什么播放软件吗?只要你学会了听音乐的步骤你就用什么都能听,只是熟悉一下环境而已。
  我们现在要学的就是编程思想,有了思想你什么单片机都能学会。
  对于同一个系列的单片机有什么不同?
  同一系列的单片机不一样的地方,无非是支持的晶振频率在变高,ROM,RAM容量在变大,读写速度在变快,高度集成化而已。就像电脑一样,不管你电脑怎么变,它无非是速度在提高,硬盘容量在变大,内存在变高,读写速度在提高,外围接口更丰富或高度集成,你操作起来不还是一样的。不会说你换个电脑你就不会用了,只是不同的需求,用不同的配置,仅此而已。
  一句话:相信我,就听我的,入门就用51。
  二.该不该买开发板
  有人认为该买,理由是很快能上手,下载线什么的都有;有人认为不该买,省了不少钱,自己还可以动手,增加实践能力。这两个观点我觉得都对,最主要的是看你自己的情况。
  想买板,说没钱的,我觉得是扯蛋。
  一点硬件基础都没有的,我建议你买开发板,群里面有个兄弟自己焊,一个下载线一个星期都没解决,这也太打击积极性了。更别说后面得编程,到时你出问题了,你真不知道是硬件有问题还是软件不对,我估计你就做不下去了,初学者一定要保证自己的硬件没问题,学起来才会快;软件学的差不多了,你再搞硬件。初学时成就感非常重要,别因为个硬件把自己搞蒙了。
  本来是想“搞”硬件的,到最后发现你被硬件“搞”。
  一句话:相信我,就听我的,你需要属于你的开发板。
  三.用什么教科书
  为什么要提出这个问题呢?前两天群里面有人说到这个问题,我发现初学者的心态很有意思,像无头苍蝇似的,一听到什么好,就想马上看看,好像别人有了,自己没有好像吃了大亏似的,捡了芝麻,丢了西瓜的事就别再干了。
  我发现大家现在都倾向这两本书:
  “手把手教你学单片机” 北京航空航天大学出版社出版,作者周兴华。
  “新概念51单片机C语言教程”电子工业出版社出版,作者郭天祥。
  我的建议是上面的你有一本就可以了,两本都很好,没必要两本都看,外加一本:
  “C语言程序设计” 清华大学出版社出版,作者谭浩强。
  强烈建议买书,不要只看PDF文档。  (责任编辑:admin)