C语言51单片机教程第5章 - 副本 (2) - 副本

上传人:woxinch****an2018 文档编号:44700683 上传时间:2018-06-14 格式:PPT 页数:60 大小:3.58MB
返回 下载 相关 举报
C语言51单片机教程第5章 - 副本 (2) - 副本_第1页
第1页 / 共60页
C语言51单片机教程第5章 - 副本 (2) - 副本_第2页
第2页 / 共60页
C语言51单片机教程第5章 - 副本 (2) - 副本_第3页
第3页 / 共60页
C语言51单片机教程第5章 - 副本 (2) - 副本_第4页
第4页 / 共60页
C语言51单片机教程第5章 - 副本 (2) - 副本_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《C语言51单片机教程第5章 - 副本 (2) - 副本》由会员分享,可在线阅读,更多相关《C语言51单片机教程第5章 - 副本 (2) - 副本(60页珍藏版)》请在金锄头文库上搜索。

1、第5章 单片机实用开发步骤5.1 单片机应用系统设计的一般流程 5.2 单片机汇编程序的编辑方法 5.3 源程序的编译 5.4 程序的仿真调试单片机应用系统是以单片机为核心,配以相应的 外围电路和软件,能实现某种功能的应用系统,它 由硬件部分和软件部分组成。硬件是系统的基础, 软件则是在硬件的基础上对其合理的调配和使用, 从而完成应用系统所要完成的任务。5.1 单片机应用系统设计的一般流程单片机应用系统的研制过程主要包括总体设计、 硬件设计、软件设计、仿真调试等几个阶段,图5- 1为单片机应用系统设计过程框图。单片机应用系 统一般要求可靠性好、系统具有自诊断功能、操作 维修方便、性能价格比较高

2、。这些要求在进行应用 系统设计的过程中要根据不同的需要和应用场合予 以考虑。图5-1 单片机应用系统设计过程框图1. 总体设计 (1) 总体方案设计、确定技术指标对于一个待 开发的单片机应用系统,应收集相关的技术资料, 查看过去是否有类似项目、产品。如果有,则可分 析这些项目、产品有什么优点、缺点,有什么值得 借鉴。如果没有,则应首先从理论上分析、探讨实 现的可能方案,根据客观条件如环境、测试手段、 仪器设备、资金成本等,选择一种最佳方案。总体方案确定后,对应用对象的工作过程进行深 入调查和分析,了解课题的要求、信号的种类和数 量、应用环境等。不管是老产品改造还是新产品的 设计,都应对产品性能

3、改善的程度、成本、可靠性 、可维护性及经济效益等进行综合考虑,提出合理 可行的技术指标。主要技术指标是系统设计的依据 和出发点,此后的整个设计与开发过程都要围绕如 何能达到技术指标的要求来进行。(2) 具体方案设计(软硬件功能划分)具体方 案设计是将总体设计方案具体化、细化。画出各部 分功能框图,大致给出各框图的实现方法,明确哪 些部分由软件完成,哪些部分由硬件完成。系统的 硬件配置和软件的设计是紧密地联系在一起的,且 硬件和软件具有一定的互换性。多用硬件完成一些 功能,可以提高工作速度,减少软件研制工作量, 但增加了硬件成本。若用软件替代某些硬件的功能 ,可使硬件成本降低,但增加了软件的复杂

4、性,而 且降低了系统的工作速度。因此,总体设计时,应 综合考虑以上因素,合理搭配软硬件的比重。(3) 机型和器件选择在选择机型和器件时应考 虑以下几点。 货源充足稳定,便于批量生产。 在考虑性能/价格比的前提下,选择最容易实 现应用系统技术指标的机种。 所选机型功能强、性能价格比好、有便于使用 的开发装置。 要选择设计者最熟悉的机种和元器件,以缩短 研制周期。 按照系统的精度、速度和可靠性等方面的要求 合理选择包括传感器、模拟电路、输入输出电路和 存储器等器件。2. 硬件设计硬件设计的任务是根据总体设计要求,确定系统 扩展所需的扩展部分和各功能模块,包括存储器( EPROM、E2PROM、FL

5、ASHROM和RAM)的扩 展、I/O电路、A/D、D/A电路以及有关外围电路( 键盘、显示器、打印机)等,然后设计出系统的硬 件电路原理图。(1) 程序存储器 可作为程序存储器的芯片有EPROM、E2PROM 及FLASHROM等。从性能和价格方面考虑,对于 大批量生产已成熟的应用系统宜选用EPROM、 FLASHROM。调试阶段以及样机的研制可选用 FLASHROM、E2PROM。(2) 数据存储器和I/O接口对于数据存储器的容量需求,各个系统之间差别 较大,对于常规的智能仪器和实时控制系统,MCS -51单片机片内RAM已能满足要求。若需要扩充少 量RAM,可以考虑选用RAM/IO扩展芯

