首页 理论教育 如何合理分配RAM单元以充分利用内部RAM空间

如何合理分配RAM单元以充分利用内部RAM空间

时间:2023-10-28 理论教育 版权反馈
【摘要】:在编写程序之前应该统一安排好RAM单元分配表。实践表明,只要合理布局和充分挖掘,利用好内部RAM空间,一般都不必扩展外部RAM。

如何合理分配RAM单元以充分利用内部RAM空间

1.局部功能试验

软件是与硬件结合在一起考虑的,与硬件的构建原则相同,所构思的软件也应先进行局部功能试验,只有在局部试验通过的基础上,才能为整体软件联调的顺利通过提供保证。

2.模块化程序架构

根据应用要求,对软件进行模块化、子程序化处理,这种程序架构一方面便于局部程序功能试验,另一方面也可以在其他应用系统中备作同类功能程序的调用、移植和修改,缩短开发周期。

3.程序流程图绘制

建议在编写程序之前先绘制程序流程图,并对逻辑关系进行细致的审订,使功能符合且结构优化。没有绘制好流程图不要急于编写程序,因为真正能反映出软件思维的是流程图。只要流程图不存在逻辑关系错误,编程就只是对照流程图填写具体语句的一种操作过程罢了。实践证明,流程图在软件调试过程中起着至关重要的作用,一旦程序出现一些隐含的故障,根据流程图进行分析判断是快捷有效的侦错途径。绘制流程图所付出的时间可以换来程序调试的顺利,总体看是节省了时间。一些初学者或许编写了一些简单的程序并通过了调试,就认为没有流程图也可以把握程序的流向,久而久之就养成了不编写流程图的习惯。殊不知,当程序的规模大到一定的程度时,没有流程图就不便综观整体大局,出现问题难以分析症结所在。建议在开始编写小规模程序时,就养成先绘制流程图的好习惯。(www.xing528.com)

4.内存单元统一分配

对内部RAM单元资源的合理分配和利用是很重要的。在编写程序之前应该统一安排好RAM单元分配表。伴随着程序的编写而随意地使用内存单元的做法是不可取的。分配时首先要把堆栈安排到储存区的高端(见第1章),在满足堆栈容量的前提下应尽可能多地把RAM留作用户空间。接下来是分配定时器/计数器的缓冲单元地址、显示缓冲区地址等,且考虑其扩展性应留些富余量,这样做可以避免缓冲区单元不足时要重新分配整个内存单元的麻烦。通常,把20H单元开始的位地址空间用作标志位、状态判断位,余下的位单元均可作用户RAM区使用;把工作寄存器0区和1区留作子程序换区时的参数保护,用不到的2区和3区也可作为用户RAM使用。实践表明,只要合理布局和充分挖掘,利用好内部RAM空间,一般都不必扩展外部RAM。

5.软件纠错和提示功能

一个好的应用软件除了能实现正常功能外,还应具备纠错能力和提示功能。纠错能力有两种含义:其一是指抗干扰能力,就是说程序一旦受干扰“跑飞”,系统应能自动回到正常状态而不出现“死机”现象;其二是指操作过程的纠错能力,通常是与提示功能结合在一起运用。比如,键入的数字超出了规定的范围时,能自动删除并重新等待正确的键入,并伴有声光提示;如果键入的次数不足,能在规定的时间内自动撤离键入操作。纠错能力还体现在数据恢复方面,比如密码数据受干扰被破坏,但在提取密码数据之前,系统有能力把密码数据恢复到未受破坏前的正常状态,然后才被读取使用。建议对单片机人机交互接口设置纠错能力和提示功能,且应直观明了、操作便易,同时能起到操作指南的作用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