大家好,我是华维林北

为什么要用C语言作为单片机开发语言而不用汇编语言?

首先我们说一下C语言

C语言的优点,C51属于间接面向机器的终极语言,一样具有独特的特性,语言程序直观,结构性好,很容易维护和移植,编程效率非常高,生成的机器代码相对简洁,占用rom空间稍大,执行效率可以接受。再者我们是以汇编语言作为对比,C语言可能它的效率没有汇编语言那么高,但是绝对是够用的。

C语言它的优点还有,它具有很高的运算效率,C语言具有简洁紧凑以及使用灵活的语法机制,并能够直接访问硬件。C语言还具有出色的可移植性,能在多种不同体系结构的软硬件平台上运行,这样它的优点就比较明显了,因为我们在编程的时候肯定要求要有可读性和移植性呢,因为在做一款产品项目的时候,汇编语言的特性是可能这个程序是昨天写的,很有可能今天你自己再看就看不懂了,这就体现了它的可读性和移植性相对太差了。

但是C语言不同,C语言是可以直接看出你的运行意图还有移植性,复制过来就可以直接适用的,可读性非常强。

比方说在一个项目里面,现在这个项目是由我来管理,可能过一段时间我不在这个公司干了,那么你过来接受项目之后,如果我用的是汇编语言,短时间你很难读懂我的程序,更不用说怎么来维护这个产品项目给它升级,这就体现了它的可读性太差。

但是用C语言来编写的话,无论换了多少批人,只要稍微花一点时间,基本就可以看得懂。

C语言的缺点是汇编语言的优点还逊色那么一点点,具体的我就不多说了。

汇编语言的缺点,它是面向机器处于整个计算机语言层次结构底层,所以被视为一种低级语言,针对不一样的操作系统平台,不同的微控制器,指令都是完全不一样的,即使指令相似,也不具备可移植性。

汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难被读懂,不具有可移植性,以及维护和修改很困难。

还有就是难于从汇编语言代码上理解程序的设计意图,可维护性差,很容易产生bug,并且难于调试。

再者使用汇编语言需要对一些处理器非常了解,而且针对特定的体系结构和处理器进行优化,开发效率很低,且周期很长。

汇编语言的优点是目标代码剪短,占用内存少,执行速度快,面向机器并能够较好的发挥机器的特性,得到质量相对较高的程序,改善程序执行速度和效率,弥补高级语言在硬件控制方面的不足。

童鞋们在选择语言的时候一定要看它的优缺点,哪一种比较适用,就选哪一种!

51单片机的编程开发一般都会选择C语言,因为现在单片机半导体芯片技术已经达到了很高的水平,技术已经非常成熟,而且非常低廉的价格就可以买到超大内存高速的单片机芯片,相对于汇编语言它占用的内存和高执行速度来说,可以说已经完全没有什么优势了。所以相比之下C语言的优势更为突出明显,自然而然我们就会选择C语言作为51单片机的开发语言。

可能有些童鞋就说了,51单片机不是已经过时了吗?我们现在还学单片机还能干什么!学来有什么用!

首先我们了解一下技术的过时是什么意思,技术的过时是指技术的落后和被替代,从而失去应用和使用价值。

单片机在实际应用中会不会被其他产品取代,答案当然是否定的。增强型全功能的一片单片机成本价格最低有一毛多钱,最贵也就六七块钱。

高性能的嵌入式ARM芯片起步价格几十块,高端的上百甚至更贵。在电气设备中,90%的电器使用单片机已经足够了,没必要浪费成本使用高端的ARM芯片。

单片机可以说在我们生活中是无孔不入的,无处不在,已经渗透到我们生活中各个领域,小到玩具、电脑键盘、空调、手机、电话、刷卡机、电磁炉、彩电、冰箱、大到工业自动化、机器人、导航装置、汽车、导弹,甚至某些国家的火星车,这些设备里都含有一个或多个单片机。

单片机应用范围这么广泛,童鞋们一定要脚踏实地的学好,不要好高骛远,学一门就学精学透,多花一点时间学习单片机,因为技术都是相通的,把单片机学好,控制电路积累足够的多,它都是可以应用到嵌入式上面去的。盖房子都需要先把地基打好,童鞋们我说的对不对?

童鞋们不要觉得单机浪费你的时间,其实这是在打基础,单片机基础越好,积累的电路越多,你到时候再学习嵌入式或者更高端的芯片的时候,会更容易,会更得心应手。


​​​​​​​

学习单片机,我华维林北是认真的,童鞋们有什么疑问都可以来找我,及时回复林北能得到非常实用的干货,能帮助你们成长我会得到很大的满足感!好了,这期就说到这,我们下期见!

华维林北

