基于单片机的简单频率计课程设计报告报告

上传人:dc****87 文档编号:70632997 上传时间:2022-04-06 格式:DOC 页数:16 大小:90.50KB
收藏 版权申诉 举报 下载
基于单片机的简单频率计课程设计报告报告_第1页
第1页 / 共16页
基于单片机的简单频率计课程设计报告报告_第2页
第2页 / 共16页
基于单片机的简单频率计课程设计报告报告_第3页
第3页 / 共16页
资源描述:

《基于单片机的简单频率计课程设计报告报告》由会员分享,可在线阅读,更多相关《基于单片机的简单频率计课程设计报告报告(16页珍藏版)》请在装配图网上搜索。

1、.单片机原理与接口技术课程设计报告 频率计目 录1功能分析与设计目标12 频率计的硬件电路设计32.1 控制、计数电路32.2 译码显示电路53频率计的软件设计与调试63.1 软件设计介绍63.2 程序框图83.3 功能实现具体过程8 3.4 测试数据处理,图表及现象描述104讨论115心得与建议126 附录程序及注释13. .1功能分析与设计目标背景:在电子技术中,频率是最根本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得更为重要。为了实现智能化的计数测频,实现一个宽领域、高精度的频率计,一种有效的方法是将单片机用于频率计的设计当中。用单片机来做控制

2、电路的数字频率计测量频率精度高,测量频率的围得到很大的提高。题目要求:用两种方法检测m,T要求显示单位时间的脉冲数或一个脉冲的周期。设计分析:电子计数式的测频方法主要有以下几种:脉冲数定时测频法(M法),脉冲周期测频法(T法),脉冲数倍频测频法(AM法),脉冲数分频测频法(AT法),脉冲平均周期测频法(M/T法),多周期同步测频法。下面是几种方案的具体方法介绍。脉冲数定时测频法(M法):此法是记录在确定时间Tc待测信号的脉冲个数M*,则待测频率为:F*=M*/Tc脉冲周期测频法(T法):此法是在待测信号的一个周期T*,记录标准频率信号变化次数Mo。这种方法测出的频率是:F*=Mo/T*脉冲数倍

3、频测频法(AM法):此法是为克制M法在低频测量时精度不高的缺陷开展起来的。通过A倍频,把待测信号频率放大A倍,以提高测量精度。其待测频率为:F*=M*/ATo脉冲数分频测频法(AT法):此法是为了提高T法高频测量时的精度形成的。由于T法测量时要求待测信号的周期不能太短,所以可通过A分频使待测信号的周期扩大A倍,所测频率为:F*=AMo/T*脉冲平均周期测频法(M/T法):此法是在闸门时间Tc,同时用两个计数器分别记录待测信号的脉冲数M*和标准信号的脉冲数Mo。假设标准信号的频率为Fo,则待测信号频率为:F*=FoM*/Mo多周期同步测频法:是由闸门时间Tc与同步门控时间Td共同控制计数器计数的

4、一种测量方法,待测信号频率与M/T法一样。以上几种方法各有其优缺点:脉冲数定时测频法,时间Tc为准确值,测量的精度主要取决于计数M*的误差。其特点在于:测量方法简单,测量精度与待测信号频率和门控时间有关,当待测信号频率较低时,误差较大。脉冲周期测频法,此法的特点是低频检测时精度高,但当高频检测时误差较大。脉冲数倍频测频法,其特点是待测信号脉冲间隔减小,间隔误差降低;精度比M法高A倍,但控制电路较复杂。脉冲数分频测频法,其特点是高频测量精度比T法高A倍,但控制电路也较复杂。脉冲平均周期测频法,此法在测高频时精度较高,但在测低频信号时精度较低。多周期同步测频法,此法的优点是,闸门时间与被测信号同步