6、片8155,不 仅扩充了RAM,而且增加输入输出接口。对于数 据采集系统,往往需要有较大容量的RAM存储器 ,这时RAM芯片的选择原则是尽可能减少芯片的 数量。在选择I/O接口电路时,应从体积、价格、功能、 负载等方面考虑。标准的可编程接口电路8255、 8155接口简单,使用方便,对总线负载小,可优先 选用,但对要求口线扩充较少的系统,则可用TTL 或CMOS电路,以提高口线的利用率。需要注意的 是,CPU的I/O口负载能力有限,扩展以后,不宜 满载,应留有余量,否则会降低系统抗干扰能力。 对于A/D和D/A电路芯片的选择原则,应根据系统 对它的速度、精度和价格的要求来确定。 外围模拟电路应

7、根据系统的要求,在速度、精度 和价格等方面选用,同时还应注意它们与传感器等 的匹配问题。(3) 总线驱动 MCS-51系列单片机的外部扩展空间可达64KB, 但扩展总线口(P0、P2)的负载能力有限(P0口 为8个LSTTL电路,P2口为4个LSTTL电路)。若 负载过重,系统便不能可靠地工作,这时可在P0口 增加双向三态缓冲器74LS245,在P2口加单向三态 缓冲器74LS244。3. 软件设计软件设计的任务是在总体设计和硬件设计的基础 上确定程序结构,分配单片机内部RAM资源,划 分功能模块,然后进行主程序和各模块程序的设计 ,最后连接起来成为一个完整的应用程序。软件设 计的一般步骤如图

8、5-2所示。图5-2 软件设计步骤(1) 系统定义系统定义是在进行软件设计前明 确软件承担的任务,然后结合硬件结构进一步确定 软件所承担任务的细节。细节如下: 定义说明各输入输出口的功能,确定信息交换 的方式、系统接口方式、占有口地址、读取和输出 方式等。 在程序存储器和数据存储器区域中(注意考虑 是否有断电保护措施)合理分配存储空间,包括系 统主程序、常数表格、数据暂存区域、堆栈区域、 入口地址等。 对面板、控制开关、按键等输入量以及显示、 打印等输出量也必须给予定义,作为编程的依据。(2) 软件结构设计设计出合理的软件结构是设 计性能优良的单片机应用系统软件的基础。 常用的程序设计方法有3

9、种: 模块化程序设计; 自顶向下逐步求精程序设计;结构化程序设计。 MCS-51应用系统的软件设计一般采用模块化程序 设计。为了便于编程和调试,应先进行软件结构设 计,根据系统要求的功能,把软件分为不同的“模 块”,明确各模块应完成的功能,以及各模块之间 的关系,主要是要指定哪些任务由主程序完成,哪 些任务由中断服务程序完成,以便进行模块化的程 序设计。模块化程序设计是单片机应用系统软件设计中最 常用的方法。这种设计方法是把一个完整的程序分 成若干个功能相对独立的较小的程序模块,各个程 序模块分别进行设计、编制程序和调试,最后将调 试好的程序模块连接起来。 模块程序设计的优点是: 单个程序模块

10、设计和调 试比较方便、容易完成,一个模块可以被多个任务 共用。(3) 建立数学模型根据问题的定义,描述出各 个输入变量和各个输出变量之间的数学关系,称为 建立数学模型。数学模型随系统任务的不同而不同 。例如在直接数字控制系统中,可采用数字 (proportional integral and differential controller,比 例积分与微分控制器)控制算法或其改进形式;在 测量系统中,从模拟输入通道得到的温度、流量、 压力等现场信息与该信号对应的实际值往往存在非 线性关系,需要进行非线性补偿。(4) 绘制程序流程图通常是根据系统功能及操 作过程和软件的结构,先列出程序的简单功能

11、流程 图,再对该图进行扩充和具体化,把简单功能流程 图中每一部分转变成具体的存储单元、寄存器和 I/O口的操作,从而绘制出详细的程序流程图。 (5) 编写程序在完成流程图设计以后,依据流 程图编写程序。(6) 汇编程序编写完后用开发系统或仿真器的 汇编程序将所编写的用户程序汇编成MCS-5l单片 机的机器码。 (7) 在线仿真调试通过单片机的开发系统,将 所编写的程序进行在线仿真调试,完成单片机应用 系统的各种功能,完成系统软件设计。4. 联机在线仿真调试、修正软硬件错误主要包括用户软件程序的调试和目标系统的硬件 调试。 (1) 用户软件程序的调试用户软件程序的调试 可分为以下几个步骤: 建立

