当前位置:文档之家› 浅谈单片机应用系统的设计方法

浅谈单片机应用系统的设计方法

浅谈单片机应用系统的设计方法
摘要:单片机应用系统开发过程像一般的计算机系统一样,单片机
的应用系统也是由硬件和软件组成。硬件和软件只有紧密配合,协调
一致,才能组成高性能的单片机应用系统。本文简要介绍了单片机应
用系统的硬件与软件的设计流程和方法。

关键词:单片机 硬件设计 软件设计
1 总体设计
在进行系统设计之前,首先应根据对系统的功能要求及其应用环
境等确定合理、具体的功能和技术指标,对应用系统的可靠性、通用
性、先进性、可维护性以及成本等进行综合考虑,以尽量合理并符合
单片机性能及开发工具等因素选择合适的单片机机型。接下来要根据
系统中可能涉及的传感器、模拟电路、I/O接口、存储器、打印机和
显示器等器件和设备进行器件选择,使之符合系统在精度、速度和可
靠性等方面的要求。最后确定硬件和软件的功能划分,由于在系统设
计中某些功能用硬件和软件都能实现,在设计中应综合考虑研制周期
和成本等因素具体划分软、硬件功能。

2 系统硬件设计
硬件系统设计的任务是根据总体设计要求,在所选择的单片机型
的基础上,确定系统扩展所要用的存储器、I/O电路、A/D及D/A电路
和有关的外围电路等,然后设计出系统的电路原理图。
单片机内部没有程序存储器或存储器容量不够时需扩展外部程
序存储器。可作为程序存储器的芯片有多种非易失存储器,从它们的
价格和性能特点上考虑选择。由于目前单片机片内存储器的容量越来
越大,如设计的应用系统所需的存储器空间比较小,则可能就没有必要
扩充程序存储器。对于数据存储器的容量要求,各个系统之间差别比
较大。有的测量仪器和仪表只需少量的RAM即可,此时应尽量选用容
量能符合要求的单片机。对于要求较大容量RAM的系统,对RAM芯
片的选择原则是尽可能减少芯片的数量。由于外设多种多样,这使得
单片机与外设之问的接口电路也各不相同。因此,I/O接口电路常常是
单片机应用系统中设计最复杂也是最困难的部分之一。在设计I/O接
口电路时应从体积、价格、功能、负载等几方面考虑。此外还要考虑
和系统中的传感器、放大器相匹配等问题。所有的需要扩展外部存储
器和输入/输出接口设计的单片机系统都需要设计译码电路,译码电路
在设计时要尽可能简单,这就要求存储器空间分配合理、译码方式选
择得当。

如果单片机外部扩展的器件较多,负载过重,就要考虑设计总线驱
动器。系统扩展和配置设计遵循的原则如下:(1)尽可能选择典型通用
的电路,并符合单片机的常规用法。(2)系统的扩展与外围设备配置的
水平应充分满足应用系统当前的功能要求,并留有适当余地,便于以后
进行功能扩充。(3)整个系统中相关的器件要性能匹配。(4)应注意在
硬件系统设计时,要尽可能充分地利用单片机的片内资源,使自己设计
的电路向标准化、模块化靠拢。硬件设计结束后,应编写出硬件电路
原理图及硬件设计说明书。

3 系统软件设计
单片机应用系统是一个整体。软件设计和硬件设计应统一,系统
的硬件电路设计定型后,软件的功能也就基本明确了。一个应用系统
中的软件一般是由系统监控程序和应用程序两部分组成的。

合理的软件结构是设计出一个性能优良的单片机应用系统软件
的基础,必须予以充分重视。在程序设计方法上,模块程序设计是单片
机应用中最常用的程序设计技术。这种方法是把一个完整的程序分解
为若干个功能相对独立的较小的程序模块,对各个程序模块分别进行
设计、编制和调试,最后将各个调试好的程序模块连成一个完整的程
序。这种方法的优点是单个程序模块的设计和调试比较方便、容易完
成,一个模块可以为多个程序所共享。缺点是各个模块的连接有时有
一定难度。还有一种方法是自上而下设计程序。此方法是先从主程序
开始设计,主程序编好后,再编制各从属的程序和子程序。这种方法比
较符合人们的日常思维。其缺点是上一级的程序错误将对整个程序产
生影响。

在软件结构设计确定之后就可以进入程序设计了,一般设计过程
首先根据问题的定义,描述出各输入变量和输出变量之间的数学关系,
即建立数学模型。然后根据系统功能及操作过程,先列出程序的简单
功能流程框图(粗框图),再对粗框图进行扩充和具体化,即对存储器、
寄存器、标志位等工作单元作具体的分配和说明。把功能流程图中每
一个粗框转变为具体的存储单元、寄存器和I/O口的操作,从而绘制出
详细的程序流程图(细框图)。在完成流程图设计以后,便可编写程序。

编写一个好的程序,正确性是主要的。但是,应当在保证完成规定
功能的情况下,使整个程序所占内存空间少、执行指令时间短。这就
要根据指令的功能、长度和执行时间,精心选择指令和排列指令。一
般来说,编写程序的过程可分为下述几个步骤: 分析课题,根据要求确
定算法或解题思路;根据算法或解题思路定出运算步骤和顺序,把运算
步骤画成框图;确定数据和工作单元,分配存放单元;按所使用的计算
机指令系统,把确定的运算步骤写成汇编语言程序;上机调试源程序,
从而确定源程序。在进行程序设计时,必须根据实际问题和所使用的
计算机的特点来确定算法,然后按尽可能节省数据存放单元、缩短程
序长度和程序运行时间3个原则编写程序。按程序的基本结构一般可
分为直接程序、分支程序、循环程序和子程序。一个复杂的程序,一
般由上述基本程序组成。单片机应用程序可以采用汇编语言,也可以
采用某些机器语言,例如可通过KielC51软件来编写C语言等。编写
完均须汇编成80C51的机器码,经调试正常运行后,再固化到非易失性
存储器中去,完成系统的设计。
4 系统调试
当完成了单片机应用系统的硬件、软件设计和硬件组装后,便可
进入单片机应用系统调试阶段。系统调试的目的是要查出用户系统中
硬件设计与软件设计中存在的错误及可能出现的不协调问题,以便修
改设计,最终使用户系统能正确、可靠地工作。通常是先排除明显的
硬件故障后和软件结合起来进行调试。常见的硬件故障有逻辑错误、
元器件失效、可靠性差和电源故障等。在进行硬件调试时先进行静态
调试,用万用表等工具在样机加电前根据原理图和装配图仔细检查线
路,核对元器件的型号、规格和安装是否正确。然后加电检查各点电
位是否正常。接下来再借助仿真开发仪器进行联机调试,分别测试扩
展的RAM、I/O口、I/O设备、程序存储器以及晶振和复位电路,改正
其中的错误。软件调试就是检查系统软件中的错误。通常是把各个程
序模块分别进行调试,调试通过后再组合到一起进行综合调试,达到预
定的功能技术指标后即可将软件固化。

参考文献
[1] 孙霞,周金陵.基于单片机的大容量数据存储技术的应用研
究[J].微计算机信息,2006(14).
[2] 胡汉才.单片机原理及其接口技术[M].清华大学出版
社,2004.

相关主题