5、,消除了对被测信号计数产生的1个字误差,测量精度大大提高,且测量精度与待测信号的频率无关,到达了在整个测量频段等精度测量。 功能描述:由于水平有限,本次设计采用相对简单的M法和T法两种方法测量简单方波的频率或脉宽由于是输入简单方波信号,省去了被测输入信号通过脉冲形成电路进展放大与整形这个步骤。利用AT89C51单片机的T0、T1的定时计数器功能,来完成对输入的信号进展频率计数或脉宽计时,计数计时的频率结果通过5位八段LED数码管显示器显示出来。设计指标:M法由于T0、T1对外部脉冲信号的最高计数频率为振荡频率的1/24,而振荡频率为12MHz,得M法最高计数频率为500KHz,而本设计设定最高

6、计数频率即为500KHz。误差要求尽量小。T法仅设定能测的外部脉宽围为6553620us,以使定时计数器在不产生溢出中断的情况下进展测量。本设计的频率测量误差要求尽量小,实践证明误差控制在1/100围。2频率计的硬件电路设计原理介绍 放大整形电路 控制门电路 计数器电路 译码显示电路待测信号图2-1 数字式频率计原理框图由上图可以看出,待测信号经过放大整形电路后得到一个待测信号的脉冲信号,然后通过计数器计数,可得到需要的频率值,最后送入译码显示电路中显示出来。但是控制局部相对重要,它在整个系统的运行中起至关重要的作用。本设计控制电路和计数器电路以AT89C51为核心,译码显示电路采用单片机静态

7、显示计数来显示,采用5位七段LED数码管显示器。下面分节介绍各局部硬件电路:2.1 控制、计数电路单片机作为控制系统和计数器,是本次设计的最重要的局部,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFalsh Programmable and Erasable Read Only Memory的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性

8、高且价廉的方案。所以本次设计采用AT89C51单片机。89C51单片机, 它提供以下标准特征:4K字节的程序存储器,128字节的RAM,32条I/O线,2个16位定时器/计数器,,一个5中断源两个优先级的中断构造,一个双工的串行口,片上震荡器和时钟电路。其引脚说明如下:引脚说明:VCC:电源电压。GND:接地。P0口:P0口是一组8位漏极开路型双向I/O口,作为输出口用时,每个引脚能驱动8个TTL逻辑门电路。当对0端口写入1时,可以作为高阻抗输入端使用。当P0口访问外部程序存储器或数据存储器时,它还可设定成地址数据总线复用的形式。在这种模式下,P0口具有部上拉电阻。在EPROM编程时,P0口接

9、收指令字节,同时输出指令字节在程序校验时。程序校验时需要外接上拉电阻。P0口:P0口是一带有部上拉电阻的8位双向I/O口。P0口的输出缓冲能承受或输出4个TTL逻辑门电路。当对P0口写1时,它们被部的上拉电阻拉升为高电平,此时可以作为输入端使用。当作为输入端使用时,P0口因为部存在上拉电阻,所以当外部被拉低时会输出一个低电流IIL。P1口:P2是一带有部上拉电阻的8位双向的I/O端口。P1口的输出缓冲能驱动4个TTL逻辑门电路。当向P1口写1时,通过部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为部存在上拉电阻,*个引脚被外部信号拉低时会输出电流IIL。P2口在访问外部程序存储

10、器或16位地址的外部数据存储器例如MOV* DPTR时,P2口送出高8位地址数据。在这种情况下,P2口使用强大的部上拉电阻功能当输出1时。当利用8位地址线访问外部数据存储器时例MOV* R1,P2口输出特殊功能存放器的容。当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。P3口:P3是一带有部上拉电阻的8位双向的I/O端口。P3口的输出缓冲能驱动4个TTL逻辑门电路。当向P3口写1时,通过部上拉电阻把端口拉到高电平,此时可以用作输入口。作为输入口,因为部存在上拉电阻,*个引脚被外部信号拉低时会输出电流IIL。P3口同时具有AT89C51的多种特殊功能,P3.0的第二功能是串行输

