标题: 单片机新人不知道选择哪种语言 C语言or asm汇编语言 [打印本页]

作者: looklbt    时间: 2018-4-25 20:42
标题: 单片机新人不知道选择哪种语言 C语言or asm汇编语言
目前刚入手单片机,有两种语言,用Keil编写的C语言和直接操作的.asm汇编语言。想问一下各位大牛从哪种语言学习更好,同时两种语言的利弊是什么。
作者: yunwuhuanrao    时间: 2018-4-26 10:46
  keil使用哪种格式都可以完成相同的功能,个人觉得C好理解一点,但是对于程序的执行来说:汇编语言效率更高,而C语言写的程序需编译出二进制文件才可以执行。  两者相比:.c 是C语言文件, C语言具有移植性强,可读性强,能让程序员一目了然,但是程序执行效率比汇编低百分之20, C语言可以二次开发移植性强,提供程序员的工作效率,并且现在很多公司开发都要求用C语言。    .asm是汇编语言文件,是直接操作单片机底层寄出去,程序执行效率高,但是汇编可读性差,对后期程序员的维护程序移植带来不方面。
作者: yunwuhuanrao    时间: 2018-4-26 10:50
  keil使用哪种格式都可以完成相同的功能,个人觉得C好理解一点,但是对于程序的执行来说:汇编语言效率更高,而C语言写的程序需编译出二进制文件才可以执行。
  .c 是C语言文件, C语言具有移植性强,可读性强,能让程序员一目了然,但是程序执行效率比汇编低百分之20, C语言可以二次开发移植性强,提供程序员的工作效率,并且现在很多公司开发都要求用C语言。
  .asm是汇编语言文件,是直接操作单片机底层寄出去,程序执行效率高,但是汇编可读性差,对后期程序员的维护程序移植带来不方面。
作者: 强孤踏    时间: 2018-4-26 11:31
肯定是C语言啊
作者: lighting008    时间: 2018-4-26 11:42
学习c吧上手快,而且移植性好些!汇编现在一般是芯片厂商写启动文件什么的!
作者: 菜鸟03    时间: 2018-4-26 12:43
刚开始学用C语言吧,可读性强,容易看懂算法。
作者: 菜鸟03    时间: 2018-4-26 12:50
刚开始学用C语言吧,可读性强,容易看懂算法。
作者: helen126    时间: 2018-4-26 14:20
建议用C语言,上手比较快一些
作者: tiangou88    时间: 2018-4-26 14:32
交易学学C语言,汇编太底层了,用的不多,不如C用的广
作者: Greless    时间: 2018-4-26 15:09
自学就选C,学校才会教汇编
作者: wwchang    时间: 2018-4-26 15:50
还是C语言比较好,用汇编的话,代码量会非常大,而且汇编的例程不是很多。但是如果你要优化程序,建议你用汇编,可以优化某几个函数
作者: 习惯她    时间: 2018-4-26 16:08
c语言上手比较快,比较简单
作者: qq383570990    时间: 2018-4-26 16:11
汇编语言是用语言直接控制硬件,由硬件间接达到某种控制效果。而C语言是一种比较高级的语言,编写者可以不用去考虑硬件而直接去命令计算机达到这种控制效果。换而言之,汇编语言对描述过程更注重,C语言之类的高级语言更注重描述结果。例如汇编语言中变量的赋值语句为 MOV A B 可以解释为将A寄存器中的值复制至B寄存器。而C语言中直接表示为 b=a,解释为使b=a    芯片都是由门电路构成。门有通有断,对应在计算机代码里是二进制的1或0。如果直接进行人机对话,只能输入由0和1组成的代码才能交流。这样的代码太长,而且难记。所以人们想出一个办法,相互约定,用人们易读懂的特定表达方式去表达特定的计算机代码,再将此表达方式翻译成计算机能直接读懂的二进制代码。这样的一套方便人们表达的表达方式被称为计算机语言。


c语言是高级语言,可移植性较高,与设备相关性较低。
汇编语言是低级语言,可以移植性较低,与CPU具有极强的相关性。
作者: Zyy_heidianzi    时间: 2018-4-26 16:45
C语言,容易上手用途还广泛




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1