您好, 访客   登录/注册

单片机应用系统的设计与系统调试

来源:用户上传      作者: 倪榕生

  摘 要 单片机以其体积小、价格低和功能强而在检测、控制、家用电器和仪器仪表等领域获得了广泛的应用。虽然单片机应用系统的技术要求、结构功能各不相同,但它们的开发过程和设计方法大致相同。本文介绍了单片机应用系统的一般设计过程。
  关键词 单片机;硬件设计;软件设计
  中图分类号TP368.1 文献标识码A 文章编号 1674-6708(2013)94-0189-02
  单片微型计算机由于体积小、功耗低、价格低廉,且具有逻辑判断、定时计数和程序控制等多种功能,已经被广泛应用到生活与生产很多领域中。单片机应用系统既包括硬件电路,也包括软件应用程序。在应用系统设计过程中硬件与软件必须相互配合,协调一致,只有这样设计的应用系统才能高效地工作。
  1 拟定总体设计方案
  单片机应用系统的设计人员在接到项目任务时,首先要进行系统总体方案的规划设计,总体设计要能够全面地理解系统要实现的功能以及所要达到的技术指标。要根据系统的工作环境、具体用途、功能和技术指标,拟定一个性价比最高的设计方案,这是后续设计工作的前提和指导方向。
  1.1确定技术指标,编制设计任务书
  单片机应用系统的开发过程是以确定系统的功能和技术指标开始的。首先要深入细致分析、研究实际问题,明确各项任务与要求,综合考虑系统的各种性能,拟定出合理可行的技术性能指标,并在此基础上编制出完整的设计任务书。
  1.2建立数学模型
  在编制任务书后,设计者还应对测控对象的物理过程和计算任务进行全面分析,对实际问题进行必要的抽象、简化,作出合理的假设,确定要建立的模型中的变量和参数,得出数学表达式,即建立数学模型。建立的数学模型应真实地描述该项目的测控过程,但模型不宜太复杂,否则难以用单片机实现。
  1.3选择合适的机型
  综合考虑系统的目标、复杂程度、可靠性、精度、速度和价格等因素,选择一种适合于本系统的性价比较优的单片机机型。
  1.4划分硬件和软件功能
  硬件结构应结合应用软件方案一并考虑。单片机应用系统中,既有硬件也有软件,在实现某些功能方面,它们是可以相互替代的,即有些硬件功能可用软件实现,反之亦然,在系统设计中,划分软硬件功能,必须权衡利弊、综合考虑[1]。
  2 硬件设计
  硬件设计包含系统扩展和系统的配置。系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、A/D、D/A转换器等,并设计合适的接口电路;系统扩展,即单片机内部的资源不能满足应用系统的要求时,必须进行外部扩展,选择适当的芯片,设计相应的电路[2]。硬件设计过程如下。1)根据总体设计要求,在单片机的内部资源,包括存储器(ROM和RAM)、输入/输出接口、定时器/计数器、串行口、中断系统等不能满足应用系统的要求时,选择适当的芯片,进行外部扩展,配置键盘、显示器、打印机、A/D、D/A转换器等外围设备;2)根据总体方案、所选器件,设计硬件电路,画出电路原理图;3)对所设计的硬件电路进行实验论证,发现问题及时修改。调试通过后,可做成印制板电路,并组装成样机。
  在进行单片机应用系统硬件设计过程中,要尽量多参考相关标准电路,多看一些经典的电路设计,这对系统设计有好处。现在应用电路系统功能越来越强大,由于单片机I/O口的驱动能力是有限的,所以系统功耗要尽可能低,必要时应考虑增加总线驱动电路以降低系统负担。系统的扩展性也是硬件设计中很重要的一个方面,系统硬件不仅要能够满足当前的需要,也要为以后的升级扩展留有余地。最后,在硬件电路板制作完毕后,应使用相应的测试软件对硬件系统进行测试,针对不同的硬件电路,要选择合适的测试子程序,并在仿真调试环境下进行。
  3 软件设计
  软件开发过程包括拟定程序总体方案,绘制程序流程图,根据流程图编写程序,调试程序等。单片机应用系统的软件设计各不相同,开发设计软件过程中应尽可能采用模块化结构。程序总体设计包括拟定程序总体设计方案、确定算法和绘制程序流程图等。在拟定程序总体设计方案时,应根据实际情况选择切合实际的程序设计方法。在确定程序总体方案后,按照先粗后细的办法,把整个系统软件划分成多个功能独立、大小适当的模块,还应根据控制对象的数学模型确定算法,并绘制总体流程图和各模块的流程图。
  程序框图完成后,可进行硬件资源分配,如存储空间地址分配、端口地址分配、工作寄存器安排等,还应考虑数据结构、输入输出格式等问题。编程时应将经常使用的数据存储单元分配在片内RAM区,程序中软件标志应设置在片内RAM具有位操作功能的空间20H~2FH,这样控制方便,还可以充分发挥80C51单片机内部布尔(位)处理器的功能[3]。最后,应用一定的编程方法和技巧,依照流程图编写出具体的应用程序。
  4 系统调试、运行和维护
  系统调试是系统开发的重要环节,包括硬件调试和软件调试两个方面。系统调试的目的是要查出用户系统中硬件设计与软件设计存在的错误及可能出现的不协调问题,以便修改设计。硬件调试的任务是排除系统的硬件电路故障,软件调试是利用开发工具进行在线仿真调试,除发现和解决程序错误外,也可以发现硬件故障。一般最好在系统方案设计阶段就考虑系统调试问题,对于使用什么调式仪器,具体采取什么调式方法,对哪些环节进行调式等,都要考虑清楚,或提早做好调试准备工作。
  程序调试首先进行单个模块的调试,在所有模块均调试通过后,将它们连接起来统一调试。利用开发工具的单步和断点运行方式,发现软件或硬件中的错误。在调试过程中,要不断调整、修改系统的硬件和软件,直到其实现所有功能为止。联机调试运行正常后,可将程序固化到EPROM/E2PROM中,脱机运行,并到生产现场投入试运行,检验其可靠性。经过一段时间的运行后,如没有发现问题,就可、以投入正式运行。在正式运行中,还应建立一套健全的维护制度,以确保系统的正常工作。
  参考文献
  [1]李朝青编著.单片机原理及接口技术[M].北京航空航天大学出版社,2005.
  [2]彭佳文,姚志成,彭佳红.一种单片机多机通信系统的设计[J].微计算机信息,2008(2).
  [3]谢敏,李燕杰.浅谈单片机嵌入式系统设计方法[A].广西计算机学会2004年学术年会论文集[C],2004.
转载注明来源:https://www.xzbu.com/8/view-4661902.htm