11、入口R*D, P3.1的第二功能是串行输出口T*D, P3.2的第二功能是外部中断0,P3.3的第二功能是外部中断1,P3.4的第二功能是定时器T0,P3.5的第二功能是定时器T1,P3.6的第二功能是外部数据存储器写选通/WR,P3.7的第二功能是外部数据存储器读选通/RD。M法主要使用管脚为P3.0、P3.1以及P3.5。其具体使用方法如下:P3.0口与存放器74LS164的A,B端口连接,串行输出待显示的数据。P3.1口接移位存放器74LS164的CLK(第8引脚),输出同步时钟信号。P35口(即T1)输入脉冲信号。T法主要使用管脚为P2.0、P3.0、P3.1以及P3.3。其具体使用方

12、法如下:P2.0口接开关用于控制何时输出显示脉宽时间。P3.0口与存放器74LS164的A,B端口连接,串行输出待显示的数据。P3.1口接移位存放器74LS164的CLK(第8引脚),输出同步时钟信号。P35口(即T1)输入脉冲信号。2.2 译码显示电路显示电路采用静态显示方式。频率测量结果经过译码,通过89C51 的串行口送出。串行口工作于模式0 ,即同步移位存放器方式。这时从89C51 的R*D(P3. 0) 输出数据,送至串入并出移位存放器74164 的数据输入口A 和B ;从T*D( P3. 1) 输出时钟,送至74164 的时钟输入口CP。74164 将串行数据转换成并行数据,进展锁

13、存。74164 输出的8 位并行数据送至8 段L ED ,实现测量数据的显示。使用这种方法主程序可不必扫描显示器,从而单片机可以进展下一次测量。这种方法也便于对显示位数进展扩展。串行输入并行输出 7段LED74LS1643频率计的软件设计与调试3.1 软件设计介绍本设计过程使用到的软件有:WAVE软件模拟器,keil uVision2,protuse。软件设计过程:在keil uVision2中输入所编程序 ,保存为以.c为后缀的文件,新建工程,参加刚保存的文件,编译,调试到程序编译不显示错误。在option for target项中output中选中 creat he* files ,重新编

14、译程序,软件生成以.he*为后缀的文件。 在protuse软件中画出所设计的电路模拟图,加载入前面生成的以. He*为后缀的文件,运行,观察,调试数码管显示的数值,并与设置的输入信号频率作比拟,调试,分析误差产生原因,改良程序与电路图。使用伟福软件编译所设计的c程序,调试到正确无误。并最终通过硬件来验证所设计的频率计是否到达先前设定的设计指标。图示:Keil软件程序设计 Protuse软件模拟 Protuse是数字电路模拟常用的工具,方便易用,如图是工作窗口:3.2 程序框图 T法:M法:开场开场初始化程序且TH1=0,TL1=0初始化程序,初始化数组、中间量延时程序,数码管显示函数延时子程序

15、、数码管显示函数定义外部输入方波到且=1,GATE=1,T1计时 定时计数器T0、T1初始化否=0? 启动T0定时50ms,T1对方波计数否是T0溢出?停顿计数T1停顿计时,数值输出是 数值串行输出静态显示 T1计数值输出,静态显示 完毕完毕注:以上两流程图均只表示出程序设计的简单流程,并且只表示出处理一次测量的过程,屡次测量重复以上步骤即可。具体细节或*些中间变量的赋值和对程序流程的影响详细见程序注释。3.3 功能实现具体过程M法具体过程:T0定时50ms,T1对方波的计数,数值串行输出和静态显示三大局部容,此外还要附加延时程序以使静态显示数值稳定等。具体描述如下: T0 实现50ms定时:

16、采用12 MHz的晶体振荡器的情况下,一秒的定时已超过了定时器可提供的最大定时值。为了实现一秒的定时,采用定时和计数相结合的方法实现。选用定时计数器T0作定时器,工作于方式1产生50 ms的定时,定时完成所得的计数值乘以20即为所测信号频率。 T1计数局部:将定时器计数器的方式存放器TMOD,用软件赋初值51H,即01010001B。这时定时器计数器1采用工作方式1,方式选择位CT设为1,即设T1为16位计数器。定时器计数器O采用工作方式1,CT设为0,即设TO为16位定时器。计算计数初值:设计数初值为m,本设计采用12 MHz的晶振。机器周期=12(1晶振频率),得等式。所以计数初值m=15

