单片机开发是用C语言好还是汇编语言好

作者&投稿:邗解 (若有异议请与网页底部的电邮联系)
单片机开发用C和汇编语言各有什么优缺点~

单片机开发用C和汇编优缺点对比如下:
1、C可以读性较强,容易让后继者接手进行扩展,汇编相对而言难度就大多了,一般人很难短时间内弄懂原开发者的原意和理清思路。
2、C可移植性较强,一个单片机的程序稍加修改,可以移植到其他环境下使用,汇编程序几乎无法移植。
3、汇编的时序性很强,可以精确严格按既定时序控制流程,C无法做到。
4、汇编可以精确定时,C只能初略定时。

C语言和汇编语言在开发单片机时各有哪些优缺点?下面就由福州卓跃教育具体介绍。

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

如果对单片机C语言有兴趣,C语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。

而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而研制出规模更大、性能更完备的系统。

综上所述,用单片机C语言程序设计是单片机开发与应用的必然趋势。所以作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会 变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应 ,我们还是建议采用汇编语言比较好。 而C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快 、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用 的由顶向下结构化程序设计技术。此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。 因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性 ,便于改进和扩充,从而研制出规模更大、性能更完备的系统 对于目前普遍使用的RISC架构的8bitMCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会 变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一条指令就对应 一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还 是建议采用汇编语言比较好。 对于复杂而开发时间紧的项目时,可以采用C语言,但前提是要求对该MCU系统的C语言和C编译器非常熟悉,特别要注意该C编译系统所能 支持的数据类型和算法。虽然C语言是最普遍的一种高级语言,但不同的MCU厂家其C语言编译系统是有所差别的,特别是在一些特殊功能模块的 操作上。

这个问题就如同吃饭一样。

我们吃饭不可能只吃一种。吃很多种饭不可能只用一种餐具。所以说,对于不同的开发项目,其使用的语言也会不同。

普通的小项目尽量使用C语言来开发。毕竟C语言直观、方便移植、易维护。而一些对时序要求严格的就需要用汇编了。用C的话会比较吃力。最好是C、ASM混编能熟练掌握。

初学者还是用C吧,汇编对于初学者来说还是太难了,主要是指令太多了,等C很熟了之后,可以考虑用汇编


在pic中如何用C语言编写程序?
PIC单片机的开发软件MPLAB没有集成C语言编译器。需要另外安装。如果你用的是PIC10、PIC12、PIC16等这些系列的单片机,就要去Microchip的网站下HT-PICC for PIC12\/16的C编译器。如果是PIC18的话,就要下MCC18,如果是PIC24和dsPIC系列的,就要用C30编译器。还有,所用的PIC单片机不同系列,C程序编写方式也不同。你...

C语言与微控制器C语言的区别 急求
微控制器c语言与标准c语言的区别 微控制器侧重与硬体的控制 要求你对硬体较为熟悉 PC的要求的是程式的规模与复杂度 vhdl语言与微控制器c语言的区别 c语言是软体描述语言,vhdl是硬体描述语言 应用的地方不一样,c可以用在嵌入式系统中,而vhdl一般用在fpga中 所以执行模式完全不一样,嵌入式...

嵌入式开发技术,C++,单片机的关系!谢谢!
单片机属于可编程微控制器,用了它可以省去大部分学习电路的时间,直接用烧片机烧写录入程序就可以了,但是单片机只支持c语言和汇编语言,而嵌入式开发是指在单片机或者arm中开发系统,原理和单片机一样的其实广义上讲单片机就是一种嵌入式系统,而c++属于面对像,不能用在单片机和嵌入式系统中,只可...

电子信息科学与技术有编程的么,我想买本C语言和单机片编程看看,有用么...
当然有,现在电信类的专业都有。C语言一定要看的,这是基础。至于单片机,你现在看有点早,需要一些数字电路,汇编语言的基础。先弄会C语言就行,这个语法也很多,弄精为上,样样通样样稀松

pos机有哪些功能介绍
功能全面、系统强大:POS机运用功能全面、强大的嵌入式系统,硬件主要由CPU、存储器、读卡器、通讯模块、打印机及其他一些外设接口组成; 符合金融规范:POS机的软件开发主要用标准C、C语言,也有部分厂商使用Linux语言编写,符合人行颁布PBOC2.0金融规范; 符合各项终端标准和安全认证:包括银联直联POS认证、EMV2000 LEVEL12认证...

请问C语言和C++区别大吗?
这是因为C++的这些应用从编程方式到代码风格都与C语言大相径庭,初学养成C式的编程习惯就很改掉,反而限制对类和泛型编程的理解。如果是想接触比较底层的东西,以后做软件库开发、系统编程之类,那么学C语言,尤其是一些像宏、指针、内存管理等知识就很有好处(这些东西在前一种应用中却都要尽量避免)。

单片机是什么意思?。
可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者因...

请问大家:C语言和C51有什么区别?
(1)含义不同:1、C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。2、C51是nVIDIA公司推出的首款K8平台整合芯片组的产品系列代号,使用C51系列芯片组的北桥芯片分为两个版本:GeForce6150和GeForce6100,它们与Nforce 400系列的南桥芯片...

plc与C语言有什么关系啊!
PLC与C语言一点关系都没有 PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置。它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计 数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关的外围设备都应该...

