程序设计是用计算机解决实际问题过程中的一个环节。用计算机解决实际问题的过程包括了建立数学模型、选择计算方法、设计程序以及上机调试、运行程序并分析计算结果两个阶段。在分析一个具体的问题后,我们可以得出输入和输出量之间的关系,并用数学式进行描述,这个过程称之为建立数学模型。有了数学模型还必须选择适合于计算机实现的具体计算方法,然后再设计程序。程序设计实际上是对具体算法的实施。设计的程序还需在一定的调试环境中进行调试,此时应输入数据,并检查输出数据是否正确,为保证解题的正确性,应设计合理的输入数据,以检查程序可能出现的错误。
MCS-51单片机的程序设计通常分为下面3个步骤: 1.制作程序流程图 对提出的算法找出最合理、最简便的解决方法并作程序流程图,程序流程图表示了人们利用一定的算法解决问题的思路。流程图有粗略和详细的两种,粗略的流程图可以给出解题的大致步骤,而详细的流程图则给出每一步骤的细节。对一些大的问题,应先给出粗略的流程图以得出总体概念,然后作详细的流程图对每一步骤作具体的描述。 2.资源分配 根据算法的要求合理地分配系统的资源,如存储器分配、输入输出接口的分配等。在MCS-51系统中,程序和数据存储器分别编址,而存储器又分为内部和外部存储器,又有位寻址的存储器,因此资源分配得合理,将会给编制程序带来方便,不然可能会增加麻烦,甚至使程序产生错误。 3.源程序编制及调试 源程序编制就是将流程图表达的算法用程序实现,MCS-51系统的程序可用编辑器编辑,在集成的调试环境中读入,也可直接在集成的调试环境中输入,集成调试环境包括了程序的调试工具,如单步、断点、全速运行程序,还能实现寄存器检查、存储器内容检查等功能。 在上述步骤中,作程序流程图是程序设计的重要步骤。在复杂的问题中,它可以帮助设计者寻找最佳方案,减少源程序编写过程中的错误;在调试过程中它又可帮助寻找错误。而且它也是对源程序的简明解释,便于保留与交流。通常我们应先作程序流程图再编源程序。