17、536。当定时器计数器T1设定为计数方式时,其计数脉冲是来源T1端口的外部事件。当T1端口上出现由1(高电平)到0(低电平)的负跳变脉冲时,计数器则加1计数。计算机是在每个机器周期的S5P2状态时采样T1端口,当前一个机器周期采样为1且后一个机器周期采样为0时,计数器加1计数。计算机需用两个机器周期来识别1次计数,因而最大计数速率为振荡频率的124。在采用12 MHz晶振的情况下,单片机最大计数速度为05 MHz即500 kHz。另外,此处对外部事件计数脉冲的占空比(即脉冲的持续宽度)无特殊要求,但必须保证所给出的高电平在其改变之前至少被采样1次,即至少保持1个完整的机器周期。由此可见,从T1

18、口输入脉冲信号,T1可实现对脉冲个数的计数。 数值串行输出和静态显示此局部用到了单片机的串行输出口P3.0与P3.1.串行口控制存放器SCON设置为0*00,即工作方式0同步移位存放器输入输出方式。串行数据计数值通过R*D输出,而T*D用于输出移位时钟,作为5个74LS164的同步信号,74LS164用于扩展并行输出口,这种方式下,收发的数据为8位,低位在前,五起始位、奇偶校验位及停顿位,波特率固定为振荡频率的1/12。发送过程中,当执行一个数据写入发送缓冲器SBUF的指令时,串行口把SBUF中的8为数据以1/12的波特率从R*DP3.0端输出,发送完毕置中断标志TI=1,传送过程中将8位数据

19、由低位到高位一位一位顺序通过R*D输出,并在T*D脚上输出/12的移位时钟。通过编码09和error(错误)的代号E(即当超出量程显示E),并根据所得计数值的各位数值,向单片机外部依次串行输出各位的编码,通过74LS164的并行输出并且依靠人眼的视觉暂留现象能够在5位7段LED上同时显示各位的数值。具体程序编写,详见本论文附上的程序及程序注释。T法具体过程:由输如方波脉冲信号,T1对方波信号的高电平局部计时,计时结果串行输出和静态显示三大局部,与M法一样,还要附加延时程序以使静态显示数值稳定等。具体描述如下: 由输如方波脉冲信号方波信号通过管脚输入检测,此处该管脚相当于对信号的监测,通过软件方

20、式告之单片机哪段时间输入信号为高电平,哪段时间为低电平。以便控制T1计时的开场和停顿。 T1对方波信号的高电平局部计时通过查询方式,当信号输入管脚为1即高电平时进展计时,设置TMOD值为0*90,即T1为方式1的16位定时器也可设置为计数器,效果一样,且T1受GATE位的影响:因为GATE=1,只有为高电平且由软件使TR1置一时,才能启动定时器工作。正因为如此,测量高电平脉宽显得准确可控。定时器计时完毕则可将数值输出显示。 计时结果串行输出和静态显示此局部容同M法一致,详见M法的功能实现描述。3.4 测试数据处理,图表及现象描述根据设计的程序连接好硬件电路,使用伟福硬件仿真器和实验台进展测量。

21、数据处理:a. 将输入方波的频率由小到大进展变化,并读出静态显示出的测量值与示波器显示的测量值,比拟二者的差异,分析误差随输入信号频率的变化情况及误差来源,提出改良方案。b. 过程中要求对同一频率的输入方波进展多组测量,取平均值f或T(频率或周期)。软硬件连接图如下:M法T法现象描述: M法:示波器显示数值与静态显示的数值十分吻合,误差相当小,一般在110Hz。本测量在低频段的相对测量误差较大。增大T可以提高测量精度,但在低频段仍不能满足要求。 T法:在低频和高频时误差较大,在1KHz到一定围误差很小。理论上T法在低频段精度高。但此次设计中反映的现象却相反。初步分析为计时程序误差太大,不够合理

