单片机编程语言的比较

更新时间:2023-06-02 06:16:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机 程序优化 开发技巧

电脑编程技巧与维护

单片机编程语言的比较

刘发慧

(江西电力职业技术学院电气自动化系,南昌330032)

摘要:单片机的编程语言很多,最常见的为汇编语言和C语言。本文对各种编程语言的优缺点作了比较详尽的分析,为单片机技术的初学者指明单片机编程语言学习的方向。关键词:单片杌;编程语言

DiscussestheSingleChipMicrocomputerProgrammingLanguage

珊Falmi

(ElectronicAutomatizationDepartment

Abstract:Therelanguage

are

of

JiangxivocationalandTechnicalCollegeofElectricity,Nanchang330032)

language,andtheassemblylanguageandC

alge

manykindsofthesinglechipmicrocomputerprogramming

we

anddemeritsofvariousprogramminglanguageindetail,

showingclearlythedirectionofthesinglechipmicrocomputerprogramminglanguagestudiestothesinglechipmicrocomputer

themostcommonlanguage.Here

analysisthemerits

technologybeginner.

Key

words:The

Singlechip

Microcomputer;ProgrammingLanguage

引言

单片机又称单片微控制器,它是把一个计算机系统,包

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

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

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

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

(4)功能强而有弹性,提供的库包含许多标准子程序,具有较强的数据处理能力,能将已编好程序容易地植入新程序,因为它具有方便的模块化编程技术。

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

用单片机C语言进行程序设计,已成为单片机软件开发的一个主流,作为一个技术全面并涉足较大规模的软件系统开发的单片机开发人员最好能够掌握基本的C语言编程。

括CPU、RAM、ROM、定时,计数器和多种I/O接口集成到一个芯片上。由于单片机的种种优点和特性,其应用领域极其广泛。单片机系统同样也由硬件系统和软件系统构成,因此涉及到程序的编写问题。单片机的编程语言很多,大致分成3类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,一般用户已经不再使用。下面分别对汇编语言和最常用的高级语言进行分析。

汇编语言

汇编语言是一种用文字助记符来表示机器指令的符号语

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

系统是有区别的,但懂得汇编语言可帮助了解影响任何语言

效率的特殊规定。例如。懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变肇需要几条指令才能设置累加器和数据指针进行存取。同样的,当要求使用浮点数和启用函数时也只有具备汇编编程经验才能避免生成庞大的、效率低的程序,对于这方面的编程,没有汇编语言是做不到的。

C语言

4其他高级语言

对于单片机编程,还有Basic语言和PI/M语言。Basic一直被认为是初学编程的语言,容易入门,PIJM语言可读性好。可靠性高,但不支持复杂的算术运算、浮点变量且无丰

(下转到36页)

单片机的C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言具有功

本文收稿日期:2009—11-19

—18一

单片机 程序优化 开发技巧

电脑编程技巧与维护

NULL);

工业职业技术学院学报,2008,9—5:32—36.

