基于51单片机电子秤设计

上传人:无*** 文档编号:48878115 上传时间:2022-01-15 格式:DOCX 页数:31 大小:459.64KB
返回 下载 相关 举报
基于51单片机电子秤设计_第1页
第1页 / 共31页
基于51单片机电子秤设计_第2页
第2页 / 共31页
基于51单片机电子秤设计_第3页
第3页 / 共31页
点击查看更多>>
资源描述
基于51单片机电子秤设计摘要电子秤是日常生活中常用的称重设备,广泛应用于超市、大中型商场、物流配送中心。电子秤在结构和原理上取代了以杠杆平衡为原理的传统机械式称量工具。相比传统的机械式称量工具,电子秤具有称量精度高、装机体积小、应用范围广、易于操作使用等优点,在外形布局、工作原理、结构和材料上都是全新的计量衡器。微电子技术的发展为电子秤提出了改进的空间。电子秤向着简单、便宜发展,智能化、精确的电子秤成为了人们的追求。本简易电子秤以常见的AT89C51为核心,以电阻应变片采集应变数据,通过HX711放大并进行AD转换供单片机处理,用LCD1602M示所测量的重量,同时本电子秤系统还提供单价设置进行求价格的计算以及去皮功能,通过一些简单低成本的元器件就完成了一个功能齐全的电子秤的制作,将传统电子秤的成本进行了缩减。关键词:电阻应变片AT89C51HX711电子秤第一章方案与论证一、方案类型(一)方案一通过单片机为主控芯片,用应变片采集应变数据,通过专用仪表放大器INA128对采集到的信号进行放大,在配上模数转换芯片对放大了的模拟信号转化为数字信号,传入单片机中进行数据处理,找出函数关系并转化关系。通过数字信号转化为重量值显示在LDC1602L1,同时通过键盘进行数据输入,输入单价、去皮等功能。通过蜂鸣器和二极管实现超额报警功/:(二)方案二以单片机为主控芯片,应变片采集应变数据,将放大和模数转换用HX711芯片来同时进行实现,将模拟量传入主控芯片单片机中进行数据转换,通过函数关系转换为重量显示到LED上或者LCD1602L1,同时通过键盘按键进行数据输入,输入单价、去皮等功能,并通过蜂鸣器进行数据处理。(三)方案三运用PLC作为主控制器,PLC运用广泛,它具有接线简单,通用性好,编程简单,使用方便,可连接为控制网络系统,易于安装,便于维护等优点。二、方案论证与选定运用51单片机作为主控芯片,AT89C51是一种高效微控制器。它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。但方案一中,放大和AD转换模块为独立模块,它们的独立设计费事费力且还会存在误差较大的情况。相比于方案一,方案二一HX711作为放大和AD转换芯片,简化了电路结构。HX711是一款专为高精度电子秤设计的24位AD转换器芯片。与同类型其他芯片相比,该芯片集成了包括文雅电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。精度方面很好的满足了题目中的要求,相比于方案一,方案二根据可行性。方案三采用PLC作为主控芯片,但其价格昂贵,违背了我们制作电子秤的简单、便捷、便宜的原则,所以我们并没考虑选用PLC作为主控芯片。综合考虑后,我们决定选择方案二来进行本简易电子秤系统的设计与制作。通过精度、价格、简单程度出发考虑,方案二是最合适的。第二章设计方案设计思路放大电路A熊换超额报警图2-1总体思路图电阻应变片HX711按键输入去皮AT89C51LCD160湿示图2-2具体思路二、各部分设计(一)传感器部分设计传感器应题目要求选用电阻应变片,是用于测量应变的元件。它能将机械构件上应变的变化转换为电阻变化。为了减少测量误差,本简易电子秤系统采用全桥差动形式,全桥差动测量电路不仅没有非线性测量误差,且电压灵敏度是单臂电阻应变片工作时的四倍,运用全桥差动1使得本电子秤系统更加稳定和可靠。图2-3全桥差动电路(二)主控芯片主控芯片是电子秤的核心部分,它能接受转换后的传感器信号,同时也能扫描接受到键盘的输入信号,计算价格后控制显示器的输出,能够实现去皮功能,当超过称重量量程时还要控制报警装置报警。本简易电子秤选用AT89C51作为主控芯片,AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS8a微处理器,彳&称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMELS密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPUffl闪速存储器组合在单个芯片中,ATMEL勺AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。51单片机的操作简单,功能强大,价格便宜。运用51单片机作为主控芯片可以减少成本,而且制作简便,能够实现本系统的所有功能,是一个不错的选择。(三)放大与AD转换模块在系统总体设计时,我们考虑到了将放大与AD转换作为单独的模块进行设计,但是思考后发现这其中还有更好的选择。HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。同时HX711还自带放大功能,可选增益为64和128两种。运用HX711保证了题目要求的高精度,可实现精度误差控制在01g以内,保证了我们完成题目的要求。(四)键盘方案针对题目要求,需要我们输入单间进行计算,单价包含0-9十个数字,数字键占用十个,确定和消除占用两个,去皮占用一个,复位占用一个。去皮键、复位键、清除键单独用一个IO口引出;将十个数字键、确定键、计算总价键十二个键制成3x4的矩阵键盘2。通过设计成矩阵键盘的模式而减少单片机IO口的占用,为其他功能腾出空间。图2-43x4矩阵键盘第三章电路设计一、单片机最小系统电路AT89C51是片内有ROM/EPROM单片机,其最小系统简单、可靠,仅由时钟电路、复位电路、电源电路构成。(一)时钟电路AT89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。AT89C51单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHZ到12MHE间选择。电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,可在20pF到100pF之间取值。所以本设计中,振荡晶体选择12MHz电容选择22pF。(二)复位电路AT89C51的复位电路是由外部的复位电路来实现的。只需给复位引脚RST加上大于2个机器周期的高电平就可使其复位。复位电路通常采用上电自动复位和按键复位两种方式。本设计就是用的按键手动复位。其中电平复位是通过RS制经电阻与电源Vcc接通而实现的。(三)电源电路AT89C51的电源脚分别为20脚Vss和40脚Vcc。这两个脚分别接地和+5V直流电源,31脚EA为内外存储器的控制端,接+5V允许访问外部存储器。图3-1晶振电路和复位电路二、AD转换电路HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点、降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU5片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为士20mV£±40mV通道B则为固定的64增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接部件。上电自动复位功能简化了开机的初始化过程。图3-2HX711模块电路三、LCD1602M示电路本设计采用的是LCD1602M示,LCD1602夜晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。1602LC皿指显示白内容为16X2,即可以显示两行,每行16个字符液晶模块。图 3-3 LCD1602 电路四、总设计电路i 3 J 4 -+ a*- 4 "un加?!M>l»i7LM»l" >> 1- IJ .1 J 1 »13 J.4id - 一);Jink, - XM>1向 nme, mHTSM总nMKE图3-4系统总电路第四章测试方法与测试结果一、测试方法由于本系统是一个简易电子秤系统,所以最好的测量方法就是通过测量标准整码的质量来比对本电子秤系统的测量显示值。以测量结果显示值减去整码质量再除以整码质量得出误差百分比,同时也得出精确程度。(一)键盘测量与LCD1602M量键盘与LCD1602的测量我们放在一起进行,编写按键与LCD1602M示函数,将对应按键编码成0-9,按下按键通过LCD1602来进行显示所按下键盘的数值,通过这种方法我们同时测量了键盘与LCD1602勺功能,保证了电路焊接的正确性。(二)模数转换对应数值测量将HX711连接到电路中,通过LCD160怵显示转换后的数值信号,依次将10g、20g、30g、40g到500g的整码放到秤盘上,依次方4处LCD1602的显示数值,将这五十组数据放入到Excel表格中,通过Excel绘制线性图形。通过线性图形拟合出线性函数关系。(三)测量质量检测分别用10g、20g、50g、100g、200g、500g的整码放到本简易电子系统的秤盘上,比对测量显示值,求出误差百分比和测量精度。除此之外,我们还用一个10克、两个2克整码组成一个五十克整码;一个10克整码、两个20克整码和一个50克整码组成一个100克方法等组合放在秤盘中心进行测量,以此来确定本简易电子秤系统的精确度。二、测量结果(一)AD转换后数值信号值与整码质量的对应关系表4-1AD值与祛码质量(g)的对应关系AD值9174908890038919883387498663857784948408重且里0102030405060708090AD值8326823981538069798378987814772576417553重且里100110120130140150160170180190A747738730721713704696687679670D值0508061422重且里200210220230240250260270280290A662654645637629620612603595587D值6150483643重且里300310320330340350360370380390A578569561553545537529521513504D值0555510239重400410420430440450460470480490且里通过表中的数据,通过Excel折线图进行拟合,拟合出的结果为数据呈现线性关系,这满足应变片的性质,得出的转换函数为:y=0.1185x+1085.8145。重量线性(重里:图4-1折线图(二)简易电子秤测量结果与标准整码比对关系在确定了函数转换关系之后,电子秤的制作基本快要完成,将函数关系编写到程序中就实现电子秤的制作。将10g-500g依次增长10g的整码放入到秤盘中,比对标准整码值与测量显示值之间的关系发现误差基本控制在1g之内,0-50g期间大致控制在了0.5g的范围内,基本完成了题目所给要求。三、测量结论本简易电子秤系统达到了题目要求,拥有输入单价求价格的功能,同时还能满足价格的叠加在单片机芯片中计算而不用,输入一个记录一个值那么麻烦。同时本电子称系统也完成了去皮功能,清除,复位功能,甚至还设置了超上限报警装置报警值上限为550g。参考文献.2013.37-381胡向东,李锐,耿道渠等M.传感器与检测技术第2版.北京.机械工业出版社2郭天祥.51单片机C语言教程M.北京.电子工业出版社.2009.86附录一、HX711代码#include"lcd1602.h"#include<intrins.h>#include"hx711.h"#include<reg52.h>sbitADDO=P2A4;sbitADSK=P2A3;/*externunsignedlongReadAD(void);unsignedlongdata;data=ReadAD();*/ulongReadCount(void)ulongCount;uchari;ADSK=0;/使能AD(PD_SCKS彳氐)Count=0;while(ADDO);/AD转换未结束则等待,否则开始读取for(i=0;i<24;i+)ADSK=1;/PD_SCK置高(发送脉冲)Count=Count<<1;/下降沿来时变量Count左移一位,右侧补零ADSK=0;/PD_SCK置低if(ADDO)Count+;ADSK=1;Count=CountA0x800000;/第25个脉冲下降沿来时,转换数据ADSK=0;return(Count);二、键盘代码#include<reg52.h>#include"lcd1602.h#include"key.h"ucharnum,s=5;ucharprice=0;ucharcodetable1="0123456789"str2="Price:"ucharcodestr3="Total:"显示单项称量价格voiddisplay_cost(ucharprice)/ucharw5,i=5;w0=price/10000;w1=price%10000/1000;w2=price%1000/100;w3=price%100/10;w4=price%10;while(i!=10)DisplayOneChar(i,1,wi-5);i+;/*键盘扫描子程序*/voidtemer1()interrupt3voidkeyscan(void)uchartemp;P1=0XFE;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xbe:num=1;s+;break;case0xde:num=2;s+;break;case0xee:num=3;s+;break;/case0x7e:num=4;k='/'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;price=price*10+num;DisplayOneChar(s,1,table1num);P1=0XFd;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xbd:num=4;s+;break;case0xdd:num=5;s+;break;case0xed:num=6;s+;break;/case0x7d:num=8;k='*'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;price=price*10+num;DisplayOneChar(s,1,table1num);P1=0XFb;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xbb:num=7;s+;break;case0xdb:num=8;s+;break;case0xeb:num=9;s+;break;/case0x7b:num=12;k='-'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;DisplayOneChar(s,1,table1num);P1=0XF7;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xb7:num='-'s+;break;case0xd7:num=0;s+;break;case0xe7:num='='s+;break;/case0x77:num=16;k='+'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;if(num=0)price=price*10+num;DisplayOneChar(s,1,table1num);elseif(num='-')s=5;price=0;DisplayListChar(0,1,16,str2);elseDisplayListChar(0,1,16,str3);display_cost(price);三、LCD1602#include<reg51.h>#include<intrins.h>#include"lcd1602.hsbitrs=P2A0;sbitLCM_RW=P2A1;sbitlcden=P2A2;/*延时程序K*1ms,12000mhz*/voiddelay(uintk)uinti,j;for(i=0;i<k;i+)for(j=0;j<100;j+);/*写指令到LCMf函数*/voidWriteCommandLCM(ucharcom)P0=com;rs=0;lcden=0;delay(1);lcden=1;delay(1);lcden=0;/*写数据到LCMF函数*/voidWriteDataLCM(uchardate)P0=date;rs=1;lcden=0;delay(1);lcden=1;delay(1);lcden=0;/*LCM初始化子函数*/voidinitLCM()WriteCommandLCM(0x38);delay(10);WriteCommandLCM(0x0f);delay(10);WriteCommandLCM(0x06);delay(10);WriteCommandLCM(0x01);delay(10);/*显示指定坐标的一个字符子函数*/voidDisplayOneChar(ucharX,ucharY,ucharDData)Y&=0x01;X&=0x0f;if(Y)X|=0x40;/若y为1(显示第二行),地址码加0x40X|=0x80;/指令码为地址码+0x80WriteCommandLCM(X);WriteDataLCM(DData);/*显示指定坐标的一串字符子函数*/voidDisplayListChar(ucharX,ucharY,ucharlength,ucharcode*DData)ucharListLength=0;Y&=0x01;X&=0x0f;while(X<length)DisplayOneChar(X,Y,DDataListLength);ListLength+;X+;四、主函数#include<reg51.h>#include<intrins.h>#include<absacc.h>#include<math.h>#include"lcd1602.h"#include"hx711.h"sbitspeaker=P2A7;sbitqupi=P3A7;sbitqingling=P3A6;intweight;ucharnum,s=5;ulongad_data=0;ulongcost=0,total=0;ulongprice=0;键的按键次数小数点的位数, 和小数点标志最大的点的位数ucharflag_ok=0;/okucharpi=0;ucharflag_dian=0,dian=1;/ucharflag_dian_all=0;uchardian_max=1;/ucharflag_jian=0;ucharcha=0,flag_jia=0,flag_jian;ucharcodestr0="Weight:g"ucharcodestr1="cost:"ucharcodestr2="Price:"ucharcodestr3="Total:"ucharcodetable1="0123456789"voidalarm(void);voidkeyscan(void);/键盘扫描函数voiddisplay_cost(ulongprice)/显示单项称量价格ucharw5,i,j,wei;w0=price/10000;w1=price%10000/1000;w2=price%1000/100;w3=price%100/10;w4=price%10;if(flag_ok=1)wei=5;i=5;/if(flag_dian=1)/j=11;/else/j=10;while(wei!=11)/if(flag_dian=1&&wei=10-dian)if(wei=10-dian)DisplayOneChar(wei,1,'.');elseDisplayOneChar(wei,1,table1wi-5);i+;wei+;elsewei=6;i=6;/if(flag_dian_all=1)/j=12;/else/j=11;while(wei!=12)/if(flag_dian_all=1&&wei=11-dian_max)if(wei=11-dian_max)DisplayOneChar(wei,1,'.');elseDisplayOneChar(wei,1,table1wi-6);i+;wei+;voidad_change(ulongprice)ucharw5,i;ucharge,bai,shi,qian;intaver=0;doublez=0;w0=price/10000000;w1=price%10000000/1000000;w2=price%1000000/100000;w3=price%100000/10000;w4=price%10000/1000;/DisplayOneChar(0,1,table1w0);/DisplayOneChar(1,1,table1w1);/DisplayOneChar(2,1,table1w2);/DisplayOneChar(3,1,table1w3);/DisplayOneChar(4,1,table1w4);for(i=0;i<5;i+)z=z*10+wi;/weight=(1093.8-0.1196*z)*10.0;/初始/aver+=weight;第二次第三次weight=(1085.8-0.1185*z)*10.0;/aver+=weight;weight=(1082.6-0.1182*z)*10.0;/aver+=weight;/*if(z>8700)第三次,分段*/weight=(1079.6-0.1177*z)*10.0;elseif(z>8290)weight=(1087.5-0.1186*z)*10.0;elseif(z>7850)weight=(1077-0.1174*z)*10.0;elseif(z>7410)weight=(1068.3-0.1163*z)*10.0;elseif(z>7000)weight=(1080.8-0.1179*z)*10.0;elseif(z>6590)weight=(1086.1-0.1187*z)*10.0;elseif(z>6170)weight=(1100.4-0.1209*z)*10.0;elseif(z>5730)weight=(1080.8-0.1177*z)*10.0;elseif(z>5330)weight=(1114.9-0.1238*z)*10.0;elseweight=(1114-0.1236*z)*10.0;aver+=weight;weight=aver/3;/if(weight<0)/cha=-weight;/flag_jia=1;/flag_jian=0;/weight=0;/elseif(weight<20)/cha=weight;/flag_jian=1;/flag_jia=0;/weight=0;/else/if(flag_jia=1)/weight=weight+cha;/if(flag_jian=1)/weight-=cha;/qian=weight/1000;bai=weight%1000/100;shi=weight%100/10;ge=weight%10;DisplayOneChar(7,0,table1qian);DisplayOneChar(8,0,table1bai);DisplayOneChar(9,0,table1shi);DisplayOneChar(10,0,'.');DisplayOneChar(11,0,table1ge);DisplayOneChar(12,0,'g');/*主程序 */voidmain()delay(500);/系统延时500ms启动initLCM();WriteCommandLCM(0x01);/清屏显示DisplayListChar(0,0,16,str0);DisplayListChar(0,1,16,str2);while(1)ad_data=ReadCount();ad_change(ad_data);keyscan();alarm();/*报警值函数*/voidalarm(void)if(weight>5500)则启动报警speaker=0;/elsespeaker=1;/*键盘扫描子程序 */voidtemer1()interrupt3voidkeyscan(void)uchartemp;P1=0XFE;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xbe:num=1;s+;break;case0xde:num=2;s+;break;case0xee:num=3;s+;break;/case0x7e:num=4;k='/'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;if(flag_jian=0)if(flag_dian=1)dian+;price=price*10+num;DisplayOneChar(s,1,table1num);P1=0XFd;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xbd:num=4;s+;break;case0xdd:num=5;s+;break;case0xed:num=6;s+;break;/case0x7d:num=8;k='*'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;if(flag_jian=0)if(flag_dian=1)dian+;price=price*10+num;DisplayOneChar(s,1,table1num);P1=0XFb;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xbb:num=7;s+;break;case0xdb:num=8;s+;break;case0xeb:num=9;s+;break;/case0x7b:num=12;k='-'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;if(flag_jian=0)if(flag_dian=1)dian+;price=price*10+num;DisplayOneChar(s,1,table1num);P1=0XF7;temp=P1;temp=temp&0xf0;if(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;switch(temp)case0xb7:num='.'s+;break;case0xd7:num=0;s+;break;case0xe7:num='='s+;flag_ok+;break;/case0x77:num=16;k='+'s+;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;if(flag_jian=0)if(num=0)if(flag_dian=1)dian+;price=price*10+num;DisplayOneChar(s,1,table1num);elseif(num='.')flag_dian_all=1;flag_dian=1;DisplayOneChar(s,1,'.');if(num='=')flag_jian=1;if(flag_ok=1)cost=price*(weight-pi);if(flag_dian!=1)total+=cost*10;elsetotal+=cost;if(dian>dian_max)dian_max=dian;DisplayListChar(0,1,16,str1);display_cost(cost);elseDisplayListChar(0,1,16,str3);if(flag_dian_all!=1)display_cost(total/10);elsedisplay_cost(total);if(qingling=0)/单次清零,不会清除总的累加金额delay(5);if(qingling=0)s=5;pi=0;dian=1;flag_jian=0;flag_dian=0;flag_ok=0;price=0;cost=0;DisplayListChar(0,1,16,str2);while(!qingling);if(qupi=0)/去皮功能delay(5);if(qupi=0)pi=weight;while(!qupi);
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


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

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


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