您的位置 首页 ADAS

单片机编程言语的比较

引言单片机又称单片微控制器,它是把一个计算机系统,包括cpu、ram、rom、定时计数器和多种io接口集成到一个芯片上。由于单片机的种种优

导言

单片机又称单片微操控器,它是把一个核算机体系,包括cpu、ram、rom、守时/计数器和多种i/o接口集成到一个芯片上。由于单片机的种种长处和特性,其运用领域极端广泛。单片机体系相同也由硬件体系和软件体系构成,因而触及到程序的编写问题。单片机的编程言语许多,大致分红三类:机器言语、汇编言语、高档言语。机器言语由于繁琐简单犯错,一般用户现已不再运用。下面分别对汇编言语和最常用的高档言语进行剖析。

单片机的汇编言语

汇编言语是一种用文字助记符来表明机器指令的符号言语,是最接近机器码的一种言语。其主要长处是占用资源少,程序履行功率高,由于它一条指令就对应一条机器码,每一步的履行动作都很清楚,并且程序巨细和仓库调用状况都简单操控,调试起来也比较便利。可是不同的类型的单片机,其汇编言语或许有点差异,所以不易移植,由于他们的指令体系是有差异的。但懂得汇编言语可协助了解影响任何言语功率的特别规则。例如,懂得汇编言语指令就可以运用在片内ram作变量的优势,由于片外变量需求几条指令才干设置累加器和数据指针进行存取。相同的,当要求运用浮点数和启用函数时也只要具有汇编编程经历才干防止生成巨大的、功率低的程序,关于这方面的编程,没有汇编言语是做不到的。

单片机的c言语

单片机的c言语是一种编译型程序设计言语,它统筹了多种高档言语的特色,并具有汇编言语的功用。c言语具有功用丰厚的库函数,运算速度快,编译功率高,有杰出的可移植性,并且可以完成直接对体系硬件的操控。此外,c言语程序具有完好的程序模块结构,然后为软件开发中选用模块化程序设计办法供给了有力的保证。与汇编比较,有如下长处:

对单片机的指令体系不要求了解,仅要求对51的存储器结构有开始了解,至于寄存器分配、不同存储器的寻址及数据类型等细节均由编译器办理。

程序有规范的结构,可分为不同的函数。这种方法可使程序结构化,将可变的挑选与特别操作组合在一起,改进了程序的可读性。

编程及程序调试时刻明显缩短,然后进步功率。供给的库包括许多规范子程序,具有较强的数据处理能将已编好程序可简单的植入新程序,由于它具有便利的模块化编程技能。

功用强而有弹性,供给的库包括许多规范子程序,具有较强的数据处理才能,能将已编好程序简单的植入新程序,由于它具有便利的模块化编程技能。

单片机c言语作为一种十分便利的言语而得到广泛的支撑,c言语程序自身并不依赖于机器硬件体系,底子上不做修正就可依据单片机的不同较快地移植过来。

用单片机c言语进行程序设计,已成为单片机软件开发的一个干流,作为一个技能全面并进入较大规划的软件体系开发的单片机开发人员最好可以把握底子的c言语编程。

其他高档言语

关于单片机编程,还有basic言语和pl/m言语。basic一向被认为是初学编程的言语,简单入门,

pl/m言语可读性好,可靠性高,但不支撑杂乱的算术运算、浮点变量且无丰厚的库函数支撑。

结语

汇编言语与处理器密切相关。每种处理器都有自己的指令体系,相应的汇编言语各不相同。所以,汇编言语程序的通用性、可移植性较差。相对来说,高档言语与详细核算机无关,高档言语程序可以在多种核算机上编译后履行。

汇编言语功用有限,又触及寄存器、主存单元等硬件细节,所以编写程序比较繁琐,调试起来也比较困难。高档言语供给了强壮的功用,选用相似自然言语的语法,所以简单被把握和运用,它不用关怀比方标志、仓库等琐碎问题。

汇编言语本质上便是机器言语,它可以直接、有效地操控核算机硬件,因而简单发生运转速度快、指令序列矮小的高功率方针程序。高档言语不易直接操控核算机的各种操作,编译程序发生的方针程序往往比较巨大、程序难以优化,所以运转速度较慢。

综上所述,单片机的各种编程言语各有各的优缺点,作为单片机初学者,仍是应该先学习汇编言语,由于汇编言语程序除了具有简练明快、跳动性强、占rom资源少等长处以外,还因它和单片机底层硬件紧密联系,可以让初学者愈加了解单片机硬件体系各种资源,了解各个功用模块的效果,然后为编出更高功率的程序打好厚实的根底。

用单片机汇编言语编写的程序代码功率高,但学习起来相对难度较大,并且关于一个大型项目,假如彻底选用汇编言语来编程,就显得很繁琐,尤其是遇到算法方面的问题时,汇编言语底子就敷衍不了。何况现在单片机的主频在不断的进步,在高频率时钟的效果下,咱们彻底不需求那么高功率的代码;别的,单片机的rom和ram空间也在不断的添加,满足装得下用c言语写的任何程序代码,单片机c言语相关的材料又多又好找,可移植性十分好,比方只需求改动一个io口写温度传感器的程序在任何一个单片机上都能运用。用单片机c言语进行程序设计,已成为单片机软件开发的一个干流,作为一个技能人员最好可以把握底子的c言语编程。

当然,有时候用单片机c言语也不可以完成一切要编写程序的功用,比方当想编写一个准确操控的守时程序时,用起汇编言语来仍是比较便利的。因而想成为一个优异的单片机编程技能员,最好便是能懂得单片机c言语和汇编言语的混合编程。由于,汇编言语程序占用存储空间很小、对硬件操控灵敏、反响速度快,可是其可读性差、难于调试与更新保护。c言语更新保护便利、可移植性强,但实践证明,独自运用c言语开发单片机程序也存在许多不足之处,例如占用存储空间大、对硬件操控不灵敏等。所以独自运用任何一门言语开发单片机程序,都不行抱负。为此,要编写出高速度、高功率、可移植性强的单片机程序,调集c言语与汇编言语各自的优势,创出所谓的单片机c和汇编言语混合编程。在编程过程中,通常用c言语来构建程序结构,而用汇编程序作为子程序来处理一些有实时性要求的特别运用。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/262187.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部