汇编语言和C语言单片机哪个更好用?相关推荐

  1. 软件工程:汇编语言和C语言在软件工程的应用,计算机学生必看!

    随着科学技术不断发展,软件工程在社会发展中取得了进一步发展,软件工程专业,也在各大学生根发芽,许多大学的专业教学上也取得了良好的进展.汇编语言与C语言作为两种计算机基础语言,在推动软件工程发展等方面具 ...

  2. 一步步编写操作系统 69 汇编语言和c语言共同协作 70

    由于有了上一节的铺垫,本节的内容相对较少,这里给大家准备了两个小文件来实例演示汇编语言和c语言相互调用. 会两种不同语言的人,只是掌握了同一件事物的两种表达方式.人在学习一种新语言时,潜意识里是建立了 ...

  3. c语言和python和java_C语言和Python语言,那个更好?

    最近很多人问我:C语言和Python,哪个更好?实际上,并没有哪个好,哪个不好,它们都有自己的特点,因为,Python的底层逻辑是用C语言实现的,如果您想更深入的学习,那么建议先学习C语言,然后再学习 ...

  4. c语言和python实用性_C语言和Python语言,那个更好?

    (3)灵活性 Python语言的最大优点在于它的灵活性,这在测试领域非常重要,因为测试所面临的业务和需求经常在变化,有时它们甚至无法满足并自行决定,而在这时,你可以使用Python丰富的第三方库轻松找 ...

  5. 汇编语言和C语言编写程序各有什么优缺点,C语言和汇编语言在单片机开发中,各有什么优缺点?...

    您好,下面这个是我从论坛里面找出来的精华帖.你可以参考参考. C与汇编: C:经编译后,成汇编. 汇编:是自己"完成"了C的工作. C:是从通用化出发的,考虑了单片机的特点,极大地 ...

  6. 汇编语言属于C语言吧,汇编语言和c语言的区别是什么

    区别:汇编语言的效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差:c语言的效率比较低,硬件可操控性比较差,目标代码体积大,容易维护,可移植性很好. 汇编语言(Assembly Langua ...

  7. 一步步编写操作系统 43 汇编语言和c语言的理解

    也许有的同学喜欢用汇编语言来实现操作系统,觉得用汇编来写程序似乎更简单直接,可控性比较强,有种"一切尽在掌握"的赶脚.而用c语言实现操作系统这件事,虽然轻松很多,但似乎隐约感觉到有 ...

  8. c语言和python语言分别是一种什么语言_作为入门语言,C语言和Python哪一种更值得选择?...

    初学编程,应该学习哪一门编程语言,有不少人感到困惑,那么我们到底该如何选择呢? C语言和Python作为多种语言中两种语言,只是语法不同而已.以其作为入门语言的话,那还是各有千秋,各有各的好处的. 有 ...

  9. python和c语言哪个实用-c语言和python语言哪个更值得学?

    要想在测试行业有一席之地,只会一种语言是万万不能的. 不管是开发,还是软件测试工程师都有一门属于自己的工作语言. 有的喜欢用Python,有的擅长用Java,有的偏爱于Go,也有人用C语言. Pyth ...

  10. D语言和Go语言有前途吗?

    发信人: vimer (老来多忘事,惟不忘相思), 信区: Programming 标  题: [合集] D语言和Go语言有前途吗? (转载) 发信站: 水木社区 (Wed Dec 14 21:11: ...

最新文章

  1. 为什么人人都该懂点LLVM
  2. topcoder srm 714 div1
  3. SpringBoot图文教程4—SpringBoot 实现文件上传下载(亲测)
  4. range函数python3_Python3如何使用range函数替代xrange函数
  5. 黑胡桃木php,揭秘美国黑胡桃木的美
  6. mysql 复制延迟诊断_新特性解读 | MySQL 8 复制延迟观测新方式,更全面更精准
  7. 拿去吧你,软件测试的文件和目录测试都在这
  8. 总结const、readonly、static三者的区别【收藏、转载】20190614
  9. Python核心编程--学习笔记--8--条件与循环
  10. 11个编程接单的网站,你有技术就有收入,有收入就有女朋友《男盆友》
  11. CTFWeb——Bugku秋名山老司机 详细题解
  12. 数据特征分析 - 帕累托分析法
  13. python如何使用三角函数_Python中计算三角函数之cos()方法的使用简介
  14. 编程之美 - 中国象棋将帅问题
  15. IBM V7000存储服务器配置
  16. 计算机课图画的变形教案,《义务教育课程标准实验教科书美术(四年级上册)》提示及教学要点...
  17. 什么叫做石英表_石英表和机械表区别是什么?
  18. 无内鬼来点干货,银行java开发面试题(含答案)
  19. 手动从注册表中删除服务项
  20. 记录周三12.8的刷题心得ODAY

热门文章

  1. jQuery 移除事件
  2. 7-1抓老鼠啊-亏了还是赚了
  3. OSI七层模型设计思路
  4. “OSPF” DR与BDR
  5. web集群之Ngnix相关配置
  6. bash下常用快捷键以及Linux内部帮助文档的使用
  7. 巧用 TypeScript(四)
  8. 基于汇编的 C/C++ 协程 - 实现
  9. 在Linux上录制终端的操作
  10. Android通过反射打造能够存储不论什么对象的万能SharedPreferences