浅谈单片机编程语言

摘要:单片机的编程语言很多,最常见的为汇编语言、C语言、PL/M和BASIC等四种语言。在对各种编程语言的优缺点作了详尽的分析之后,为单片机技术的初学者指明单片机编程语言学习的方向。

关键词:单片机;编程

中***分类号:TP312文献标识码:A文章编号:1009-3044(2007)03-10765-01

1 引言

随着单片机技术日新月益的发展,学习它的人可是越来越多了。对于初学者来说,好多人一开始总会被单片机的各种各样的编程语言搞糊涂了。因为单片机目前的编程语言常见的有四种,即汇编语言、C语言、PL/M和BASIC。究竟要学哪一种编程语言好呢?我们先来做个比较吧。

2 单片机的BASIC编程语言

BASIC是一种高级语言,它的英文含义是“初学者通用符号指令代码”,是在1965年5月,由美国科学家托马斯・库尔兹研制出来的。10多年后,微软公司把它移植到微型机上。几十多年来,BASIC语言一直被认为是初学编程的语言。它已经由QBASIC发展到VB#版本,具备了很多结构化思想和编程方式,如函数、模块、局部变量、全局变量、数据传递等。早期的BASIC语言由于生成的代码不是最终目标机器的代码,而是经过一个RUNTIME程序解释后运行的,所以执行效率低。而单片机的BASIC编译器是直接将程序代码编译成相应芯片的机器码,不需要在单片机的内存中驻留RUNTIME程序,执行效率与其他编译器编译出来的一样。

我们现在以MCS-Electronics公司开发出来的BASCOM-8051开发环境为例,简要介绍一下以BASIC语言为基础的单片机编程系统。

它和一般BASIC语言一样具有如:For、To、Step、If、Else、End 、Select Case等等命令,其用法及功能是没有什么区别的,因此初学者比较容易入门。

另外,它还有针对单片机硬件所设计的命令如:LCD命令可以用一条命令来实现LCD的显示操作。

Cls '清LCD屏

Lcd"Hello world." '向LCD输入字符串

类似于这样的命令主要是提供了直接对单片机及其外部硬件的操作,特别是提供了对单片机端口的直接操作,如:P1、P2、P2.1、P0.3等等,简化了整个开发过程,是开发人员重点学习的部分。

例如有硬件电路如***(1)所示,编程使发光二极管间隔两秒钟闪烁一次的程序如下:

While I = 2

P1.0 = Not P1.0

Wait I

Wend

End

3 单片机的PL/M编程语言

PL/M 语言是Intel公司从8080微处理器开始为其系列产品开发的编程语言,其特点是:

3.1 简单易学

PL/M-51语言只有两类语句:一类是说明语句,用于说明变量和过程;另一类是可执行语句,如赋值语句、条件语句和循环语句等。这些语句的功能和BASIC语言中相应的语句相似,如:

P1=02H;/*赋值语句*/

IF M>2 THEN N=P1;/*条件语句*/

DO I=0 TO 10;/*循环语句 */

3.2 可读性好

PL/M-51是一种结构化语言,其程序是块式结构,可采用缩进式方法书写源程序,使程序层次清楚,便于理解和阅读。一个完整的程序可由多个模块组成,而每个模块又是由多个程序块构成。

3.3 可靠性高

PL/M-51编译软件检查用户程序对单片机的各种资源使用情况,对冲突使用情况或不合理使用情况能提出警告,并能自动为用户程序合理分配内存。

3.4 隔离性好

PL/M-51中,既可有全局的静态变量,也可有局部的动态变量,对于全局性的静态变量,其性质和BASIC中的变量一样,该变量在整个程序中均有效。对于局部的动态变量,它只有在其所说明的程序块中或过程中有效,在该程序块或过程之外则无效。局部动态变量的特点是,当由多个人共同编制一个程序中的不同模块时,而不必担心是否使用了相同的标识符而发生冲突。模块化的程序设计增加了程序设计的灵活性的方便性。

3.5 兼容性好

PL/M-51可同汇编语言或其他语言的目标模块连接起来,生成可执行代码如果用户必须使用汇编语言编制一段程序,或是想利用已调好的汇编语言程序块,那么该段汇编可以很方便地连接到PL/M-51程序目标块中。

3.6 具有良好的算法库和库管理能力

PL/M-51语言具有INTEL公司所提供的算法库和库管理功能用户能利用现成的算法库完成加、减、乘、除等运算,并能建立自己的特定算法库,使得编程一劳永逸,提高软件的开发效率。

由上面几点可见,PL/M语言是类似于Pascal一种语言,是一种结构化语言。PL/M编译器好像汇编器一样可产生紧凑代码,可以说它是一种"高级汇编语言",可详细控制着代码的生成。但对51系列的单片机来说,PL/M不支持复杂的

算术运算、浮点变量而无丰富的库函数支持。学习PL/M无异于学习一种新语言。

4 单片机的汇编语言

汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植。比如你在PIC12CE518单片机上用汇编语言编了一个程序,到了STC89C51单片机上那可就运行不了,因为他们的指令系统是有区别的。

