1.整体规划:软件所要完结的使命已在整体规划时规则,在具体软件规划时,要结合硬件结构,进一步清晰软件所承当的一个个使命细节,确认具体施行的办法,合理分配资源。
2.程序规划技能:合理的软件结构是规划一个功用优秀的单片机运用体系软件的根底。在程序规划中,应培育结构化程序规划风格,各功用程序实施模块化、子程序化。一般有以下两种规划办法:
(a)模块程序规划:模块程序规划是单片机运用中常用的一种程序规划技能。它是把一个较长的程序分解为若干个功用相对独立的较小的程序模块,各个程序模块别离规划、编程和调试,最终由各个调试好的模块组成一个大的程序。其长处是单个功用清晰的程序模块的规划和调试比较便利,简略完结,一个模块可认为多个程序所同享。其缺陷是各个模块的衔接有时有必定难度。
(b)自顶向下的程序规划:自顶向下程序规划时,先从主程序开端规划,隶属程序或子程序用符号来替代。主程序编好后再编制各隶属程序和子程序,最终完结整个体系软件的规划。其长处是比较符合于人们的日常思想,规划、调试和衔接一起按一个头绪进行,程序过错能够较早的发现。缺陷是上一级的程序过错将对整个程序产生影响,一处修正或许引起对整个程序的全面修正。
3.程序规划:在挑选好软件结构和所选用的程序规划技能后,便可着手进行程序规划,将规划使命转化为具体的程序。
(a)树立数学模型:依据规划使命,描绘出各输入变量和各输出变量之间的数学联系,此进程即为树立数学模型。数学模型随体系使命的不同而不同,其正确度是体系功用好坏的决定性要素之一。
(b)制作程序流程图:通常在编写程序之前先制作程序流程图,以进步软件规划的整体功率。程序流程图以简明直观的方法对使命进行描绘,并很简略由此编写出程序,故对初学者来说尤为适用。
在规划进程中,先画出简略的功用性流程图(粗框图),然后对功用流程图进行细化和具体化,对存储器、寄存器、标志位等作业单元作具体的分配和阐明,将功用流程图中每一个粗框的操作转变为具体的存储器单元、作业寄存器或I/O口的操作,然后给出具体的程序流程图(细框图)。
(c)程序的编制:在完结程序流程图规划今后,便能够编写程序。程序规划言语对程序规划的影响较大。汇编言语是最为常用的单片机程序言语,用汇编言语编写程序代码精简,直接面向硬件电路进行规划,速度快,但进行很多数据运算时,编写难度将大大添加,不易阅览和调试。在有很多数据运算时可选用C言语(如MCS-51的C51)或PL/M言语。
编写程序时,应留意体系硬件资源的合理分配与运用,子程序的入/出口参数的设置与传递。选用合理的数据结构、操控算法,以满意体系要求的精度。在存储空间分配时,应将运用频率最高的数据缓冲器设在内部RAM;标志应设置在片内RAM位操作区(20H~2FH)中;指定用户仓库区,栈区的巨细应留有余量;余下部分作为数据缓冲区。
在编写程序进程中,依据流程图逐条用符号指令来描绘,即得汇编言语源程序。应按MCS-51汇编言语的规范符号和格局书写,在完结体系功用的一起应留意确保规划的可靠性,如数字滤波、软件圈套、维护等。必要时可作若干功用性注释,进步程序的可读性。
4.软件安装:各程序模块修改之后,需进行汇编或编译、调试,当满意规划要求后,将各程序模块依照软件结构规划的要求衔接起来,即为软件安装,然后完结软件规划。在软件安装时,应留意软件接口。