第13章AT89S51单片机的应用设计与调试课件

上传人:txadgkn****dgknqu... 文档编号:241575967 上传时间:2024-07-05 格式:PPT 页数:54 大小:888.12KB
返回 下载 相关 举报
第13章AT89S51单片机的应用设计与调试课件_第1页
第1页 / 共54页
第13章AT89S51单片机的应用设计与调试课件_第2页
第2页 / 共54页
第13章AT89S51单片机的应用设计与调试课件_第3页
第3页 / 共54页
点击查看更多>>
资源描述
第章单片机应用系统的设计第章单片机应用系统的设计与调试与调试11 1第章单片机应用系统的设计11 第章第章 单片机应用系统的设计与调试单片机应用系统的设计与调试 单片机应用系统的设计步骤单片机应用系统的设计步骤 单片机应用系统设计单片机应用系统设计 硬件设计应考虑的问题硬件设计应考虑的问题 典型的单片机应用系统典型的单片机应用系统 系统设计中的总线驱动系统设计中的总线驱动 软件设计考虑的问题软件设计考虑的问题 软件的总体框架设计软件的总体框架设计 单片机应用系统的仿真开发与调试单片机应用系统的仿真开发与调试2 2 第章 单片机应用系统的设计与调试 22【内容概要】【内容概要】本本章章介介绍绍单单片片机机应应用用系系统统的的设设计计,内内容容主主要要包包括括:应应用用系系统统的的设设计计步步骤骤和和方方法法,应应用用系系统统的的硬硬件件设设计计以以及及应应用用程程序序的的总总体体框框架架设设计计。此此外外,还还介介绍绍了了目目前前流流行行的的单单片片机机应应用用系系统统的的仿仿真真开开发发工工具具以以及及如如何何利利用用仿仿真真开开发发工工具具对对单单片片机机应应用用系系统统进进行行开开发调试。发调试。3【内容概要】3 单片机应用系统的设计步骤单片机应用系统的设计步骤 单片机应用系统的设计工作,首先要经过深入细致的需求分单片机应用系统的设计工作,首先要经过深入细致的需求分析,周密而科学的方案论证才能使系统设计工作顺利完成。一析,周密而科学的方案论证才能使系统设计工作顺利完成。一个单片机应用系统设计,一般可分为个阶段。个单片机应用系统设计,一般可分为个阶段。()明确任务和需求分析以及拟定设计方案阶段()明确任务和需求分析以及拟定设计方案阶段 明确系统所要完成的任务十分重要,它是设计工作的基础,明确系统所要完成的任务十分重要,它是设计工作的基础,设计方案正确性的保证。设计方案正确性的保证。需求分析的内容主要包括:被测控参数的形式(电量、非电需求分析的内容主要包括:被测控参数的形式(电量、非电量、模拟量、数字量等)、被测控参数的范围、性能指标、系量、模拟量、数字量等)、被测控参数的范围、性能指标、系统功能、工作环境、显示、报警、打印要求等。统功能、工作环境、显示、报警、打印要求等。4 单片机应用系统的设计步骤4 拟定设计方案是根据任务的需求分析,先确定大致方向和拟定设计方案是根据任务的需求分析,先确定大致方向和准备采用的手段。注意,在进行设计方案确定的时候,简单的准备采用的手段。注意,在进行设计方案确定的时候,简单的方法往往可以解决大问题,切忌方法往往可以解决大问题,切忌“将简单的问题复杂化将简单的问题复杂化”()硬件和软件设计阶段()硬件和软件设计阶段 根据拟定的设计方案,设计出相应的系统硬件电路。硬件根据拟定的设计方案,设计出相应的系统硬件电路。硬件设计的前提是必须能够完成系统的要求和保证可靠性。在硬件设计的前提是必须能够完成系统的要求和保证可靠性。在硬件设计时,如果能够将硬件电路设计与软件设计结合起来考虑效设计时,如果能够将硬件电路设计与软件设计结合起来考虑效果会更好。因为当有些问题在硬件电路中无法完成时,可直接果会更好。因为当有些问题在硬件电路中无法完成时,可直接由软件来完成(如某些软件滤波、校准功能等);当软件编写由软件来完成(如某些软件滤波、校准功能等);当软件编写程序很麻烦的时候,通过稍稍改动硬件电路(或尽可能不改动)程序很麻烦的时候,通过稍稍改动硬件电路(或尽可能不改动)可能会使软件变得十分简单。另外在一些要求可能会使软件变得十分简单。另外在一些要求5 5 拟定设计方案是根据任务的需求分析,先确定大致方向和准系统实时性强、响应速度快的场合,则往往必须用硬件代替软件系统实时性强、响应速度快的场合,则往往必须用硬件代替软件来完成某些功能。所以在硬件电路设计时,最好能够与软件的设来完成某些功能。所以在硬件电路设计时,最好能够与软件的设计结合起来,统一考虑,合理地安排软、硬件的比例,使系统具计结合起来,统一考虑,合理地安排软、硬件的比例,使系统具有最佳的性价比。当硬件电路设计完成后,就可进行硬件电路板有最佳的性价比。当硬件电路设计完成后,就可进行硬件电路板的绘制和焊接工作了。的绘制和焊接工作了。接下来的工作就是软件设计。正确的编程方法就是根据需求接下来的工作就是软件设计。正确的编程方法就是根据需求分析,先绘制出软件的流程图,该环节十分重要。流程图的绘制分析,先绘制出软件的流程图,该环节十分重要。流程图的绘制往往不能一次成功,通常需要进行多次的修改。流程图的绘制可往往不能一次成功,通常需要进行多次的修改。流程图的绘制可按照由简到繁的方式再逐步细化,先绘制系统大体上需要执行的按照由简到繁的方式再逐步细化,先绘制系统大体上需要执行的程序模块,然后将这些模块按照要求组合在一起,在大方向没有程序模块,然后将这些模块按照要求组合在一起,在大方向没有问题后,再将每个模块进行细化,最后形成软件流程问题后,再将每个模块进行细化,最后形成软件流程6 6系统实时性强、响应速度快的场合,则往往必须用硬件代替软件来完图,这样程序的编写速度就会很快,同时程序流程图还会为图,这样程序的编写速度就会很快,同时程序流程图还会为后面的调试工作带来很多方便,如程序调试中某个模块不正后面的调试工作带来很多方便,如程序调试中某个模块不正常,就可以通过流程图来查找问题的原因。软件编写者一定常,就可以通过流程图来查找问题的原因。软件编写者一定要克服不绘制流程图直接在计算机上编写程序的习惯。要克服不绘制流程图直接在计算机上编写程序的习惯。设计者也可以先使用虚拟仿真开发工具来进行单片机系统设计者也可以先使用虚拟仿真开发工具来进行单片机系统的仿真设计。使用完成的单片机系统设计与用户样机在硬件的仿真设计。使用完成的单片机系统设计与用户样机在硬件上无任何联系,这是一种完全用软件手段来对单片机硬件电上无任何联系,这是一种完全用软件手段来对单片机硬件电路和软件来进行设计、开发与仿真调试的开发工具。如果一路和软件来进行设计、开发与仿真调试的开发工具。如果一个单片机的软硬件系统,先使用软件虚拟仿真工具进行系统个单片机的软硬件系统,先使用软件虚拟仿真工具进行系统设计并仿真调试通过,虽然还不能完全说设计并仿真调试通过,虽然还不能完全说7 7图,这样程序的编写速度就会很快,同时程序流程图还会为后面的调明实际系统就完全通过,但至少在逻辑上是行得通的。系统虚明实际系统就完全通过,但至少在逻辑上是行得通的。系统虚拟仿真通过后,再进行实际的软硬件设计与实现,可大大减少拟仿真通过后,再进行实际的软硬件设计与实现,可大大减少设计上所走的弯路,软件编写调试可与硬件设计同步进行,可设计上所走的弯路,软件编写调试可与硬件设计同步进行,可大大提高设计效率,这也是目前世界上广泛流行的一种开发设大大提高设计效率,这也是目前世界上广泛流行的一种开发设计方法。计方法。()硬件与软件联合调试阶段()硬件与软件联合调试阶段 上述的软硬件系统虚拟设计仿真调试通过后,再使用硬件仿上述的软硬件系统虚拟设计仿真调试通过后,再使用硬件仿真开发工具(在线仿真器)与用户样机来进行实际调试,具体真开发工具(在线仿真器)与用户样机来进行实际调试,具体的调试方法和过程,将在本章的后面进行介绍。的调试方法和过程,将在本章的后面进行介绍。所有的软件和硬件电路全部调试通过,并不意味着单片机系统所有的软件和硬件电路全部调试通过,并不意味着单片机系统的设计成功,还需要通过实际运行来调整系统的运行状的设计成功,还需要通过实际运行来调整系统的运行状8 8明实际系统就完全通过,但至少在逻辑上是行得通的。系统虚拟仿真态,例如系统中的转换结果是否正确,如果不正确,是否要调态,例如系统中的转换结果是否正确,如果不正确,是否要调零和调整基准电压等。零和调整基准电压等。()资料与文件整理编制阶段()资料与文件整理编制阶段 当系统全部调试通过后,就进入资料与文件整理编制阶段。当系统全部调试通过后,就进入资料与文件整理编制阶段。资料与文件包括:任务描述、设计的指导思想及设计方案论证、资料与文件包括:任务描述、设计的指导思想及设计方案论证、性能测定及现场试用报告与说明、使用指南、软件资料(流程性能测定及现场试用报告与说明、使用指南、软件资料(流程图、子程序使用说明、地址分配、程序清单)、硬件资料(电图、子程序使用说明、地址分配、程序清单)、硬件资料(电原理图、元件布置图及接线图、接插件引脚图、线路板图、注原理图、元件布置图及接线图、接插件引脚图、线路板图、注意事项)。文件不仅是设计工作的结果,而且是以后使用、维意事项)。文件不仅是设计工作的结果,而且是以后使用、维修以及进一步再设计的依据。因此,一定要精心编写,描述清修以及进一步再设计的依据。因此,一定要精心编写,描述清楚,使数据及资料齐全。楚,使数据及资料齐全。9 9态,例如系统中的转换结果是否正确,如果不正确,是否要调零和调 单片机应用系统设计单片机应用系统设计 本节介绍如何进行单片机应用系统的设计。主要从硬件设本节介绍如何进行单片机应用系统的设计。主要从硬件设计和软件设计两个方面考虑。计和软件设计两个方面考虑。硬件设计应考虑的问题硬件设计应考虑的问题 在硬件设计时,应重点首先考虑以下几个问题。在硬件设计时,应重点首先考虑以下几个问题。尽可能采用高集成度功能强的芯片尽可能采用高集成度功能强的芯片()单片机的选型。随着集成电路技术的飞速发展,单片机()单片机的选型。随着集成电路技术的飞速发展,单片机的集成度越来越高,许多外围部件都已集成在芯片内,有许的集成度越来越高,许多外围部件都已集成在芯片内,有许多单片机本身就是一个系统,这样可以省去许多外围部件的多单片机本身就是一个系统,这样可以省去许多外围部件的扩展工作,使设计工作大大简化。在第章中,已经介绍扩展工作,使设计工作大大简化。在第章中,已经介绍1010 单片机应用系统设计1010了目前较为流行的各种单片机机型,用户可根据任务的需求,了目前较为流行的各种单片机机型,用户可根据任务的需求,选择合适的机型。例如,目前市场上较为流行的美国选择合适的机型。例如,目前市场上较为流行的美国 公司的公司的 位单片机,片内集成有通道、两路、两路电压比较器,内置位单片机,片内集成有通道、两路、两路电压比较器,内置温度传感器、定时器、可编程数字交叉开关和个通用口、电温度传感器、定时器、可编程数字交叉开关和个通用口、电源监测、看门狗、多种类型的串行总线(两个、)等。使用源监测、看门狗、多种类型的串行总线(两个、)等。使用片片 位单片机,就构成了一个应用系统。再如,如果系统需要位单片机,就构成了一个应用系统。再如,如果系统需要较大的驱动能力和较强的抗干扰能力,可考虑选用单片机或较大的驱动能力和较强的抗干扰能力,可考虑选用单片机或单片机。单片机。()优先选用片内带有较大容量存储器的产品。例如,使用()优先选用片内带有较大容量存储器的产品。例如,使用公司的公司的 1111了目前较为流行的各种单片机机型,用户可根据任务的需求,选择合 系列产品,公司的(内有的存储器)等,可省去扩展片外程序系列产品,公司的(内有的存储器)等,可省去扩展片外程序存储器的工作,减少芯片数量,缩小系统的体积。存储器的工作,减少芯片数量,缩小系统的体积。()容量的考虑。大多数单片机片内的单元有限,当需增强软()容量的考虑。大多数单片机片内的单元有限,当需增强软件数据处理功能时,往往觉得不足,这时可选用片内具有较大件数据处理功能时,往往觉得不足,这时可选用片内具有较大容量的单片机,例如。容量的单片机,例如。()对端口留有余地。在用户样机研制出来进行现场试用时,()对端口留有余地。在用户样机研制出来进行现场试用时,往往会发现一些被忽视的问题,而这些问题是不能单靠软件措往往会发现一些被忽视的问题,而这些问题是不能单靠软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在端;有些物理量需要控制,就必须增加输出端。如果在1212 系列产品,公司的(内有的存储器)等,可省去扩展片外程序存储硬件设计之初就多设计留有一些端口,这些问题就会迎刃而解硬件设计之初就多设计留有一些端口,这些问题就会迎刃而解了。了。()预留和通道。与上述的端口同样的原因,留出一些和通道()预留和通道。与上述的端口同样的原因,留出一些和通道将来可能会解决大问题。将来可能会解决大问题。以软代硬以软代硬 原则上,只要软件能做到且能满足性能要求,就不用硬件。原则上,只要软件能做到且能满足性能要求,就不用硬件。硬件多了不但增加成本,而且系统故障率也会提高。以软件代硬件多了不但增加成本,而且系统故障率也会提高。以软件代硬件的实质,就是以时间换空间,软件执行过程需要消耗时间,硬件的实质,就是以时间换空间,软件执行过程需要消耗时间,因此这种替代带来的问题是实时性下降。在实时性满足要求的因此这种替代带来的问题是实时性下降。在实时性满足要求的场合,以软代硬是合算的。场合,以软代硬是合算的。1313硬件设计之初就多设计留有一些端口,这些问题就会迎刃而解了。1工艺设计工艺设计 工艺设计包括机箱、面板、配线、接插件等。必须考虑到安工艺设计包括机箱、面板、配线、接插件等。必须考虑到安装、调试、维修的方便。另外,硬件抗干扰措施(将在本章的装、调试、维修的方便。另外,硬件抗干扰措施(将在本章的后面介绍)也必须在硬件设计时一并考虑进去。后面介绍)也必须在硬件设计时一并考虑进去。典型的单片机应用系统典型的单片机应用系统 典型的单片机应用系统框图如图所示。典型的单片机应用系统框图如图所示。典型的单片机应用系统主要由单片机基本部分、输入部分和典型的单片机应用系统主要由单片机基本部分、输入部分和输出部分组成。输出部分组成。()单片机基本部分()单片机基本部分 基本部分由单片机及其扩展的外设及芯片,如键盘、显示器、基本部分由单片机及其扩展的外设及芯片,如键盘、显示器、打印机、数据存储器、程序存储器以及数字等组成。打印机、数据存储器、程序存储器以及数字等组成。1414工艺设计1414图图 单片机典型应用系统框图单片机典型应用系统框图 15图 单片机典型应用系统框图 15()输入部分()输入部分 这是这是“测测”的部分,被的部分,被“测测”的信号类型有:数字量、模拟的信号类型有:数字量、模拟量和开关量。模拟量输入检测的主要包括信号调理电路以及转量和开关量。模拟量输入检测的主要包括信号调理电路以及转换器。转换器中都集成了包括多路切换、采样保持、转换等电换器。转换器中都集成了包括多路切换、采样保持、转换等电路,转换器或者直接集成在单片机片内。路,转换器或者直接集成在单片机片内。连接传感器与转换器之间的桥梁是信号调理电路,传感器输连接传感器与转换器之间的桥梁是信号调理电路,传感器输出的模拟信号要经过信号调理电路对信号进行放大、滤波、隔出的模拟信号要经过信号调理电路对信号进行放大、滤波、隔离、量程调整等,变换成适合转换的电压信号。信号放大通常离、量程调整等,变换成适合转换的电压信号。信号放大通常由单片式仪表放大器承担。仪表放大器对信号进行放大比普通由单片式仪表放大器承担。仪表放大器对信号进行放大比普通运算放大器具有更优异的性能。如何根据不同的传感器运算放大器具有更优异的性能。如何根据不同的传感器1616()输入部分1616正确地选择仪表放大器来进行信号调理电路的设计,请读者参正确地选择仪表放大器来进行信号调理电路的设计,请读者参阅有关资料和文献。阅有关资料和文献。()输出部分()输出部分 这部分是应用系统这部分是应用系统“控控”的部分,包括数字量、开关量控制信的部分,包括数字量、开关量控制信号的输出和模拟量控制信号(常用于伺服控制)的输出。号的输出和模拟量控制信号(常用于伺服控制)的输出。系统设计中的总线驱动系统设计中的总线驱动 一个单片机应用系统有时往往是多芯片系统,如何实现单片一个单片机应用系统有时往往是多芯片系统,如何实现单片机对多片芯片的驱动的问题。机对多片芯片的驱动的问题。1717正确地选择仪表放大器来进行信号调理电路的设计,请读者参阅有关 在单片机扩展多片芯片时,要注意单片机个并行双向口的在单片机扩展多片芯片时,要注意单片机个并行双向口的口的驱动能力。下面首先讨论这个问题。口的驱动能力。下面首先讨论这个问题。的、口通常作为总线端口,当系统扩展的芯片较多时,可的、口通常作为总线端口,当系统扩展的芯片较多时,可能造成负载过重,致使驱动能力不够,系统不能可靠地工作,能造成负载过重,致使驱动能力不够,系统不能可靠地工作,所以通常要附加总线驱动器或其他驱动电路。因此在多芯片所以通常要附加总线驱动器或其他驱动电路。因此在多芯片应用系统设计中首先要估计总线的负载情况,以确定是否需应用系统设计中首先要估计总线的负载情况,以确定是否需要对总线的驱动能力进行扩展。要对总线的驱动能力进行扩展。图为单片机总线驱动扩展原理图。口需要单向驱动,常见图为单片机总线驱动扩展原理图。口需要单向驱动,常见的单向总线驱动器为。的单向总线驱动器为。1818 在单片机扩展多片芯片时,要注意单片机个并行双向口的图图 单片机总线驱动扩展原理图单片机总线驱动扩展原理图 19图 单片机总线驱动扩展原理图 19 图图为为引引脚脚图图和和逻逻辑辑图图。个个三三态态驱驱动动器器分分成成两两组组,分分别别由由*和和*控制。控制。口口作作为为数数据据总总线线,是是双双向向传传输输,驱驱动动器器应应为为双双向向驱驱动动、三三态态输输出出,并并由由两两个个控控制制端端来来控控制制数数据据传传送送方方向向。如如图图所所示示,数数据据输输出出允允许许控控制制端端有有效效时时,数数据据总总线线输输入入为为高高阻阻态态,输输出出为为开开通通状状态态;数数据据输输入入允允许许控控制制端端有有效效时时,则则状状态态与与上上相相反反。常常见见的的双双向向驱驱动动器器为为,图图为为其其引引脚脚和和逻逻辑辑图图。个个三三态态门门中中每每两两个个三三态态门门组组成成一一路路双双向向驱驱动动。驱驱动动方方向向由由*、两两个个控控制制端端控控制制驱驱动动器器有有效效或或高高阻阻态态,在在控控制制端端有有效效(*)时时,控控制制端端控控制制驱驱动动器器的的驱驱动方向,时驱动方向为从至,时则相反。动方向,时驱动方向为从至,时则相反。2020 图为引脚图和逻辑图。个三态驱动器分成两组,分别由*和21图图 单向驱动器引脚图和逻辑图单向驱动器引脚图和逻辑图 2121图 单向驱动器引脚图和逻辑图 21图图 的引脚图和逻辑图的引脚图和逻辑图22图 的引脚图和逻辑图22 图图所所示示为为单单片片机机应应用用系系统统总总线线驱驱动动扩扩展展电电路路图图。口口的的双双向向驱驱动动采采用用,如如图图()所所示示;口口的的单单向向驱驱动动器器采采用用,如如图图()所所示示。口口的的双双向向驱驱动动器器的的*接接地地,保保证证芯芯片片一一直直处处于于工工作作状状态态,而而输输入入输输出出的的方方向向控控制制由由单单片片机机的的数数据据存存储储器器的的“读读”控控制制引引脚脚(*)和和程程序序存存储储器器的的取取指指控控制制引引脚脚(*)通通过过与与门门控控制制引引脚脚实实现现。这这种种连连接接方方法法无无论论是是“读读”数数据据存存储储器器中中数数据据(*有有效效)还还是是从从程程序序存存储储器器中中取取指指令令(*有有效效),都都能能保保证证对对口口的的输输入入驱驱动动;除除此此以以外外的的时时间间(*及及*均均无无效效),保保证证对对口口的的输输出出驱驱动动。对对于于口口,因因为为只只用用作作单单向向的的地地址址输输出出,故故的的驱驱动动门门控控制制端端*、*接地。接地。2323 图所示为单片机应用系统总线驱动扩展电路图。口的双向驱24图图 单片机应用系统中的总线驱动扩展电路图单片机应用系统中的总线驱动扩展电路图2424图 单片机应用系统中的总线驱动扩展电路图24 软件设计考虑的问题软件设计考虑的问题 在进行应用系统的总体设计时,软件设计和硬件设计应统一在进行应用系统的总体设计时,软件设计和硬件设计应统一考虑,相互结合进行。当系统的硬件电路设计定型后,软件的考虑,相互结合进行。当系统的硬件电路设计定型后,软件的任务也就明确了。任务也就明确了。一般来说,软件的功能分为两大类。一类是执行软件,它能一般来说,软件的功能分为两大类。一类是执行软件,它能完成各种实质性的功能,如测量、计算、显示、打印、输出控完成各种实质性的功能,如测量、计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织调度的角色。设计人员在作者的关系,在系统软件中充当组织调度的角色。设计人员在进行程序设计时应从以下几个方面加以考虑。进行程序设计时应从以下几个方面加以考虑。()根据软件功能要求,将系统软件分成若干相对独立的部()根据软件功能要求,将系统软件分成若干相对独立的部分,设计出合理的软件总体结构,使其清晰、简洁、流程合理。分,设计出合理的软件总体结构,使其清晰、简洁、流程合理。2525 软件设计考虑的问题2525()各功能程序实行模块化、子程序化。既便于调试、链接,()各功能程序实行模块化、子程序化。既便于调试、链接,又便于移植、修改。又便于移植、修改。()在编写应用软件之前,应绘制出程序流程图。多花一些时()在编写应用软件之前,应绘制出程序流程图。多花一些时间来设计程序流程图,就可以节约几倍于源程序的编辑和调试间来设计程序流程图,就可以节约几倍于源程序的编辑和调试时间。时间。()要合理分配系统资源,包括、定时器计数器、中断源等。()要合理分配系统资源,包括、定时器计数器、中断源等。其中最关键的是片内分配。对单片机来讲,片内指单元,这其中最关键的是片内分配。对单片机来讲,片内指单元,这个字节的功能不完全相同,分配时应充分发挥其特长,做到物个字节的功能不完全相同,分配时应充分发挥其特长,做到物尽其用。例如,在工作寄存器的个单元中,和具有指针功能,尽其用。例如,在工作寄存器的个单元中,和具有指针功能,是编程的重要角色,避免作为它用;这个字节是编程的重要角色,避免作为它用;这个字节2626()各功能程序实行模块化、子程序化。既便于调试、链接,又便于具有位寻址功能,用来存放各种标志位、逻辑变量、状态变量具有位寻址功能,用来存放各种标志位、逻辑变量、状态变量等;设置堆栈区时应事先估算出子程序和中断嵌套深度及程序等;设置堆栈区时应事先估算出子程序和中断嵌套深度及程序中堆栈操作指令使用情况,其大小应留有余量。若系统中扩展中堆栈操作指令使用情况,其大小应留有余量。若系统中扩展了存储器,应把使用频率最高的数据缓冲器安排在片内中,以了存储器,应把使用频率最高的数据缓冲器安排在片内中,以提高处理速度。当资源规划好后,应列出一张详细的资源分配提高处理速度。当资源规划好后,应列出一张详细的资源分配表,以备编程时查用方便。表,以备编程时查用方便。软件的总体框架设计软件的总体框架设计 设计者在软件设计时,感觉比较困难的是如何进行系统软件设计者在软件设计时,感觉比较困难的是如何进行系统软件的总体框架设计。下面给出一个典型的例子,供读者在软件设的总体框架设计。下面给出一个典型的例子,供读者在软件设计时参考。计时参考。2727具有位寻址功能,用来存放各种标志位、逻辑变量、状态变量等;设【例】有一个单片机的应用系统,假设个中断源都已用到,【例】有一个单片机的应用系统,假设个中断源都已用到,应用系统的程序框架如下:应用系统的程序框架如下:2828【例】有一个单片机的应用系统,假设个中断源都已用到,应用系29292929303031 上述程序框架仅供参考,当然在实际设计中,个中断源也上述程序框架仅供参考,当然在实际设计中,个中断源也未必全用。未必全用。3131 上述程序框架仅供参考,当然在实际设计中,个中 单片机应用系统的仿真开发与调试单片机应用系统的仿真开发与调试 当一个单片机应用系统(用户样机)完成了硬件和软件设计,当一个单片机应用系统(用户样机)完成了硬件和软件设计,全部元器件安装完毕后,在用户样机的程序存储器中放入编写全部元器件安装完毕后,在用户样机的程序存储器中放入编写好的应用程序,系统即可运行。但应用程序运行一次性成功几好的应用程序,系统即可运行。但应用程序运行一次性成功几乎是不可能的,多少会存在一些软件、硬件上的错误,这就需乎是不可能的,多少会存在一些软件、硬件上的错误,这就需要借助单片机的仿真开发工具(在线仿真器)进行调试,发现要借助单片机的仿真开发工具(在线仿真器)进行调试,发现错误并加以改正。单片机只是一个芯片,既没有键盘,又没有、错误并加以改正。单片机只是一个芯片,既没有键盘,又没有、显示器,也无法进行软件的开发(如编辑、汇编、调试程序等)显示器,也无法进行软件的开发(如编辑、汇编、调试程序等),因此,必须借助仿真开发工具所提供的开发手段来进行。,因此,必须借助仿真开发工具所提供的开发手段来进行。一般来说,仿真开发工具应具有如下最基本的功能。一般来说,仿真开发工具应具有如下最基本的功能。3232 单片机应用系统的仿真开发与调试3232()用户样机程序的输入与修改。()用户样机程序的输入与修改。()程序的运行、调试(单步运行、设置断点运行)、排错、()程序的运行、调试(单步运行、设置断点运行)、排错、状态查询等功能。状态查询等功能。()用户样机硬件电路的诊断与检查。()用户样机硬件电路的诊断与检查。()有较全的开发软件。用户可用汇编语言或语言编制应用程()有较全的开发软件。用户可用汇编语言或语言编制应用程序;由开发系统编译连接生成目标文件、可执行文件。配有反序;由开发系统编译连接生成目标文件、可执行文件。配有反汇编软件,能将目标程序转换成汇编语言程序;有丰富的子程汇编软件,能将目标程序转换成汇编语言程序;有丰富的子程序可供用户选择调用。序可供用户选择调用。()将调试正确的程序写入到程序存储器中。()将调试正确的程序写入到程序存储器中。下面介绍常用的仿真开发工具。下面介绍常用的仿真开发工具。3333()用户样机程序的输入与修改。3333.仿真开发系统简介仿真开发系统简介 通用机仿真开发系统是目前设计者使用最多的一类开发装置,通用机仿真开发系统是目前设计者使用最多的一类开发装置,由在线仿真器与机上运行的仿真开发软件两部分组成。这是一由在线仿真器与机上运行的仿真开发软件两部分组成。这是一种通过机的口,外加在线仿真器的在线仿真开发系统,如图所种通过机的口,外加在线仿真器的在线仿真开发系统,如图所示。示。在调试用户程序时,在线仿真器一侧与机的口相连,另一侧在调试用户程序时,在线仿真器一侧与机的口相连,另一侧的仿真插头插入到用户样机的单片机插座上,来对样机上的单的仿真插头插入到用户样机的单片机插座上,来对样机上的单片机进行片机进行“仿真仿真”。从仿真插头向在线仿真器看去,看到的就是。从仿真插头向在线仿真器看去,看到的就是一个一个“单片机单片机”。这个这个“单片机单片机”是是“出借出借”给用户样机的,暂时代给用户样机的,暂时代替用户样机上的单片机。仿真开发系统除了替用户样机上的单片机。仿真开发系统除了“出借出借”34.仿真开发系统简介34图图 通用机仿真开发系统通用机仿真开发系统 35图 通用机仿真开发系统 35单单片片机机外外,还还“出出借借”仿仿真真用用的的,来来暂暂收收代代替替用用户户样样机机上上的的程程序序存存储储器器,存存放放待待调调试试的的用用户户程程序序。但但是是这这个个“单单片片机机”片片内内程程序序的的运运行行是是可可以以跟跟踪踪、修修改改和和调调试试的的。由由于于有有机机上上强强大大的的仿仿真真开开发发软软件件支支持持,可可在在机机的的其其屏屏幕幕上上观观察察用用户户程程序序的的运运行行情情况况,当当按按照照图图将将仿仿真真开开发发系系统统与与机机联联机机后后,用用户户可可利利用用机机上上的的仿仿真真开开发发软软件件,在在机机上上编编辑辑、修修改改源源程程序序,然然后后通通过过翻翻译译软软件件(汇汇编编语语言言编编程程翻翻译译软软件件为为汇汇编编程程序序,语语言言编编程程翻翻译译软软件件为为相相应应的的编编译译程程序序)将将其其汇汇编编成成机机器器代代码码,传传送送到到在在线线仿仿真真器器中中的的“仿仿真真”中中,这这时时用用户户可可使使用用在在线线仿仿真真器器,采采用用单单步步、断断点点、跟跟踪踪、全速等手段全速等手段3636单片机外,还“出借”仿真用的,来暂收代替用户样机上的程序存储调试用户程序,并进行修改和查找软、硬件故障,将系统状调试用户程序,并进行修改和查找软、硬件故障,将系统状态实时地显示在屏幕上。待程序调试通过后,再使用仿真开态实时地显示在屏幕上。待程序调试通过后,再使用仿真开发系统提供的编程器或专用编程器,把调试完毕的程序写入发系统提供的编程器或专用编程器,把调试完毕的程序写入到单片机片内的程序存储器中。此类仿真开发系统配置不同到单片机片内的程序存储器中。此类仿真开发系统配置不同的在线仿真器,可仿真开发各种单片机。的在线仿真器,可仿真开发各种单片机。但是随着技术的普及,对于单片机也可不使用在线仿真器但是随着技术的普及,对于单片机也可不使用在线仿真器以及编程器,用户只需要在机上修改程序,然后将修改的程以及编程器,用户只需要在机上修改程序,然后将修改的程序直接写入用户样机的单片机的存储器中,运行程序观察运序直接写入用户样机的单片机的存储器中,运行程序观察运行结果,如有问题可在机上修改程序,重新在线写入,直至行结果,如有问题可在机上修改程序,重新在线写入,直至运行结果满意为止。这样可省去在线仿真器和编程器,但不运行结果满意为止。这样可省去在线仿真器和编程器,但不足的是,不能对用户程序进行硬件单步、断点、跟踪、全速足的是,不能对用户程序进行硬件单步、断点、跟踪、全速等手段来调试。等手段来调试。3737调试用户程序,并进行修改和查找软、硬件故障,将系统状态实时地 在工业现场,往往没有机的支持,此时可使用独立型仿真器。在工业现场,往往没有机的支持,此时可使用独立型仿真器。该类仿真器采用模块化结构,配有不同外设,如外存板、打印该类仿真器采用模块化结构,配有不同外设,如外存板、打印机、键盘显示器等,用户可根据需要选用。由于没有机,这时机、键盘显示器等,用户可根据需要选用。由于没有机,这时使用独立型仿真器来进行的仿真调试工作,要输入机器码,稍使用独立型仿真器来进行的仿真调试工作,要输入机器码,稍显麻烦一些。显麻烦一些。.软件仿真开发工具软件仿真开发工具 使用软件虚拟仿真开发工具进行单片机系统的设计与仿真,使用软件虚拟仿真开发工具进行单片机系统的设计与仿真,不需要在线仿真器,也不需要用户样机,直接就可以在机上进不需要在线仿真器,也不需要用户样机,直接就可以在机上进行。调试完毕的软件可将其机器代码写入到片内程序存储器中,行。调试完毕的软件可将其机器代码写入到片内程序存储器中,一般能直接投入运行。一般能直接投入运行。但是软件模拟器是使用纯软件来对用户系统仿真,但是软件模拟器是使用纯软件来对用户系统仿真,3838 在工业现场,往往没有机的支持,此时可使用独立型仿真器不能进行用户样机硬件部分的诊断与实时在线仿真。因此在不能进行用户样机硬件部分的诊断与实时在线仿真。因此在系统的开发中,一般是先用仿真软件设计出系统的虚拟的硬件系统的开发中,一般是先用仿真软件设计出系统的虚拟的硬件原理电路,编写程序,在环境下仿真调试通过。然后再依照仿原理电路,编写程序,在环境下仿真调试通过。然后再依照仿真的结果,完成实际的硬件设计,再将仿真调试通过的程序写真的结果,完成实际的硬件设计,再将仿真调试通过的程序写入到用户样机的存储器中,观察运行结果,如果有问题,再连入到用户样机的存储器中,观察运行结果,如果有问题,再连接硬件仿真器去分析、调试。接硬件仿真器去分析、调试。.用户样机的源程序调试用户样机的源程序调试 下面介绍如何使用仿真开发工具进行汇编语言源程序编写、下面介绍如何使用仿真开发工具进行汇编语言源程序编写、调试以及与用户样机硬件联调工作。调试以及与用户样机硬件联调工作。用户源程序调试过程如图所示,可分为以下个步骤。用户源程序调试过程如图所示,可分为以下个步骤。3939不能进行用户样机硬件部分的诊断与实时在线仿真。因此在3939图图 用户样机软件设计、调试的过程用户样机软件设计、调试的过程 40图 用户样机软件设计、调试的过程 4041()输入用户源程序。用户使用编辑软件,按照汇编语言源程()输入用户源程序。用户使用编辑软件,按照汇编语言源程序要求的格式、语法规定,把源程序输入到机中,并保存在磁序要求的格式、语法规定,把源程序输入到机中,并保存在磁盘上。盘上。()在机上,利用汇编程序对用户源程序进行汇编,直至语法()在机上,利用汇编程序对用户源程序进行汇编,直至语法错误全部纠正为止。如无语法错误,则进入下一个步骤。错误全部纠正为止。如无语法错误,则进入下一个步骤。()动态在线调试。这一步对用户的源程序进行调试。上述的()动态在线调试。这一步对用户的源程序进行调试。上述的步骤()、步骤()是一个纯粹的软件运行过程,而在这一步,步骤()、步骤()是一个纯粹的软件运行过程,而在这一步,必须要有在线仿真器配合,才能对用户源程序进行调试。用户必须要有在线仿真器配合,才能对用户源程序进行调试。用户程序中分为与用户样机硬件无关以及与用户样机紧密相关的程程序中分为与用户样机硬件无关以及与用户样机紧密相关的程序。序。4141()输入用户源程序。用户使用编辑软件,按照汇编语言源程序42 对于与用户样机硬件无关的程序,如计算程序,虽然已经没对于与用户样机硬件无关的程序,如计算程序,虽然已经没有语法错误,但可能存在逻辑错误,使计算结果不正确,此时有语法错误,但可能存在逻辑错误,使计算结果不正确,此时必须借助于在线仿真器的动态在线调试手段,如单步运行、设必须借助于在线仿真器的动态在线调试手段,如单步运行、设置断点等,发现逻辑错误,然后返回到步骤()修改,直至逻置断点等,发现逻辑错误,然后返回到步骤()修改,直至逻辑错误纠正为止。辑错误纠正为止。对于与用户样机硬件紧密相关的程序段(如接口驱动程序),对于与用户样机硬件紧密相关的程序段(如接口驱动程序),一定要先把在线仿真器的仿真插头插入用户样机的单片机插座一定要先把在线仿真器的仿真插头插入用户样机的单片机插座中(见图),进行在线仿真调试,利用仿真开发系统提供单步、中(见图),进行在线仿真调试,利用仿真开发系统提供单步、设置断点等调试手段,来进行系统的调试。设置断点等调试手段,来进行系统的调试。有关部分程序段运行有可能不正常,可能是软件逻辑上有问有关部分程序段运行有可能不正常,可能是软件逻辑上有问题,也可能是硬件有故障,必须先通过在线仿真调试程序提题,也可能是硬件有故障,必须先通过在线仿真调试程序提4242 对于与用户样机硬件无关的程序,如计算程序,虽然已43供的调试手段,把硬件故障排除以后,再与硬件配合,对用户供的调试手段,把硬件故障排除以后,再与硬件配合,对用户程序进行动态在线调试。对于软件的逻辑错误,则返回到第一程序进行动态在线调试。对于软件的逻辑错误,则返回到第一步进行修改,直至逻辑错误消除为止。在调试这类程序时,硬步进行修改,直至逻辑错误消除为止。在调试这类程序时,硬件调试与软件调试是不能完全分开的。许多硬件错误是通过软件调试与软件调试是不能完全分开的。许多硬件错误是通过软件的调试而发现和纠正的。件的调试而发现和纠正的。()将调试完毕的用户程序通过编程器或写入,固化在程序存()将调试完毕的用户程序通过编程器或写入,固化在程序存储器中。储器中。用户样机的硬件调试用户样机的硬件调试 当用户样机全部焊接完毕,就可对用户样机的硬件进行调试。当用户样机全部焊接完毕,就可对用户样机的硬件进行调试。首先进行静态调试,静态调试的目的是排除明显的硬件故障。首先进行静态调试,静态调试的目的是排除明显的硬件故障。4343供的调试手段,把硬件故障排除以后,再与硬件配合,对用户程44()用户样机的静态调试()用户样机的静态调试 静态调试工作分为两步。静态调试工作分为两步。第一步是在样机加电之前,根据硬件逻辑设计图,先用万第一步是在样机加电之前,根据硬件逻辑设计图,先用万用表等工具,仔细检查样机线路是否连接正确,并核对元器件用表等工具,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,应特别注意电源系统的检的型号、规格和安装是否符合要求,应特别注意电源系统的检查,以防止电源的短路和极性错误,并重点检查系统总线(地查,以防止电源的短路和极性错误,并重点检查系统总线(地址总线、数据总线、控制总线)是否存在相互之间短路或与其址总线、数据总线、控制总线)是否存在相互之间短路或与其他信号线的短路。他信号线的短路。第二步是加电后检查各芯片插座上有关引脚的电位,仔细第二步是加电后检查各芯片插座上有关引脚的电位,仔细测量各点电平是否正常,尤其应注意插座的各点电位,若有高测量各点电平是否正常,尤其应注意插座的各点电位,若有高压,与在线仿真器联机调试时,将会损坏在线仿真器。压,与在线仿真器联机调试时,将会损坏在线仿真器。4444()用户样机的静态调试4445具体步骤如下。具体步骤如下。电源检查。当用户样机板连接或焊接完成之后,先不插主电源检查。当用户样机板连接或焊接完成之后,先不插主要元器件,通上电源。通常用直流电源(这是电源),用万要元器件,通上电源。通常用直流电源(这是电源),用万用表电压档测试各元器件插座上相应电源引脚电压数值是否用表电压档测试各元器件插座上相应电源引脚电压数值是否正确,极性是否符合。如有错误,要及时检查、排除,以使正确,极性是否符合。如有错误,要及时检查、排除,以使每个电源引脚的数值都符合要求。每个电源引脚的数值都符合要求。各元器件电源检查。断开电源,按正确的元器件方向插上各元器件电源检查。断开电源,按正确的元器件方向插上元器件。最好是分别插入,分别通电,并逐一检查每个元器元器件。最好是分别插入,分别通电,并逐一检查每个元器件上的电源是否正确,直到最后全部插上元器件。通电后,件上的电源是否正确,直到最后全部插上元器件。通电后,每个元器件上电源值应正确无误。每个元器件上电源值应正确无误。4545具体步骤如下。45n 检检查查相相应应芯芯片片的的逻逻辑辑关关系系。检检查查相相应应芯芯片片逻逻辑辑关关系系通通常常采采用用静静态态电电平平检检查查法法,即即在在一一个个芯芯片片信信号号的的输输入入端端加加入入一一个个相相应应电电平平,检检查查输输出出电电平平是是否否正正确确。单单片片机机系系统统大大都都是是数数字字逻逻辑辑电电路路,使使用用电电平平检检查查法法可可首首先先检检查查出出逻逻辑辑设设计计是是否否正正确确,选选用用的的元元器器件件是是否否符符合合要要求求,逻逻辑辑关关系系是是否否匹匹配配,元元器器件件连连接关系是否符合要求等。接关系是否符合要求等。n()用户样机的在线仿真调试()用户样机的在线仿真调试n 在在静静态态调调试试中中,对对用用户户样样机机硬硬件件进进行行初初步步调调试试,只只能能排排除一些明显的静态故障。除一些明显的静态故障。n 用用户户样样机机中中的的硬硬件件故故障障(如如各各个个部部件件内内部部存存在在的的故故障障和和部件之间连接的逻辑错误)主要是靠联机在线仿真来排除的。部件之间连接的逻辑错误)主要是靠联机在线仿真来排除的。4646 检查相应芯片的逻辑关系。检查相应芯片逻辑关系通常采用静态电47 在断电情况下,除单片机外,插上所有的元器件,并把在在断电情况下,除单片机外,插上所有的元器件,并把在线仿真器的仿真插头插入样机上单片机的插座(见图),然后线仿真器的仿真插头插入样机上单片机的插座(见图),然后分别打开用户样机和仿真器电源后便可开始联机在线仿真调试。分别打开用户样机和仿真器电源后便可开始联机在线仿真调试。前面已经介绍,硬件调试和软件调试是不能完全分开的,前面已经介绍,硬件调试和软件调试是不能完全分开的,许多硬件错误是在软件调试中发现和被纠正的。所以,在之前许多硬件错误是在软件调试中发现和被纠正的。所以,在之前介绍的有关用户样机软件调试的第()步的动态在线调试中,介绍的有关用户样机软件调试的第()步的动态在线调试中,即包括联机仿真、硬件在线动态调试以及硬件故障的排除。即包括联机仿真、硬件在线动态调试以及硬件故障的排除。下面介绍在仿真开发机上如何利用简单调试程序检查用户下面介绍在仿真开发机上如何利用简单调试程序检查用户样机。样机。4747 在断电情况下,除单片机外,插上所有的元器件,并把 利用仿真开发系统对用户样机进行硬件检查,常常按其功能及利用仿真开发系统对用户样机进行硬件检查,常常按其功能及通道分别编写相应简短的实验程序,来检查各部分功能及逻辑是通道分别编写相应简短的实验程序,来检查各部分功能及逻辑是否正确,下面做简单介绍。否正确,下面做简单介绍。检查各地址译码输出检查各地址译码输出 通常,地址译码输出是一个低电平有效信号。因此在选到某通常,地址译码输出是一个低电平有效信号。因此在选到某一个芯片时(无论是内存还是外设),其片选信号用示波器检查一个芯片时(无论是内存还是外设),其片选信号用示波器检查应该是一个负脉冲信号。应该是一个负脉冲信号。下面讨论如何检查地址译码器输出。例如,一片下面讨论如何检查地址译码器输出。例如,一片 存储芯片地存储芯片地址为,则在开发系统上执行如下程序:址为,则在开发系统上执行如下程序:,48 利用仿真开发系统对用户样机进行硬件检查,常常按其功能程序执行后,应该从存储器芯片的片选端看到等间隔的一串负程序执行后,应该从存储器芯片的片选端看到等间隔的一串负脉冲,说明该芯片片选信号连接是正确的,即使不插入该存储脉冲,说明该芯片片选信号连接是正确的,即使不插入该存储器芯片,只测量插座相应片选引脚也会有上述结果。器芯片,只测量插座相应片选引脚也会有上述结果。用同样方法,可将各内存及外设接口芯片的片选信号逐一进用同样方法,可将各内存及外设接口芯片的片选信号逐一进行检查。如出现不正确的现象,就要检查片选线连线是否正确,行检查。如出现不正确的现象,就要检查片选线连线是否正确,有无接触不良或错线、断线问题。有无接触不良或错线、断线问题。检查存储器检查存储器 检查存储器时可编写程序,对存储器进行写入,然后再读出,检查存储器时可编写程序,对存储器进行写入,然后再读出,将写入和读出的数据进行比较,发现错误,立即停止。将存储将写入和读出的数据进行比较,发现错误,立即停止。将存储器芯片插上,执行如下程序:器芯片插上,执行如下程序:49程序执行后,应该从存储器芯片的片选端看到等间隔的一串负脉冲,5050505051 如一片如一片 芯片的每个单元都出现问题,则有可能是某些控制芯片的每个单元都出现问题,则有可能是某些控制信号连接不正确;如一片芯片中一个或几个单元出现问题,信号连接不正确;如一片芯片中一个或几个单元出现问题,则有可能是这一芯片本身是不好的,可换一片再测试一下。则有可能是这一芯片本身是不好的,可换一片再测试一下。检查扩展接口检查扩展接口 对可编程接口芯片,如,首先要对该接口芯片进行初始化,对可编程接口芯片,如,首先要对该接口芯片进行初始化,再对其端口进行操作。初始化要按系统设计要求进行,这个再对其端口进行操作。初始化要按系统设计要求进行,这个初始化程序调试好后就可作为正式编程的相应内容。程序初初始化程序调试好后就可作为正式编程的相应内容。程序初始化后,可对其端口进行读写。对开关量来讲,在用户样机始化后,可对其端口进行读写。对开关量来讲,在用户样机板上可利用钮子开关和发光二极管进行模拟,也可直接接上板上可利用钮子开关和发光二极管进行模拟,也可直接接上驱动板进行检查。一般情况下,驱动板进行检查。一般情况下,5151 如一片 芯片的每个单元都出现问题,则有可能是某些52用户样机板先调试,驱动板单独进行调试,这样故障排除更方便用户样机板先调试,驱动板单独进行调试,这样故障排除更方便些。些。如用自动程序检查端口状态不易观察时,可用开发系统的单步如用自动程序检查端口状态不易观察时,可用开发系统的单步功能,单步执行程序,检查内部寄存器的有关内容或外部相应信功能,单步执行程序,检查内部寄存器的有关内容或外部相应信号的状态,并确定开关量输入输出通道连接是否正确。号的状态,并确定开关量输入输出通道连接是否正确。若外扩一片芯片,端口地址为,口为方式输入,口、若外扩一片芯片,端口地址为,口为方式输入,口、口都口都为方式输出,则可用下述程序进行检查:为方式输出,则可用下述程序进行检查:5252用户样机板先调试,驱动板单独进行调试,这样故障排除更方便5353535354 对于锁存器和缓冲器,可直接对其端口进行读对于锁存器和缓冲器,可直接对其端口进行读/写,不存在初写,不存在初始化的问题。始化的问题。通过上面介绍的调试用户样机过程,读者可以体会到离开仿真通过上面介绍的调试用户样机过程,读者可以体会到离开仿真开发系统就根本不可能进行用户样机的软硬件的联调,而调试的开发系统就根本不可能进行用户样机的软硬件的联调,而调试的关键步骤关键步骤动态在线仿真调试,又完全依赖于开发系统中的在线动态在线仿真调试,又完全依赖于开发系统中的在线仿真器。所以,开发系统的性能优劣,主要取决于在线仿真器的仿真器。所以,开发系统的性能优劣,主要取决于在线仿真器的性能优劣,在线仿真器所能提供的仿真开发手段,直接影响设计性能优劣,在线仿真器所能提供的仿真开发手段,直接影响设计者的设计、调试工作的效率。所以,对于设计者来说,在了解目者的设计、调试工作的效率。所以,对于设计者来说,在了解目前的开发系统的种类和性能之后,选择一个性前的开发系统的种类和性能之后,选择一个性/价比高的仿真开价比高的仿真开发系统,并能够熟练地使用它来调试用户样机是十分重要的。发系统,并能够熟练地使用它来调试用户样机是十分重要的。5454 对于锁存器和缓冲器,可直接对其端口进行读/写,不
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!