产品中心 Product Center

联系博昌达电子CONTACT US

咨询热线:13922832581

深圳市博昌达电子科技有限公司

公司电话:13922832581
Email:2355403977@qq.com
地址:深圳市宝安区西乡街道兴业路3012号老兵大厦东三座7005A

单片机子程序结构程序怎么样呢

2021-12-18 03:00:00 来源:http://hb.combat-elec.com/news739153.html

在实际应用中常会遇到带有通用性的问题,例如,数制转换、浮点运算等,且在同一个源程序中可能需多次用到。这就应该把它单独设计成通用子程序供随时调用,这样可使程序紧凑,缩短程序长度,调试方便。从执行时间看,每调用一次需附加断点保护、参量进栈、出栈等开销。

单片机子程序结构

能供调用的子程序,其结构应具备:

A、必须标明子程序的入口地址,又称首地址,以便再教育程序调用;

B、必须以返回指令RET结束子程序。

在汇编语言源程序中调节器用子程序时,一般应注意两个问题:参数传递和现场保护。

在使用调用指令不附带任何参数时,参数的互相传递要由设计者通过程序安排。一般可采用以下方法:

A、传递数据。将需传递的参数通过工作寄存器Rn或累加器A传递给子程序。即在主程序调用子程序前将参数差额主选定的工作寄存器组R0~R7、累加器A中,供子程序读取或者将参数在调用前先压入堆栈,进入子程序后再从堆栈中读出。

B、传递地址。将要传递的参数存放在数据存储器中,将其地址通过工作寄存器R0、R1或数据指针DPTR传递,供子程序读取参数。

主程序的现场保护和恢复。子程序(包括中断服务程序)是个独立的程序段,在子程序执行过程中常需用到通用单元,例如:工作寄存器R0~R7、累加器A、数据指针DPTR,以及有关标志、状态位等。而这个单元中的原内容在调用子程序结束之后 的主程序中仍有用,需进行保护,称现场保护。在执行完子程序并返回继续执行主程序前应恢复其原内容,称现场恢复。一般有两种现场保护/恢复方式:

②单片机子程序特性

随着汇编语言程序设计技术的发展,子程序的应用越显重要。因此,对子程序的设计具有较高要求,除通常在程序设计中应遵循的原则外,还应具备以下特性:

A、单片机通用性

严格讲,子程序有通用和专用两种。前者如数制转换、浮点运算等子程序可广泛应用于同系列单片机的任何应用系统,后者仅限用于同一个应用系统中。特别是前者,都应注意子程序的通用性。

子程序中某些可变的量称为参量,这些参量在子程序的定义中是“哑变量”,占用一定的变量单元,每次调用均由实际变量或数据赋值。因此,一个子程序可以对不同的变量或参数进行处理。为了使子程序具有通用性,在设计中要解决的一个重要问题,就是确定哪些变量作为参量以及何传递参量。

单片机,触摸单片机
B、可浮动性

可浮动性是指子程序段可安置在程序存储器的任何区域。为此,在子程序中应避免选用绝对转移地址。

C、可递归和可重入性

子程序能自己调用自己和同时能被多个任务(或多个用户程序)调用的特性,分别称之为子程序的可递归性和可重入性。这类子程序常在庞大而复杂的程序中应用,在单片机应用程序设计中较少用到。

D、子程序说明文件

对于通用子程序,为便于各种应用程序的选用,要求在子程序编制、调试完成后应提供一个说明文件。其内容应包含以下内容。

? 子程序名。标明子程序功能的名称。

? 子程序功能。简要说明子程序能完成的主要功能,包括重要算法、参量要求及有关存储单元配置等。

? 子程序调用。指明本子程序还需调用哪些子程序。

? 附子程序流程图及程序清单。

由于子程序结构在程序设计中应用极为普遍,因此,一般在指令集中均设有子程序调用指令。AT89S系列的指令集中,考虑到程序存储器空间的限制和节省,特设置了绝对调用和长调两条指令,供实际应用时选择。

③单片机子程序举例

子程序的设计除它本身的特殊性外,其余完全同典型程序设计要求,只是其功能单一、程序量小、结构简单、易于编制与调试。通常它总是只完成整个任务中的某一个单一而独立的,又需多次调用的部分功能。如任务中的 DELAY 程序段为延时子程序。

    联系我们
  • 深圳市博昌达电子科技有限公司
  • 电话:13922832581 / 0755-86655451
  • 传真:0755-86655436
  • Email:2355403977@qq.com
  • 公司地址:深圳市宝安区西乡街道兴业路3012号老兵大厦东三座7005A
    二维码
  • 微信公众号

    微信公众号

湖北松翰单片机哪家实惠?湖北NIKOSEM哪家好?湖北单向可控硅怎么样?博昌达电子科技有限公司专业提供湖北单向可控硅产品,欢迎咨询!

CopyRight © 2020 版权所有 深圳市博昌达电子科技有限公司