单片机的汇编语言非常像其他汇编语言。指令系统比第一代微处理器要强一些。但单片机拥有不同存储区域使得其编程变得复杂一些,可是作为一位电子工程师,懂得汇编语言就可帮助你了解影响任何语言效率的特殊规定。例如,懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。同样的,当要求使用浮点数和启用函数时也只有具备汇编编程经验才能避免生成庞大的、效率低的程序,对于这方面的编程,没有汇编语言是做不到的。

5 单片机的C语言

单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功能丰富的库函数,运算速度快,编译效率高,有良好的可移植性,而且可以实现直接对系统硬件的控制。此外,C语言程序具有完整的程序模块结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。与汇编相比,有如下优点:

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

(2)程序有规范的结构,可分为不同的函数。这种方式可使程序结构化,将可变的选择与特殊操作组合在一起,改善了程序的可读性。

(3)编程及程序调试时间显著缩短,从而提高效率。 提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。

单片机C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。

综上所述,单片机的四种编程语言各有各的优缺点,作为单片机初学者,笔者认为还是应该先学习汇编语言,不一定要学得很精很熟悉,但要有一定的了解。因为汇编语言程序除了具有简洁明快、跳跃性强、占ROM资源少等优点以外,还因它和单片机底层硬件紧密联系,可以让初学者更加了解单片机硬件系统各种资源,熟悉各个功能模块的作用,从而为编出更高效率的程序打好扎实的基础。

用单片机汇编语言编写的程序代码效率高,但学习起来相对难度较大,而且对于一个大型项目,如果完全采用汇编语言来编程,就显得很繁琐,尤其是遇到算法方面的问题时,汇编语言根本就应付不了。况且现在单片机的主频在不断的提高,在高频率时钟的作用下,我们完全不需要那么高效率的代码;另外,单片机的ROM和RAM空间也在不断的增加,足够装得下你用C语言写的任何程序代码,单片机C语言相关的资料又多又好找,可移植性非常好,比如只需要改变一个IO口写个温度传感器的程序在任何一个单片机上都能使用。由此可见用单片机C语言进行程序设计,已成为单片机软件开发的一个主流,作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。

当然,有时候用单片机C语言也不能够实现所有要编写程序的功能,比如当想编写一个精确控制的定时程序时,用起汇编语言来还是比较方便的。因此想成为一个优秀的单片机编程技术员,最好就是能懂得单片机C语言和汇编语言的混合编程。

参考文献:

[1]蓝点方舟科技网. . 8051系列单片机BASIC语言开发环境简介[Z].

[2]/. PL/M-51高级语言特点[Z].

[3]王杰洁,耿英杰. 单片机C语言和汇编语言的简单比较[Z].

[4]李群芳,张士***,黄建. 单片微型计算机与接口技术[M].

本文中所涉及到的***表、注解、公式等内容请以PDF格式阅读原文。

浅谈单片机编程语言

转载请注明出处学文网 » 浅谈单片机编程语言

学习

服务运营管理范文精选

阅读(74)

本文为您介绍服务运营管理范文精选,内容包括服务运营管理案例答案,服务运营管理的专业术语。服务运营管理篇1摘要:近几年,伴随着经济的发展和社会的进步,相关部门要结合服务供应链的基本特征,从预测管控机制出发,对资源规划和预约能力予以管

学习

HZG高硅铸铁轴流泵

阅读(63)

本文为您介绍HZG高硅铸铁轴流泵,内容包括内蒙古qsz潜水轴流泵功率,甘肃qsz潜水轴流泵功率。【关键词】高硅铸铁;轴流泵;钛白废酸循环泵

学习

看!那些恋爱培训班

阅读(40)

本文为您介绍看!那些恋爱培训班,内容包括恋爱培训班真的靠谱吗,恋爱培训班红娘。毅修(化名)站在西湖边上,紧紧盯着划向西湖中央的一只小船。船上有一双刚刚认识不到一个小时的男女。

学习

关于电梯抱闸工作异常的保护探讨

阅读(34)

本文为您介绍关于电梯抱闸工作异常的保护探讨,内容包括电梯抱闸出现问题的后果,电梯抱闸检测开关故障怎么解决。【摘要】电梯是一种垂直运动,就像汽车停在陡峭的斜坡上,如果不加装刹车装置就会发生自溜的危险,电梯上把这种状况称为“溜梯”

学习

土地治理制度

阅读(25)

本文为您介绍土地治理制度,内容包括土地治理最新政策,土地修复治理方案。第一章总则

学习

化工生产中的DCS控制

阅读(39)

本文为您介绍化工生产中的DCS控制,内容包括化工厂dcs控制原理讲解,化工企业dcs系统操作规范。1.DCS控制系统功能与结构分析

学习

医院绩效考核浅析

阅读(18)

本文为您介绍医院绩效考核浅析,内容包括医院绩效考核方案的意义,三级医院绩效考核。【摘要】随着医疗体制改革的实施,医院应通过科学的绩效管理实现医院资源的合理配置,本文对医院绩效考核的现状进行了分析,并给出了进一步完善绩效考核机制

学习

滇茶起源 六大茶山

阅读(16)