[3】高敬惠,姜子敬,胡金铭.基于SpeechSDK的语音应用程

序实现fJ】.广西科学院学报,2005,3—15:169—172.【4】董婧.鲁棒语音识别技术的研究.博士论文【D】,2006.【5】李禹才,左友东.郑秀清,等.基于SpeechSDK的语音控

制应用的设计与实现【j】.香港:计算机应用,2004,6—15:

31-35.

合成的语音效果很好,语法与发音都非常标准,十分适

合学习使用。3

结语

通过调用微软的SpeechSDK的语音识别引擎与语音合成

引擎,结合数据库查询匹配功能,巧妙地设计了一个中文学

习系统,系统的实用性很强,通过进一步的完善,本系统具

有很高的商业价值。

基金项目

参考文献

【1】林茜,欧建林,蔡骏.基于Microsoft

Speech

广东省工业攻关粤科计字【144号】20088080701007

SDK的语音

作者简介

陈永煊,男(1985一),广东丁业大学自动化学院研究生,研

关键词检出系统的设计和实现【J】.心智与计算.2007,12—

30:433—“1.

究方向:嵌入式系统及人工智能研究。

【2】初琦.SpeechSDK在语音机器人开发中的应用[J】.北京

(上接第18页)富的库函数支持。

片机C语言进行程序设计,已成为单片机软件开发的一个主流,作为一个技术人员最好能够掌握基本的c语言编程。

5结语

(1)汇编语言与处理器密切相关。每种处理器都有自己

的指令系统,相应的汇编语言各不相同。所以,汇编语言程

当然,有时候用单片机c语言也不能够实现所有要编写程序的功能,比如当想编写一个精确控制的定时程序时,用

起汇编语言来还是比较方便的。因此想成为一个优秀的单片机编程技术员,最好就是能懂得单片机c语言和汇编语言的混合编程。因为,汇编语言程序占用存储空间很小、对硬件控制灵活、反应速度快,但是其可读性差、难于调试与更新维护。c语言更新维护方便、可移植性强,但实践证明,单独

序的通用性、可移植性较差。相对来说,高级语言与具体计算机无关,高级语言程序可以在多种计算机上编译后执行。

(2)汇编语言功能有限,又涉及寄存器、主存单元等硬件细节,所以编写程序比较繁琐,调试起来也比较困难。高

级语言提供了强大的功能,采用类似自然语言的语法,所以容易被掌握和应用,它不必关心诸如标志、堆栈等琐碎问题。(3)汇编语言本质上就是机器语言,它可以直接、有效地控制计算机硬件,因而容易产生运行速度快、指令序列短

小的高效率目标程序。高级语言不易直接控制计算机的各种操作,编译程序产生的目标程序往往比较庞大、程序难以优化,所以运行速度较慢。

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

用单片机汇编语言编写的程序代码效率高,但学习起来相对难度较大,而且对于一个大型项目,如果完全采用汇编语言来编程,就显得很繁琐,尤其是遇到算法方面的问题时,汇编语言根本就应付不了。况且现在单片机的主频在不断的提高,在高频率时钟的作用下,完全不需要那么高效率的代

使用C语言开发单片机程序也存在诸多不足之处,例如占用

存储空间大、对硬件控制不灵活等。所以单独使用任何一门语言开发单片机程序,都不够理想。为此,要编写出高速度、高效率、可移植性强的单片机程序,集合c语言与汇编语言各自的优势,创造出所谓的单片机c和汇编语言混合编程。在编程过程中,通常用C语言来构建程序框架。而用汇编程序作为子程序来处理一些有实时性要求的特殊应用。

参考文献

【l】李铬.汇编语言与高级语言的混合编程【J】.电脑编程技

巧与维护。2004,10:8.

【2】王杰洁,耿英杰.单片机C语言和汇编语言的简单比较

叨.无线电,2006,(2):44.

【3】卢旭锦.浅谈单片机编程语言【J】.电脑知识与技术,

2007,(5):765-778.

【41李群芳。张士军,黄建.单片微型计算机与接口技术

【M】.北京:电子工业出版社,2005.作者简介

刘发慧,男(1977一),硕士研究生,研究方向:单片机程序

码;另外,单片机的ROM和RAM空间也在不断地增加,足

够装得下用C语言写的任何程序代码,单片机C语言相关资料又多又好找。可移植性非常好,比如只需要改变一个IO口

设计。

写个温度传感器的程序在任何一个单片机上都能使用。用单

一36一

单片机 程序优化 开发技巧

单片机编程语言的比较

作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:

刘发慧, LIU Fahui

江西电力职业技术学院电气自动化系,南昌,330032电脑编程技巧与维护

COMPUTER PROGRAMMING SKILLS & MAINTENANCE2010,""(2)0次

参考文献(4条)

1.李铭 汇编语言与高级语言的混合编程[期刊论文]-电脑编程技巧与维护 2004(10)2.王杰洁.耿英杰 单片机C语言和汇编语言的简单比较 2006(2)3.卢旭锦 浅谈单片机编程语言 2007(5)

4.李群芳.张士军.黄建 单片微型计算机与接口技术 2005

相似文献(10条)

1.期刊论文 苏培华.师玉军.SU Pei-hua.SHI Yu-jun 各种单片机编程语言比较 -西安文理学院学报(自然科学版)2008,11(3)

单片机目前在越来越多的领域得到了广泛应用,可用于对单片机进行编程的语言很多,最常见的为汇编语言、C语言、PL/M.和BASIC等4种语言.对各种编程语言的优缺点作了详尽的分析后,为单片机技术的初学者指明学习单片机编程语言的方向.

2.期刊论文 周昊 对比各种单片机编程语言 -计算机光盘软件与应用2010,""(4)

目前单片机的应用领域在逐步拓宽,同时可用于对单片机进行编程的语言也越来越多,比较常见的有汇编语言、C语言、PL/M.和BASIC等4种语言.本文将对各种编程语言进行对比分析指出其中的优缺点,为单片机技术的初学者提供简单快捷的学习路径.

3.期刊论文 蔡虹.王晟 VB与单片机串口通讯在光幕中的应用 -兰州石化职业技术学院学报2010,10(1)

介绍一种AT89C52单片机与PC机串口通讯的实现方法,利用串口通讯实现在Windows下对光幕硬件的控制、数据处理和绘制轮廓图等功能.实践证明该方法具有较好的精度和实时性,检测结果简洁直观.

4.期刊论文 卢旭锦.LU Xu-jin 浅谈单片机编程语言 -电脑知识与技术(学术交流)2007,1(3)

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

5.学位论文 潘明东 面向用户的PLC开发系统的研究 2005

本论文主要介绍了利用单片机开发可编程控制器(PLC)的新方法,以及PLC与上位机间通信的实现,同时,也开发了无线遥控模块,能够对PLC进行远程操作.本实验所开发的小型PLC提供梯形图和助记符两种编程语言,不仅能对开关量进行控制,也能够对模拟量进行操作,同时具有高速计数功能,能够满足一般用户的要求.本论文以PLC的理论知识为基础,提出了一套综合、高效的设计、开发和管理PLC的方法,对现实具有一定的指导意义和参考价值.

6.学位论文 李伟华 基于IEC61131-3标准的PLC底层开发 2008

IEC61131-3标准作为工业自动化控制系统编程语言的国际标准,其开放性和先进性得到了广泛关注和充分肯定。开发符合IEC61131-3标准的自动化产品意义重大,也是必要的。

本文根据IEC61131-3标准定义的编程模型,实现了下位机系统程序设计和与上位机的通信功能。

下位机采用ATmega64微处理器,实现了对上位机用户程序的装载和执行,包括串口通信、功能块的执行、用户变量的地址分配等。上位机基于VisumC++6.0开发了符合IEC61131-3编程标准的PLC用户编程环境程序。

本课题使用的处理器采用了ATMEL公司的ATmega64单片机,软件开发环境采用了ICCAVR编译器和AVR Studio仿真器。在ICCAVR编写完成系统程序后,通过JTAG接口下载到PLC的FLASH存储区,并加密。

下位机系统程序,对用户变量实现了动态分配,也就是根据用户使用的变量的个数分配内存空间。目前市场上多数PLC采用固定内存分配,即每款产品的不同类型的变量都有最大个数的限制,并分配固定的内存空间。与固定内存分配相比,动态分配内存既避免了用户编程时受到最大支持变量个数的限制,也节省了下位机内存空间。另外,下位机在装载上位机的用户程序的过程中,进行了指令扩展和代码转换,大大提高了PLC的运行速度。这两点是本课题的创新所在。

为了便于读者理解和文章的完整性,本文首先对硬件和上位机用户编程环境做了简单介绍;后根据下位机系统程序流程依次介绍各个模块的设计。本课题按照预期设计思想完成了PLC下位机系统程序的开发,并下载到处理器中,在仿真情况下能够正常运行,达到了期望效果。

7.会议论文 相韶霞.李刚 运用LabVIEW实现单片机MCS-51和PC机的串行通讯 2001

图形化的编程语言LabVIEW简单易学,在诸多领域受到工程设计者的青睐.用单片机小系统作前端信号采集系统也是工程设计中经常采用的一种设计方案.本文介绍如何利用LabVIEW中的串行通讯函数Serial Port Init.vi、Serial Port Write.vi以及Serial Prot Read.vi等实现单片机MCS-51和PC机的串行通讯.

8.学位论文 王垚 模糊PID控制在振动式谷物烘干机控制系统中的应用 2006

本论文选题主要是结合吉林省科学技术委员会“九五”期间重点科技攻关项目“谷物烘干机自动监测系统的研究”而进行的。谷物烘干处理是粮食加工中的一个重要环节。无论是粮食还是种子贮存都必须降到各自的安全水分,因而烘干机得到广泛的应用。但是迄今为止,谷物烘干在我国农业生产中还是个比较薄弱的环节。烘干机的结构虽然简单,但烘干过程是非线性、时变性和多变量的,传统的模拟形式控制系统在许多方面难以满足这些要求。目前在实际烘干过程中,还有一些是靠人工测量水分的方法,然后再进行控制,生产效率低,出粮水分偏差大。

该论文主要是将模糊PID控制理论应用到谷物烘干机控制系统中,在数字单片机上用模糊控制的方法取代原来的传统控制方式.根据模糊控制规则编制软件程序来实现烘干过程中粮食水份、温度的自动控制,提高烘干粮食的质量和烘干机械的效率,有利于节约能源。

谷物烘干机的温度水分自动检测,它是谷物烘干自动监测系统的技术难点。目前的烘干机的检测系统多单纯的采取PID技术或模糊技术.常规的PID控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好且可靠性高,因此被广泛应用于工业控制领域,尤其适用于可建立精确数学模型的确定

单片机 程序优化 开发技巧

性控制系统。而烘干过程是一个大滞后、非线性的、时变性、变结构、多变量的,难于建立精确的数学模型,应用传统的控制理论和现代控制方法难以取得满意的效果。模糊控制技术虽然能够在一定的范围内解决上述问题,但模糊控制的稳态控制精度差,难以达到较高的控制精度。模糊控制没有积分环节,并且对输入量的处理是离散而有限的,即控制曲线是阶梯型而非平滑的,因而必然存在稳态误差,即可能在平衡点附近出现小振幅的振荡现象;而PID控制在小范围调节效果是较理想的,其积分作用可消除积分误差。采用模糊PID技术有利于解决控制系统的稳态性和准确性的矛盾,又能增强系统对确定因素的适应性,可以实现水分的在线测量。

本论文在下述方面有所创新:1、模糊PID控制算法应用于谷物烘干控制中,采用汇编语言进行编写,时空性能较佳,能满足实时控制要求;2、采用PC机作为上位机监控系统,运用VC++编程语言设计良好的人机界面,提出了基于VC++的单片机时时监控系统的框架思想,可以实现谷物水分和温度的动态显示.

9.学位论文 于涛 单片机的组态设计与实现 2007

组态技术在工业控制软件中的应用十分普遍。组态软件不仅使控制方案设计、调试简便易行、维护方便,而且能够大大缩短控制工程的开发周期。组态不仅是在上位机(PC)上实行,更重要的是控制器的组态。但目前在国内很少见到对控制器进行组态的研究。

本论文借鉴组态软件思想,从研究组态软件结构角度,选择以PLC组态软件为目标,研究、设计在控制器中可实现的组态软件的结构,它可采用类似于PLC的编程语言如指令表(或梯形图)进行编程,且能与上位机的组态软件方便的进行连接,接受监控。从而使自制的控制器能完成类似PLC的功能,增强自制控制器在应用上的灵活性和通用性,缩短其应用系统的实现周期。

实现的硬件为自制的用于江苏省物流工程技术中心实验室立体库货位监控的实验板。

本论文的核心内容有以下几点:一是组态指令如何进行设置,以及组态指令的读取、解释、执行的具体实现过程;二是如何在PC上实现对控制器的组态以及完成控制器与组态软件的接口设计与实现方法。

10.期刊论文 陈静 单片机应用系统中的编程语言 -淮北职业技术学院学报2009,8(1)

1 引言

单片机又称单片微控制器,它是把一个计算机系统集成到一个芯片上.概括地讲,一块芯片就成了一台计算机.单片机已广泛地应用于军事、工业、家用电器、智能玩具、便携式智能仪表和机器人制作等领域,使产品功能、精度和质量大幅度提升,且电路简单,故障率低,可靠性高,成本低廉.单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据,因此涉及到程序的编写问题.单片机的编程语言很多,大致分成三类:机器语言、汇编语言、高级语言.下面分别进行分析.

本文链接:/Periodical_dnbcjqywh201002008.aspx

授权使用:南昌大学图书馆(wfncdxtsg),授权号:7a54ab49-70bc-49d7-a5db-9db400c1c068

下载时间:2010年7月15日

本文来源:https://www.bwwdw.com/article/i1z1.html

Top