单片机汇编程序编写技巧

时间:2024-02-11 点赞:45982 浏览:89274 作者原创标记本站原创

本文是一篇控制系统论文范文,关于控制系统相关毕业论文参考文献格式,关于单片机汇编程序编写技巧相关毕业论文题目范文。适合控制系统及程序及微型计算机控制技术方面的的大学硕士和本科毕业论文以及控制系统相关开题报告范文和职称论文写作参考文献资料下载。

【摘 要】在用汇编语言编写单片机程序时,由于编程方法或者选用指令的不同,会造成实现相同功能的程序,执行时间的长短和程序占用内存空间的大小都不相同,占用内存空间少、执行时间短是编写汇编程序最基本的原则.本文从这两个评价标准入手,简述了对汇编程序进行时间和空间优化的一些小技巧,目的是为了改善程序的执行效率,或达到一定的限制、要求,以更好地满足应用需求.

【关 键 词】单片机;汇编程序;编程技巧

ProgrammingskillsofMCUassemblyprogram

【Abstract】IntheMCUprograminginassemblylanguage,programmingmethodsorselectionofdifferentinstructions,maycausetheprogramtoachievethesamefunctionality,theimplementationofthelengthoftimeandprogramsizeisnotthesameOccupylesemoryspace,shortexecutiontimeisthebasicprincipleofprogramming.Thisarticlefromthetwoevaluationcriteriatostart,brieflyassemblertipstooptimizethetimeandspace,theaimistoimprovetheefficiencyoftheimplementationoftheprogram,orreachacertainlimit,therequirementstobettermeettheapplicationrequirements.

【Keywords】MCU,Assemblyprogram,Programmingskills

0.引言

单片机应用系统由硬件和软件组成.软件是系统监控程序的总称,也就是各种指令依某种规律组合而形成的程序,单片机应用系统的软件设计是系统设计中最基本而且工作量较大的任务.迄今为止,单片机的程序设计语言主要采用汇编语言和高级语言.汇编语言是面向机器的语言,常称为低级语言,但比机器语言直观,便于理解和记忆,适合编写短小、高效、实时控制的程序.在单片机应用系统中经常用汇编语言编写程序,在用汇编语言编写一个单片机应用系统的程序时,往往选择的程序结构、选用的汇编指令以及占用的存储空间都不相同,这就导致实现同一个功能的汇编程序不唯一.一个好的汇编程序应该执行时间短,占用系统的存储空间少,这就是评价汇编程序的时间和空间标准.

1.程序的时间和空间

先看个例子,用汇编程序将单片机数据存储器30H开始的16个单元中的数据依次循环左移8位,有三种实现方法:

方法一

MOVA,30H

MOVR1,#10H

MOVR0,#3FH

JH:XCHA,@R0

DECRO

DJNZR1,JH

方法二

MOVA,30H

MOV30H,31H

MOV31H,32H

......

MOV3EH,3FH

MOV3FH,A

方法三

MOVA,30H

XCHA,3FH

XCHA,3EH

......

XCHA,31H

XCHA,30H

上例中,三段汇编程序实现的功能相同,但占用的时间和空间却不相同,程序运行的时间分别为67个周期,32个周期和17个周期;程序占用的空间分别是10个字节、52个字节和34个字节.其中方法三和方法二相比较,不仅速度提高了将近1倍,而且减少了一半的存储空间.可见,不同的程序编写方法,程序的时间和空间不相同.

2.时间和空间的优化

从上述分析得知,同一个功能的汇编程序有多种实现方法,在编写程序时,应该考虑系统对时间和空间的要求,对一般控制系统来说,主要考虑空间,保证程序能装下,而对于实时控制系统来说,主要希望程序执行的时间越短越好.正是由于不同的系统对时间和空间的要求不尽相同,所以在程序编写过程中,就要对汇编程序进行时间和空间的优化,来满足单片机应用系统的要求.下面笔者就浅谈在时间和空间优化上的一些小技巧.

2.1时间的优化

程序在时间上的优化最基本的就是用周期更短的指令代替原来的指令,例如当遇到乘除运算时,尽可能地用移位来实现;其次,寄存器寻址的指令具有指令周期数少的特点,所以尽量采用寄存器寻址,可以优化程序的执行时间.另外对于有很大存储空间的单片机应用系统,还可以采用“空间换时间”的方法,即充分利用那部分闲置的存储空间,来编写执行时间短的程序,例如可以将循环程序分成几个单独的程序段执行,将带参数的子程序改成可以直接调用的子程序,省去对参数进行赋值上的时间等.上例中的方法三就采用的这种方法.

2.2空间的优化

程序在空间上的优化最基本的就是采用循环结构和子程序,使程序的长度大幅减少,占用内存空间减少,从而简化程序的逻辑结构,提高了空间效率.其次就是存储空间的复用,一般来说,一个存储空间只作一个用途,但是在可利用资源非常有限的情况下,可以适当的实现存储空间的复用.另外在单片机应用系统对时间要求不高的情况下,可以使用“时间换空间”的策略来压缩程序大小,即使用执行时间长但占用存储空间少的程序或程序段.例如,将功能相同或相近的几个主程序段合并为一个子程序,将几个相近的子程序合并成一个子程序等等.上例中方法一使用的就是这个策略.

3.结论

除以上的方法外,一些小技巧的使用也可以优化程序.例如一些指令的配合经常可以做成模块使用,多编制和收集一些模块化的子程序不仅有助于程序的编制,也有利于提高所编制程序的可读性.

总之,用汇编语言编写单片机程序不仅要能用,而且要实用,占用芯片内存少、执行时间短是编程的基本原则,程序的逻辑性和可读性也是程序优劣的一项重要指标.

【参考文献】

[1]张友德等.单片微型机原理应用与实验[M].上海:复旦大学出版社.2003:618-619.

[2]谢敏.单片机应用技术[M].北京:机械工业出版社.2010:61-62.


[3]王洪庆.微型计算机控制技术.北京:机械工业出版社.2009:41-52.

相关论文

Word文编写的十大技巧

本论文是一篇参考文献类一篇,关于Word文编写的十大技巧相关毕业论文模板范文。免费优秀的关于参考文献及论文及期刊上发表方面论文范文资料,。

Word文编写的十大技巧

本论文为关于参考文献方面学术论文的参考文献,关于Word文编写的十大技巧相关毕业论文的格式,可用于参考文献论文写作研究的大学硕士与本科。

word编写文的技巧

为您写参考文献毕业论文和职称论文提供参考文献类有关毕业论文开题报告范文,与word编写文的技巧相关论文范文资料,包括关于参考文献及计算机。

Word编写文的技巧指导

这是一篇参考文献有关硕士毕业论文范文,与Word编写文的技巧指导相关毕业论文格式范文。是写论文专业与参考文献及期刊上发表及计算机方面相。

关于单片机应用编程的技巧

本文是一篇控制系统论文范文,关于控制系统类毕业论文模板,关于关于单片机应用编程的技巧相关毕业论文提纲范文。适合控制系统及单片机及机械。

电视新闻编辑技巧

本文是一篇新闻传播论文范文,关于新闻传播硕士论文开题报告,关于电视新闻编辑技巧相关毕业论文格式范文。适合新闻传播及新闻及参考文献方面。

文答辩技巧

此文是一篇老师论文范文,关于老师相关论文范文,与文答辩技巧相关本科毕业论文。适合不知如何写老师及技巧及观点方面的职称论文专业大学硕士。