12、用户源程序。 在单片机开发系统上,对用户源程序进行编译 ,如果编译有错误,则要进行修改,再进行编译, 直至错误全部纠正为止。 动态在线调试。用户程序中分为内部服务程序 以及与外部的接口程序。内部服务程序是指与用户 样机硬件无联系的用户程序,例如计算程序,虽然 经编译后已经没有语法错误,但可能有逻辑错误, 必须借助于动态在线调试手段,如单步运行、设置 断点等,发现逻辑错误,然后进行修改。对于外部 接口程序,一定要先把硬件故障排除以后,再对用 户程序进行动态在线调试,如果有错误,则进行修 改。在调试这一类程序时,硬件调试与软件调试是 不能完全分开的,许多硬件错误是通过对软件的调 试从而发现和纠正的

13、。 将调试完毕的用户程序通过专用编程器固化在 EPROM中。(2) 用户样机硬件调试 静态调试。对用户样机进行调试,首先要进行 静态调试,静态调试的目的是排除明显的硬件故障 。 第一步断电测量,在样机加电之前,先用万用表 等工具,根据硬件电路图,仔细检查样机线路是否 连接正确,并核对元器件的型号、规格和安装是否 符合要求。应特别注意对电源系统的检查,以防止 电源的短路和极性错误,并重点检查系统总线(地 址总线、数据总线和控制总线)是否存在相互之间 的短路或与其他信号线的短路。第二步加电后检查各插件上引脚的电位,仔细测 量各点电平是否正常、尤其应注意8051插座的各点 电位。 第三步是在断电情况

14、下,除CPU外,插上所有的 元器件,并把仿真器的仿真插头插入样机上的CPU 插座,准备联机仿真调试。 联机仿真、在线动态调试。在静态调试中,仅 对目标样机硬件进行了初步调试,只是排除了一些 明显的静态故障,而样机中的硬件故障(如各部件 内部存在的故障和部件之间连接的逻辑错误)主要 是靠联机仿真排除的。分别打开样机和仿真器电源 后,便可开始联机仿真调试,排除硬件的故障。 上面已经谈到,硬件调试和软件调试是不能完全 分开的,许多硬件错误是在软件调试中发现和被纠 正的。因此,在上面介绍的软件在线调试中,也包 括联机仿真、硬件在线动态调试以及硬件故障的排 除。5. 程序固化,系统独立运行至此可将用户程

15、序固化在程序存储器中,然后将 程序存储器插入目标样机系统中,目标样机系统可 独立运行。目标样机系统独立运行一段时间无故障 后,可认为整个设计开发过程结束。单片机的程序设计可以使用机器语言、单片机汇 编语言和高级语言三种编程语言。机器语言是CPU 惟一能够识别的语言,其他语言必须通过编译后形 成机器码供CPU识别;汇编语言是单片机系统设计 中最常用的程序设计语言;高级语言通用性好,只 要单片机开发系统具有编译的能力,就可以直接用 高级语言编写程序。MCS-51系列单片机的编译型 高级语言有: PL/M51、C-51、MBASIC-51等。5.2 单片机汇编程序的编辑方法可以使用单片机仿真器提供的

16、软件包中的编辑器 来编写单片机程序,也可以使用PC的编辑程序编 写程序,例如PC上的EDIT、PE等编辑软件。然后 利用开发系统提供的汇编或编译系统,将源程序编 译成可在目标机上直接运行的目标程序。该目标程 序可通过PC的串行通信接口直接传送到开发系统 的RAM中。本节主要介绍利用单片机仿真器进行 51汇编语言程序的编辑方法。单片机应用系统本身并无自开发能力,需要借助 于开发工具进行软件编辑、汇编和调试。目前国内 用于MCS-51型单片机的开发系统很多,伟福E2000 系列仿真器属于新型的专用开发系统,本节内容是 结合其软件包,对汇编程序的编辑等进行说明。5.2.1 伟福仿真器软件包源程序的编辑可以在开发系统的软件包中进行。 下面以一个延时程序为例介绍如何在伟福E2000仿 真器的软件包中进行源程序的编辑。 (1) 单击WINDOWS界面的开始|程序 |WAVE for WINDOWS|wave,进入伟福软件 模拟器选择界面,单击好进入编辑器管理窗口。 如图5-3所示。5.2.2 汇编源程序

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 高中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号