作为世界茶叶最重要的原产地,云南是茶叶最为古老的故乡。尽管在漫长的时光中,关于云南茶叶最初的记载,已经散失殆尽,但深藏在云南群山中数千年的古茶树群落,还是以自身顽强的生命,诉说着远古时代云南高原的那一片繁茂与葱茏。

学习

关于单采血小板的问题与对策

阅读(37)

本文为您介绍关于单采血小板的问题与对策,内容包括单采血小板和机采血血小板的区别,血小板单采是什么意思。关键词单采血小板问题对策

学习

如何创造精彩课堂

阅读(18)

本文为您介绍如何创造精彩课堂,内容包括数学课堂导入精彩案例,怎样的课堂变得精彩。【摘要】一个精彩的课堂,也是高效的课堂,需要教师在围绕课程目标精心设计教案的基础上,遵循学生认知的曲线、思维的张弛以及情感的波澜,以灵动的教育机智随

学习

浅析初三地理备考

阅读(16)

本文为您介绍浅析初三地理备考,内容包括中考地理复习资料全集,初三地理总复习题及答案。初中地理虽在中考中所占分值不大,但搞好地理教学、复习是中考取胜的重要环节。要在中考中取得的好成绩,首先要从基础抓起,抓好七、八年级的教学环节。

学习

结合齿插齿问题分析

阅读(14)

本文为您介绍结合齿插齿问题分析,内容包括拉齿和插齿的区别,齿根应力的检测方法。[摘要]插齿多用于内齿轮、双联齿轮、三联齿轮等其它齿轮加工机床难于加工的齿轮加工工作,精度高于滚齿,而公法线长度变动量比滚齿大,生产率低。

学习

论体验式教育的理论拓展

阅读(27)

本文为您介绍论体验式教育的理论拓展,内容包括体验式教学理论,国内外体验式教育研究述评结论。体验式教育从西方引入中国,因其教育理论突出了受教育者对知识的主动探索和建构,更深层地诠释了“以人为本”的教育目标,已成为中国教育教学改革

学习

企业领导力的培养与提升

阅读(50)

本文为您介绍企业领导力的培养与提升,内容包括企业培养个人的领导力,企业领导力培养的现状和挑战。有效领导力能够在社会和组织中创造共同的信念、价值及期望,并能够修正追随者对目标的理解和看法。在对组织进行深入细致的研究后发现,领导

学习

浅谈取\弃土场的选取

阅读(16)

本文为您介绍浅谈取\弃土场的选取,内容包括弃土场的设计应该参照哪个规范,取弃土场应注意的事项。关键字:取、弃土场,环境,道路

学习

浅谈分包管理

阅读(20)

本文为您介绍浅谈分包管理,内容包括分包管理的十种方法,如何管理分包队伍。随着国家大建设的推进,在系统集成行业,分包管理以其整合大量社会资源、节约企业成本、增加工程效率的特点慢慢成为系统集成行业不可或缺的工程管理方式之一。越来

学习

浅谈钢

阅读(17)

本文为您介绍浅谈钢,内容包括钢混叠合梁施工工艺,负弯矩叠合板组合梁。摘要:本文以跨山西中南部铁路通道分离式立交桥为例,介绍钢-混凝土叠合板组合梁设计要点、耐久性措施及施工注意事项,仅供参考。

学习

浅谈“标号法”化简复杂电路

阅读(16)

本文为您介绍浅谈“标号法”化简复杂电路,内容包括数字电路化简公式,标号法简化电路。摘要:复杂电路的化简,是电路分析的一个重要内容,但一直也是学生头疼的难题。求解化简的方法很多,过程繁简不一。标号法是一种较好的化简方法,为学生化简复

学习

浅谈古琴的文化意蕴

阅读(21)

本文为您介绍浅谈古琴的文化意蕴,内容包括浅析白居易古琴诗中的美学意蕴,古琴注入时代意蕴。古琴,亦称瑶琴、玉琴、七弦琴,为中国最古老的弹拨乐器之一,在古代称作“琴”,还有“绿绮”、“丝桐”等别称。在孔子时期就已盛行,有文字可考的历史

学习

浅谈当前企业的品牌发展战略

阅读(23)

本文为您介绍浅谈当前企业的品牌发展战略,内容包括浅谈品牌战略在企业发展中的作用,品牌发展战略。摘要:“品牌”是当今企业发展战略中较热门的话题。本文论述了品牌发展战略的重要性、迫切性,并通过自己多年的管理理论和经验,简洁地介绍了

学习

浅谈人格教育

阅读(26)

本文为您介绍浅谈人格教育,内容包括人格教育动画全集,儿童的人格教育。【摘要】本文主要论述人格教育的重要性,以及如何预防和矫正青少年不良的心理与行为倾向,培养其健全的人格。

学习

浅谈焦虑对学习的影响

阅读(66)

情绪对人的学习行为的影响是显而易见的。情绪对人的学习行为有双重作用,既能促进、增强学习效果也能削弱、减低学习效果。尤其是焦虑对学生学习的影响更大。因此,教师在教育教学中掌握关于焦虑的基本知识,对于有效地调整焦虑,提高学生的