专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

我大学自学单片机的收获

作者:佚名   来源:本站原创   点击数:  更新时间:2009年09月09日   【字体:

   大二上学期终于开单片机课程了,今天找了一点时间来51hei单片机教程网写了点东西,作为一个初学者,在下面通过我自己做的一个电子表实例写一下这一段时间的学习总结。 不知道以后我看到自己写的这篇文章是否会觉得很幼稚。 

   第一次上课,老师就让我们用C编写程序控制一个LED灯的闪烁,真是搞不懂,我觉得应该是对单片机汇编语言和单片机的体系结构有一定的了解后,在用C写单片机程序才有进步。先学单片机体系结构和单片机汇编语言然后再学单片机C语言应该是一个循序渐进的过程。这里有汇编的单片机教程: http://www.51hei.com/mcuteach/252.html ,以及单片机c语言教程: http://www.51hei.com/mcuteach/150.html 。我将结合自做的一个实例来说我对这个过程的理解。


先比较一下单片机汇编语言与单片机C语言:
汇编相对于C来说,它的执行效率要高一些。为什么这么说,用C写的单片机程序在编译的过程中,可以理解为 先编译成汇编程序,然后在编译成机器可以执行的二进制文件。编译软件在将C程序编译成汇编程序的过程中会产生很多冗余的语句。每一条语句都有固定的执行时间,这样看来,对于同一功能的C程序和汇编程序,冗余语句就是使C程序比汇编程序效率低的原因。这有点像一件商品在经过很多中间渠道后,它的价格比直销价格要高。中间的经销商所得利润就像那个冗余语句。


    汇编既然在效率上要高于C,为什么还要用C,而且C在单片机程序中用的最多,这是由于我们这些程序员用
C编写程序要比用汇编程序要简单些,这样就可以使开发周期缩短,而且在很多时候冗余很小甚至可以没有。我这
次做的电子时钟就是由于因为我选择了用汇编语言来写,整整花费了我两天时间来做。如果用C写的话,可能一天
就可以搞定了。C相对于汇编还有一点很不好,如果要写一段延时程序的话,用汇编可以轻松搞定,但是用C写的话,真不
知道该怎么写。我觉得除了以上两点外,C相对于汇编什么地方都很有优势。如果弄懂了汇编,在学单片机C就很快了。而且是在我们大一学过一年的条件下。一上来就用C,对于我们学习单片机的很多原理就是很难去理解。因为C与单片机硬件还隔一层汇编。

关闭窗口

相关文章