汇编和C语言哪个好?

 汇编语言和C语言哪个更好呢?哪个更适合作为单片机程序语言呢?对于这个问题,单片机初学者都会感到很疑惑。
      
现在普遍用C的比较多,因为C有很好的结构性与模块化,,C比汇编更容易阅读与维护,而C功能化的代码有更好的移植性,方便从一个工程移植到另一个工程,而且C更符合人们的思考习惯。既然你汇编与C都学过,那你一定知道汇编在编程时往往要考虑细节问题,长的程序如几百行甚至上千行的代码你在调试时由于汇编的可读性较差,会花费大量的时间来调试。往往是一个小细节问题会让你搞半天,而结构化的C往往只需要考虑算法而无需过多考虑细节问题,同时可读性好,调试时间也大大减少。特别是在编写较大工程时,C用起来比较顺。
每种单片机基本有其自身一套机器语言,有些相差不大,有些相差比较大,所以你在使用不同单片机时要先了解其汇编语言,与单片机的内部硬件结构,但C就不存在这个问题,只要了解单片机的相应功能的寄存器,就可以编程。基于上述C的优点,现在市场C的需求多些。
      
我的意见是:两种语言都应该能较熟的掌握。因为汇编的优点在于语句执行时序的精确性,执行效率高,对一些时钟要求很高的系统,汇编比较容易实现。如果能做到C与汇编联合编程。市场需求会更大。
      
对于单片机开发,C语言又扩充了一部分数据类型:
 sfr:
特殊功能寄存器声明;

sfr16:sfr的16位数据;

sbit:特殊功能位声明;
bit:位变量声明;
      例:sfr SCON = 0X98;SCON是串行口控制寄存器名称,这里只是举个例子,大家不明白也没关系)
             sfr16 T2 = 0xCC;
(以0x开头的数据是十六进制的数A代表10B代表11,以下类推,直至F代表15,字母大小写无所谓)
             sbit OV = PSW^2;
             C
语言开发单片机时需要在开头写上有关头文件,对于头文件,学过C语言的同学都知道,相当于把一些函数或者变量已经声明好,可以直接使用,经常使用的头文件有:
           
通常有:reg51.h reg52.h math.h   ctype.h   stdio.h  stdlib.h  absacc.h  intrins.h(这里不要求全记住,只要用到reg.51或者reg.52即可)
           
常用有:reg51.h reg52.h
         
(定义特殊功能寄存器和位寄存器);
            math.h 
(定义常用数学运算);

 

技术咨询:万老师13266209666  QQ:671346587    
课程设置:
1
、嵌入式Linux实训班
2
、嵌入式ARM9+Linux实训班
3
、嵌入式ARM11+Linux实训班
4
CORTEX-A8+Linux实训班
5
CORTEX-M3/ARM7+UC/OS
6
、嵌入式就业班
7
Android开发班
8
FPGA
9
、单片机基础培训班
10
C51单片机项目实训班
11
PIC单片机培训班
12
Protel(PADS)实训班
13
、电子设计班/数电模电
15
、单片机系统工程师实训班
16
、嵌入式系统工程师实训班
17
Android系统工程师实训班
18
、单独项目指导
 

服务承诺

同一课程只收一次费用,一期没学会可免费再学,直到学会为止

上课时间:全日制,晚班,周末班均可!真正的人生就是一个追梦的过程,一旦我们迷失梦想或者停止梦想,人生也就变得漫无目的、毫无意义。梦想着成为工程师的你们,还不马上行动,【深圳信盈达】帮您圆梦,快快加入到我们工程师的行列中来吧!为满足IT企业的需要,信盈达特开设有单片机,嵌入式ARM,linux,Java,PCB,FPGA,汇编C,Android,cortex-m3等课程的学习,并有专门的伯乐桥,为您搭建就业的平台。想成为IT工程师吗,马上行动,请咨询万老师13266209666 QQ:671346587 深圳+广州+郑州一体学习,零首付,可工作后再付款!