22、。一个是采用的是查询方式,不易控制计时器何时开场计时和完毕,另外P2.0的按键延时等,误差较大。总体而言的误差分析:(1) 单片机计数速率的限制引起误差。被测信号频率越高,测量误差越大,且所测信号频率不能超过480 kHz。这是因为采用的是12 MHz的晶振,单片机最大计数速度为500 kHz,所以当被测信号越接近500 kHz时,测量结果与实际频率的误差就越大。而当被测信号大于500 kHz时,频率计将测不出信号频率。(2)原理上存在1误差。由于该设计是在计数门限时间一秒的频率信号脉冲数,所以定时开场时的第一个脉冲和定时时间到时的最后一个脉冲信号是否被记录,存在随机性。这种误差对测量频率低的

23、信号影响较大。由于D触发器必须在信号的上升沿才翻转,故T0对信号脉冲个数不存在1误差,而T1计时为信号信号周期的整数倍,则存在对T1计数的1误差,故测量精度与被测频率无关但假设取计时时间大于0.1S(实际最小时间约为0.5S),误差则小于0001;假设对低频信号f测量,则计时时间远大于0.1S,故误差极小但是在高频端分频时,由于软件中断、延时等原因,会导致脉宽的测量误差增大,而频率测量误差较小(保持在0.01)误差改良措施:a. 选用频率较高和稳定性好的晶振。如选24 kHz的晶振可使测量围扩大,稳定性好的晶振可以减小误差。b. 测量频率较高的信号时,可先对信号进展分频,再进展测量。c. 改良

24、T法计时程序,从根本上减小误差。4 讨论本次设计实现了用两种方法对外部未知频率的方波信号的测量。M法测量的设计到达了高围500KHz,在LED管位数足够的情况下,改良程序的显示程序局部即可与高精度110hz一般情况下;T法设计由于局部程序的缺陷并未能实现很好的测量频率的效果,仅能测量一定围的频率。未到达设计目标的原因详见误差分析局部。此次设计还有很大缺乏,尤其是在信号的对象选择上,信号要方波信号。未能对任意未知波形信号进展分析测量。在今后的时间里,我们小组会继续探索单片机设计数字频率计的设计,加上信号预处理电路,改良信号频率的测量方法,提高信号显示的精度,拓展本次设计未能实现的各项频率计应当具

25、备的要求,如可选量程,科学计数显示等等。5心得与建议通过此次设计,我们小组的成员都受到了极大的锻炼,对团队合作的重要性有了深刻认识,虽然我们面对的是一个相对简单的课题,但由于初次进展基于单片机的课题设计,所以在设计过程中,我们遇到了一些困难,也经历了一次又一次的困惑,最初我们尝试着完美化我们的设计,以实现更多的功能和提高可操纵性,却没有从最根本的容一步步做起,没有将核心局部放在首位。正如教师讲的,正确的顺序是先把核心局部做好,就像盖房子一样,先打地基定时计数是我们这次设计的核心,然后再一步一步扩展,完善功能,向上盖房子。生活实际中确实如此,做任何事,没有打好根底,最终就不能有很好的开展。学习也

26、是如此,对于工科的我们数学、物理等就是我们的根底,往往开展的瓶颈就在根底局部。今后,我们小组的成员会吸收此次设计实践收获的珍贵经历,更加努力地,更加坚决地在电子科技上一步一步脚踏实地地学习进步。6 附 录M法#include#define uchar unsigned char#define uint unsigned intuint numl,numh,f;code uchar k11=0*fc,0*60,0*da,0*f2,0*66,0*b6,0*be,0*e0,0*fe,0*f6,0*02,0*9e;void init() /初始化函数 SCON=0*00; /串行同步移位输出TMOD=

