第5章  mcs-51单片机应用教程_第1页
第5章  mcs-51单片机应用教程_第2页
第5章  mcs-51单片机应用教程_第3页
第5章  mcs-51单片机应用教程_第4页
第5章  mcs-51单片机应用教程_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 5章 单片机实用开发步骤5.1 单片机应用系统设计的一般流程5.2 单片机汇编程序的编辑方法5.3 源程序的编译5.4 程序的仿真调试单片机应用系统是以单片机为核心,配以相应的外围电路和软件,能实现某种功能的应用系统,它由硬件部分和软件部分组成。硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。5.1 单片机应用系统设计的一般流程单片机应用系统的研制过程主要包括总体设计、硬件设计、软件设计、仿真调试等几个阶段,图 5-1为单片机应用系统设计过程框图。单片机应用系统一般要求可靠性好、系统具有自诊断功能、操作维修方便、性能价格比较高。这些要求在进行应用系统设计的过程中要根据不同的需要和应用场合予以考虑。图 5-1 单片机应用系统设计过程框图1. 总体设计 ( 1) 总体方案设计、确定技术指标对于一个待开发的单片机应用系统,应收集相关的技术资料,查看过去是否有类似项目、产品。如果有,则可分析这些项目、产品有什么优点、缺点,有什么值得借鉴。如果没有,则应首先从理论上分析、探讨实现的可能方案,根据客观条件如环境、测试手段、仪器设备、资金成本等,选择一种最佳方案。总体方案确定后,对应用对象的工作过程进行深入调查和分析,了解课题的要求、信号的种类和数量、应用环境等。不管是老产品改造还是新产品的设计,都应对产品性能改善的程度、成本、可靠性、可维护性及经济效益等进行综合考虑,提出合理可行的技术指标。主要技术指标是系统设计的依据和出发点,此后的整个设计与开发过程都要围绕如何能达到技术指标的要求来进行。( 2) 具体方案设计(软硬件功能划分)具体方案设计是将总体设计方案具体化、细化。画出各部分功能框图,大致给出各框图的实现方法,明确哪些部分由软件完成,哪些部分由硬件完成。系统的硬件配置和软件的设计是紧密地联系在一起的,且硬件和软件具有一定的互换性。多用硬件完成一些功能,可以提高工作速度,减少软件研制工作量,但增加了硬件成本。若用软件替代某些硬件的功能,可使硬件成本降低,但增加了软件的复杂性,而且降低了系统的工作速度。因此,总体设计时,应综合考虑以上因素,合理搭配软硬件的比重。( 3) 机型和器件选择在选择机型和器件时应考虑以下几点。 货源充足稳定,便于批量生产。 在考虑性能 /价格比的前提下,选择最容易实现应用系统技术指标的机种。 所选机型功能强、性能价格比好、有便于使用的开发装置。 要选择设计者最熟悉的机种和元器件,以缩短研制周期。 按照系统的精度、速度和可靠性等方面的要求合理选择包括传感器、模拟电路、输入输出电路和存储器等器件。2. 硬件设计硬件设计的任务是根据总体设计要求,确定系统扩展所需的扩展部分和各功能模块,包括存储器(EPROM、 E2PROM、 FLASHROM和 RAM) 的扩展、 I/O电路、 A/D、 D/A电路以及有关外围电路(键盘、显示器、打印机)等,然后设计出系统的硬件电路原理图。( 1) 程序存储器可作为程序存储器的芯片有 EPROM、 E2PROM及 FLASHROM等。从性能和价格方面考虑,对于大批量生产已成熟的应用系统宜选用 EPROM、FLASHROM。 调试阶段以及样机的研制可选用FLASHROM、 E2PROM。( 2) 数据存储器和 I/O接口对于数据存储器的容量需求,各个系统之间差别较大,对于常规的智能仪器和实时控制系统, MCS-51单片机片内 RAM已能满足要求。若需要扩充少量 RAM, 可以考虑选用 RAM/IO扩展芯片 8155,不仅扩充了 RAM, 而且增加输入输出接口。对于数据采集系统,往往需要有较大容量的 RAM存储器,这时 RAM芯片的选择原则是尽可能减少芯片的数量。在选择 I/O接口电路时,应从体积、价格、功能、负载等方面考虑。标准的可编程接口电路 8255、8155接口简单,使用方便,对总线负载小,可优先选用,但对要求口线扩充较少的系统,则可用 TTL或 CMOS电路,以提高口线的利用率。需要注意的是, CPU的 I/O口负载能力有限,扩展以后,不宜满载,应留有余量,否则会降低系统抗干扰能力。对于 A/D和 D/A电路芯片的选择原则 ,应根据系统对它的速度、精度和价格的要求来确定。外围模拟电路应根据系统的要求,在速度、精度和价格等方面选用,同时还应注意它们与传感器等的匹配问题。( 3) 总线驱动MCS-51系列单片机的外部扩展空间可达 64KB,但扩展总线口( P0、 P2) 的负载能力有限( P0口为 8个 LSTTL电路, P2口为 4个 LSTTL电路)。若负载过重,系统便不能可靠地工作,这时可在 P0口增加双向三态缓冲器 74LS245, 在 P2口加单向三态缓冲器 74LS244。3. 软件设计软件设计的任务是在总体设计和硬件设计的基础上确定程序结构,分配单片机内部 RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。软件设计的一般步骤如图 5-2所示。图 5-2 软件设计步骤( 1) 系统定义系统定义是在进行软件设计前明确软件承担的任务,然后结合硬件结构进一步确定软件所承担任务的细节。细节如下: 定义说明各输入输出口的功能,确定信息交换的方式、系统接口方式、占有口地址、读取和输出方式等。 在程序存储器和数据存储器区域中(注意考虑是否有断电保护措施)合理分配存储空间,包括系统主程序、常数表格、数据暂存区域、堆栈区域、入口地址等。 对面板、控制开关、按键等输入量以及显示、打印等输出量也必须给予定义,作为编程的依据。( 2) 软件结构设计设计出合理的软件结构是设计性能优良的单片机应用系统软件的基础。常用的程序设计方法有 3种: 模块化程序设计;自顶向下逐步求精程序设计;结构化程序设计。MCS-51应用系统的软件设计一般采用模块化程序设计。为了便于编程和调试,应先进行软件结构设计,根据系统要求的功能,把软件分为不同的 “模块 ”,明确各模块应完成的功能,以及各模块之间的关系,主要是要指定哪些任务由主程序完成,哪些任务由中断服务程序完成,以便进行模块化的程序设计。模块化程序设计是单片机应用系统软件设计中最常用的方法。这种设计方法是把一个完整的程序分成若干个功能相对独立的较小的程序模块,各个程序模块分别进行设计、编制程序和调试,最后将调试好的程序模块连接起来。模块程序设计的优点是: 单个程序模块设计和调试比较方便、容易完成,一个模块可以被多个任务共用。( 3) 建立数学模型根据问题的定义,描述出各个输入变量和各个输出变量之间的数学关系,称为建立数学模型。数学模型随系统任务的不同而不同。例如在直接数字控制系统中,可采用数字(proportional integral and differential controller,比例积分与微分控制器)控制算法或其改进形式;在测量系统中,从模拟输入通道得到的温度、流量、压力等现场信息与该信号对应的实际值往往存在非线性关系,需要进行非线性补偿。( 4) 绘制程序流程图通常是根据系统功能及操作过程和软件的结构,先列出程序的简单功能流程图,再对该图进行扩充和具体化,把简单功能流程图中每一部分转变成具体的存储单元、寄存器和I/O口的操作,从而绘制出详细的程序流程图。( 5) 编写程序在完成流程图设计以后,依据流程图编写程序。( 6) 汇编程序编写完后用开发系统或仿真器的汇编程序将所编写的用户程序汇编成 MCS-5l单片机的机器码。( 7) 在线仿真调试通过单片机的开发系统,将所编写的程序进行在线仿真调试,完成单片机应用系统的各种功能,完成系统软件设计。4. 联机在线仿真调试、修正软硬件错误主要包括用户软件程序的调试和目标系统的硬件调试。( 1) 用户软件程序的调试用户软件程序的调试可分为以下几个步骤: 建立用户源程序。 在单片机开发系统上,对用户源程序进行编译,如果编译有错误,则要进行修改,再进行编译,直至错误全部纠正为止。 动态在线调试。用户程序中分为内部服务程序以及与外部的接口程序。内部服务程序是指与用户样机硬件无联系的用户程序,例如计算程序,虽然经编译后已经没有语法错误,但可能有逻辑错误,必须借助于动态在线调试手段,如单步运行、设置断点等,发现逻辑错误,然后进行修改。对于外部接口程序,一定要先把硬件故障排除以后,再对用户程序进行动态在线调试,如果有错误,则进行修改。在调试这一类程序时,硬件调试与软件调试是不能完全分开的,许多硬件错误是通过对软件的调试从而发现和纠正的。 将调试完毕的用户程序通过专用编程器固化在EPROM中。( 2) 用户样机硬件调试 静态调试。对用户样机进行调试,首先要进行静态调试,静态调试的目的是排除明显的硬件故障。第一步断电测量,在样机加电之前,先用万用表等工具,根据硬件电路图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求。应特别注意对电源系统的检查,以防止电源的短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间的短路或与其他信号线的短路。第二步加电后检查各插件上引脚的电位,仔细测量各点电平是否正常、尤其应注意 8051插座的各点电位。第三步是在断电情况下,除 CPU外,插上所有的元器件,并把仿真器的仿真插头插入样机上的 CPU插座,准备联机仿真调试。 联机仿真、在线动态调试。在静态调试中,仅对目标样机硬件进行了初步调试,只是排除了一些明显的静态故障,而样机中的硬件故障(如各部件内部存在的故障和部件之间连接的逻辑错误)主要是靠联机仿真排除的。分别打开样机和仿真器电源后,便可开始联机仿真调试,排除硬件的故障。上面已经谈到,硬件调试和软件调试是不能完全分开的,许多硬件错误是在软件调试中发现和被纠正的。因此,在上面介绍的软件在线调试中,也包括联机仿真、硬件在线动态调试以及硬件故障的排除。5. 程序固化,系统独立运行至此可将用户程序固化在程序存储器中,然后将程序存储器插入目标样机系统中,目标样机系统可独立运行。目标样机系统独立运行一段时间无故障后,可认为整个设计开发过程结束。单片机的程序设计可以使用机器语言、单片机汇编语言和高级语言三种编程语言。机器语言是 CPU惟一能够识别的语言,其他语言必须通过编译后形成机器码供 CPU识别;汇编语言是单片机系统设计中最常用的程序设计语言;高级语言通用性好,只要单片机开发系统具有编译的能力,就可以直接用高级语言编写程序。 MCS-51系列单片机的编译型高级语言有: PL/M51、 C-51、 MBASIC-51等。5.2 单片机汇编程序的编辑方法可以使用单片机仿真器提供的软件包中的编辑器来编写单片机程序,也可以使用 PC的编辑程序编写程序,例如 PC上的 EDIT、 PE等编辑软件。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论