嵌入式系统到底是什么
软体一般是一种计算机作业系统,比如Linux硬体则是执行使用者要求的执行装置,比如小电机,电路板等等。 做嵌入式开发,则分为软体开发和硬体开发两方面。 我现在的工作就属于嵌入式,是电视机的开发。 需要学习的有: 软体上至少要掌握一种作业系统比如Linux,一门程式语言比如C语言,还要掌握一些与硬体会话的汇编和编译原...

拱墅区15885642541: 给单片机编程用C语言好还是用汇编语言好 -
廖娅舒其: 汇编逻辑简单,但代码复杂;C刚好相反,所以最好汇编与C结合使用.如果C好的话,可以全用C.

拱墅区15885642541: 单片机编程用汇编好还是C语言好? -
廖娅舒其: 开发当然是用C,又快又易懂好维护,但是想要优化程序还是要懂汇编的,要不然实现同样一个功能的程序,好的程序员可以把程序设计得又短又快,而不做优化的可能会又臭又长,2K以下可以搞定的,你非要搞到4K以上去那最终产品的成本每个至少会相差几毛到一两块钱,而且成本升高时质量却是下降的,这样当然就不好了,所以我个人认为做单片机编程,应当是汇编和C都会才是最好的,次一点的是会C,且能大致看懂汇编,可以帮助优化C程序, 只会汇编,一个程序开发下来,得花几周到几个月,开发成本太高了,不值得 只会C完全不懂汇编,那也是很难做出高质量的单片机程序的

拱墅区15885642541: 大家对单片机编程是用c还是用汇编好 -
廖娅舒其: 由于汇编倾向于直接使用硬件底层的东西,汇编执行效率很高,但是程序写起来麻烦,c写起来简单,但是执行效率就差些,c是介于高级遇见与机械语言之间的存在(更接近于高级语言,或者说就是高级语言),各有优缺点,所以有很多程序是混着编的,还有很多库都是汇编写的,启动代码也是汇编,但是汇编也有很多种,arm与51就不通用,存在差别.

拱墅区15885642541: 单片机开发是用C语言好还是汇编语言好 -
廖娅舒其: 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言.其主要优点是占用资源少、程序执行效率高.但是不同的CPU,其汇编语言可能有所差异,所以不易移植.对于目前普遍使用的RISC架构的8bitMCU来说...

拱墅区15885642541: 单片机编程用C语言好还是用汇编好
廖娅舒其: 两种言各有各的优点、缺点,汇编编程在有些方面很难编,使语言可阅读性变差,但他的实时性很好,而C在这方面就略差,不过,随着单片机的发展,这方面越来越小了,不过在某些工业控制中,C是代替不了汇编的 最好两种都要学啦,两种结合才是高手,以单C为主体调用汇编,有这方面的书的,去了解下吧,加油咯·

拱墅区15885642541: 单片机学C语言好还是汇编好?
廖娅舒其: 如果你想成为一个单片机工作者,这两种语言都得学的呵! 但是现在比较大的工程基本都是用C开发的,不过汇编主要适合比较小型的开发,代码量比较小的比较适合用汇编. 对于程序它们各有优点,C语言较简单但生成文件HEX相对汇编要大一些!汇编对于比较大的工程,不易于编写,代码量过大!

拱墅区15885642541: 单片机开发是用汇编好还是C语言好哪个更实用
廖娅舒其: 可以说是各有所长吧.汇编语言最大的优势就是执行速度快,缺点就是代码可读性太差,对于大型程序来说,使用汇编进行开发会导致代码维护困难、开发周期长.而C语言相比汇编,在执行速度上面会稍慢一些,但是代码的可维护性很高,所以当前的单片机开发一般还是以C语言为主,在进行核心部分的代码编写时,如果对执行速度有要求,可以采用在C语言中嵌入汇编的方式.

拱墅区15885642541: 单片机控制电路采用C语言还是汇编好一些? -
廖娅舒其: 楼上说的都没有错,C语言的占用资源会比汇编多出20%左右的,而且汇编的加密功能好. 但是这个不代表说用汇编开发单片机比较好. 因为现在的MCU的内部资源已经很多了,基本过剩了,ROM空间不够堆栈溢出这种事情基本不会发生 你做...

拱墅区15885642541: 单片机的编程用C语言好还是汇编语言好.为什么? -
廖娅舒其: 一般都用C语言编程.只有在C解决不了和代码效率比较高的时候才会使用汇编.很明显,C语言容易编程,更容易模块化编程,容易学习,会的人多.编写同一个程序,C语言所花的时间平均比汇编短很多.而且对应不同的单片机平台,汇编语言都是不同的,而C语言是通用的.鉴于C语言有这么多好处,建议你用C语言编程,现在随着编译器功能的强大,如KIEL,基本上没有C语言处理不了的单片机问题了.现在的硬件技术的发展,硬件成本越来越低,在代码效率不高的时候可以通过提升硬件的水平来实现系统的实时性需求.因此,在很多时候,代码的优化工作量减少了很多.总之,C语言编程优于汇编.C语言是硬件的语言.

拱墅区15885642541: 学单片机是学习汇编好还是c语言好? -
廖娅舒其: 我也是单版机爱好者.我的建议是初学者先学汇编.因 为学汇编才能了解单片机的内部 结构.学好了再学C,因为C编程易实现我们所需的功能,用汇编比较复杂.但汇编运行效率高.学了汇编再学C很快上手的,因为C函数的库函数都是定义地址的变量而已.功能的运用一样.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网