大家好,我是华维林北
为什么要用C语言作为单片机开发语言而不用汇编语言?
首先我们说一下C语言
C语言的优点,C51属于间接面向机器的终极语言,一样具有独特的特性,语言程序直观,结构性好,很容易维护和移植,编程效率非常高,生成的机器代码相对简洁,占用rom空间稍大,执行效率可以接受。再者我们是以汇编语言作为对比,C语言可能它的效率没有汇编语言那么高,但是绝对是够用的。
C语言它的优点还有,它具有很高的运算效率,C语言具有简洁紧凑以及使用灵活的语法机制,并能够直接访问硬件。C语言还具有出色的可移植性,能在多种不同体系结构的软硬件平台上运行,这样它的优点就比较明显了,因为我们在编程的时候肯定要求要有可读性和移植性呢,因为在做一款产品项目的时候,汇编语言的特性是可能这个程序是昨天写的,很有可能今天你自己再看就看不懂了,这就体现了它的可读性和移植性相对太差了。
但是C语言不同,C语言是可以直接看出你的运行意图还有移植性,复制过来就可以直接适用的,可读性非常强。
比方说在一个项目里面,现在这个项目是由我来管理,可能过一段时间我不在这个公司干了,那么你过来接受项目之后,如果我用的是汇编语言,短时间你很难读懂我的程序,更不用说怎么来维护这个产品项目给它升级,这就体现了它的可读性太差。
但是用C语言来编写的话,无论换了多少批人,只要稍微花一点时间,基本就可以看得懂。
C语言的缺点是汇编语言的优点还逊色那么一点点,具体的我就不多说了。
汇编语言的缺点,它是面向机器处于整个计算机语言层次结构底层,所以被视为一种低级语言,针对不一样的操作系统平台,不同的微控制器,指令都是完全不一样的,即使指令相似,也不具备可移植性。
汇编语言的程序读懂需要借助微控制器的指令手册以及各个寄存器的说明,所以很难被读懂,不具有可移植性,以及维护和修改很困难。
还有就是难于从汇编语言代码上理解程序的设计意图,可维护性差,很容易产生bug,并且难于调试。
再者使用汇编语言需要对一些处理器非常了解,而且针对特定的体系结构和处理器进行优化,开发效率很低,且周期很长。
汇编语言的优点是目标代码剪短,占用内存少,执行速度快,面向机器并能够较好的发挥机器的特性,得到质量相对较高的程序,改善程序执行速度和效率,弥补高级语言在硬件控制方面的不足。
童鞋们在选择语言的时候一定要看它的优缺点,哪一种比较适用,就选哪一种!
51单片机的编程开发一般都会选择C语言,因为现在单片机半导体芯片技术已经达到了很高的水平,技术已经非常成熟,而且非常低廉的价格就可以买到超大内存高速的单片机芯片,相对于汇编语言它占用的内存和高执行速度来说,可以说已经完全没有什么优势了。所以相比之下C语言的优势更为突出明显,自然而然我们就会选择C语言作为51单片机的开发语言。
可能有些童鞋就说了,51单片机不是已经过时了吗?我们现在还学单片机还能干什么!学来有什么用!
首先我们了解一下技术的过时是什么意思,技术的过时是指技术的落后和被替代,从而失去应用和使用价值。
单片机在实际应用中会不会被其他产品取代,答案当然是否定的。增强型全功能的一片单片机成本价格最低有一毛多钱,最贵也就六七块钱。
高性能的嵌入式ARM芯片起步价格几十块,高端的上百甚至更贵。在电气设备中,90%的电器使用单片机已经足够了,没必要浪费成本使用高端的ARM芯片。
单片机可以说在我们生活中是无孔不入的,无处不在,已经渗透到我们生活中各个领域,小到玩具、电脑键盘、空调、手机、电话、刷卡机、电磁炉、彩电、冰箱、大到工业自动化、机器人、导航装置、汽车、导弹,甚至某些国家的火星车,这些设备里都含有一个或多个单片机。
单片机应用范围这么广泛,童鞋们一定要脚踏实地的学好,不要好高骛远,学一门就学精学透,多花一点时间学习单片机,因为技术都是相通的,把单片机学好,控制电路积累足够的多,它都是可以应用到嵌入式上面去的。盖房子都需要先把地基打好,童鞋们我说的对不对?
童鞋们不要觉得单机浪费你的时间,其实这是在打基础,单片机基础越好,积累的电路越多,你到时候再学习嵌入式或者更高端的芯片的时候,会更容易,会更得心应手。
学习单片机,我华维林北是认真的,童鞋们有什么疑问都可以来找我,及时回复林北能得到非常实用的干货,能帮助你们成长我会得到很大的满足感!好了,这期就说到这,我们下期见!
华维林北