1.2.3 程序设计

当完成系统总体方案并确定单片机型号后,便可以进行电路和程序设计。在进行电路设计时,需要仔细规划整个硬件电路的资源分配以及扩展器件。同时,需要规划哪部分的功能用硬件来实现以及用什么器件来实现,哪部分的功能用软件来实现等。这里需要注意以下几点。

❑如果所选单片机的硬件资源丰富且性能指标达到要求,则应尽量使用其内部集成的硬件资源来实现,这样可以减少额外的器件投资,同时提高系统的集成度和降低电路的复杂性。

❑合理规划和使用单片机的硬件资源,充分发挥单片机的性能。

❑尽量选择一些标准化、模块化的典型电路,这样可以加速电路设计速度,提高设计的灵活性,确保成功率等。

❑硬件电路上最好将不用的引脚留为扩展的接口,以方便后期的电路维护及硬件升级。

❑要仔细考虑各部分硬件的功耗以及驱动能力,确保电源具有足够的驱动能力,同时也需要保证相连接的两个器件之间的驱动能力,否则将导致系统无法正常运行。

在整个单片机应用系统的设计中,单片机的程序设计至关重要。在进行单片机程序设计时,需要从以下几点来考虑。

❑选择合适易用的程序开发工具,例如KeilµVision系列等。

❑尽量选择使用单片机C51语言来进行设计,避免使用汇编语言,这样可以使程序易懂,便于代码交流和后期维护。

❑对于执行速度有特殊要求的情况,可以采用C51语言嵌入汇编代码来实现。

❑采用结构化的程序设计,将各个主要的功能部件设计为子程序或者子函数,这样便于调试以及后续的移植修改等。

❑合理使用单片机的硬件资源,包括RAM、ROM、串口、定时器/计数器和中断等。

❑程序中尽量采用执行速度快的指令,以充分发挥单片机的运算性能。

❑充分考虑软件运行时的状态,避免未处理的运行状态。否则,程序运行时进入未处理的状态便容易出错导致死机。

❑必要时可以在软件中采用看门狗定时器来进行强制复位。

❑编写程序代码时,要尽量添加注释,这样可以提高程序的可读性,便于代码交流和维护。