27、0*51; /T1计数,T0定时ET0=1; /T0中断允许TH0=(15535)/256;TL0=(15535)%256; /T0定时50ms的初值 TH1=0; TL1=0; IT0=1; /T1计数的初值 TR0=1; TR1=1; /开场计数、定时EA=1; void delay(uint z)uint *,y;for(*=z;*0;*-)for(y=110;y0;y-); /延时函数,delay(200);大约延时200ms.void send(uchar b) /串行输出显示函数局部一SBUF=b;while(!TI); /发送完毕标志TI=0; void display(uint

28、 *) /串行输出显示函数局部二 if(*99999)send(0*00);/0*00表示该位不显示字符send(0*00);send(0*00);send(0*00);send(k11);/程序最大测量频率定为100k,大于此围则显示E,指示error。else if(*9999)send(k*/10000);send(k*%10000/1000);send(k*%10000%1000/100);send(k*%10000%1000%100/10);send(k*%10000%1000%100%10);else if(*999)send(0*00);send(k*/1000);send(k*

29、%1000/100);send(k*%1000%100/10);send(k*%1000%100%10);else if(*99)send(0*00);send(0*00);send(k*/100);send(k*%100/10);send(k*%100%10);else if(*9)send(0*00);send(0*00);send(0*00);send(k*/10);send(k*%10);elsesend(0*00);send(0*00);send(0*00);send(0*00);send(k*%10);void timer_0() interrupt 1 /定时器T0中断 TH0=

30、(15535)/256;TL0=(15535)%256; TR1=0; TR0=0; numh=TH1; numl=TL1; TH1=0; TL1=0;/恢复初始值待下一轮测量,并将结果赋值 f=(numh8)+numl; f=f*20;/20表示中断20次到达1s得到的频率值 display(f); delay(200); TR0=1; TR1=1;void main() init(); /初始化 while(1);/原地踏步,等待T0溢出中断T法#include#define uchar unsigned char#define uint unsigned intsbit I=P33;sb

31、it d=P20;uint numl,numh,f,num=0;code uchar k11=0*fc,0*60,0*da,0*f2,0*66,0*b6,0*be,0*e0,0*fe,0*f6,0*9e;void init() /初始化函数 SCON=0*00;/串行同步移位输出TMOD=0*90;/T1设置为定时,16位TH1=0; TL1=0;/定时初值 TR1=0;/起始时定为关定时void delay(uint z)/延时函数,delay(200);大约延时200ms.uint *,y;for(*=z;*0;*-)for(y=110;y0;y-);void send(uchar b)

32、/串行输出静态显示函数局部一SBUF=b;while(!TI);/发送完毕标志TI=0;void display(uint *)/串行输出静态显示函数局部二if(*65536)/根据THI,TH0共16位,计时围定为65536ussend(0*00);send(0*00);/0*00表示该位不显示字符send(0*00);send(0*00);send(k10);/程序最大测量定时定为65536,大于此围则显示E,指示error。else if(*9999)send(k*/10000);send(k*%10000/1000);send(k*%10000%1000/100);send(k*%10

33、000%1000%100/10);send(k*%10000%1000%100%10);else if(*999)send(0*00);send(k*/1000);send(k*%1000/100);send(k*%1000%100/10);send(k*%1000%100%10);else if(*99)send(0*00);send(0*00);send(k*/100);send(k*%100/10);send(k*%100%10);else if(*9)send(0*00);send(0*00);send(0*00);send(k*/10);send(k*%10);elsesend(0*

34、00);send(0*00);send(0*00);send(0*00);send(k*%10);void main() init();/初始化/*void display_us(uint *) while(1) if(I=0)/ 外部输入为低电平,T1不计时 num=0; TR1=0; if(TH1=0)&(TL1=0) num=0;/非计数局部标志为num=0,不予显示 else numh=TH1; numl=TL1; num=1;/低电平时,把上次计数值输出,并标志为num=1,给予显示 TH1=0; TL1=0;/恢复初值,以备下次计 else TR1=1;/外部输入为高电平,T1输入为高电平那段计时 if(d=0/由p2.0控制是否输出显示 if(num=1)/根据显示与否的标志即是否有num=1,为1则输出f=(numh

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

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

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


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