基于单片机的家用水流量设计毕业论文(20页).doc

上传人:1595****071 文档编号:37051767 上传时间:2022-08-29 格式:DOC 页数:20 大小:225.50KB
返回 下载 相关 举报
基于单片机的家用水流量设计毕业论文(20页).doc_第1页
第1页 / 共20页
基于单片机的家用水流量设计毕业论文(20页).doc_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《基于单片机的家用水流量设计毕业论文(20页).doc》由会员分享,可在线阅读,更多相关《基于单片机的家用水流量设计毕业论文(20页).doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-基于单片机的家用水流量设计毕业论文-第 16 页 基于单片机的家用水流量设计摘要谁是我们每天都要接触的东西,同时水也是非常宝贵的资源,怎么样才能够帮助我们节约、规划我们的用水,在这里我们想到了制作家用水流量仪器,在达到活动大脑的同时也能够为我们的家庭带来切合实际的提高节约意识与用水节约数字化,鉴于当前我国水资源短缺,如何节约环保已经成为各阶层共同应对的问题。本次毕业设计我通过以单片机为主体,出于对多方面的综合考虑,通过对各模块的应用与结合,对水流量的测量进行设计与应用,旨在提高大众节水意识,优化生活质量。 关键词:节约;流量;家用;单片机。目录引言:2方案设计:21、 方案选择2方案一:2方

2、案二:3方案三:52、 方案确定63、 理论分析与方案论证74、总体设计71 温度程序模块72 水流量程序模块83 显示程序模块85、单元电路(或软件模块)设计9(1)时钟电路9(2)复位电路10(3)按键控制电路11(4)水流量测量电路11结束语:12参考文献13引言:当今社会,经济快速发展,人们生活水平普遍提高,对物质生活的需要和精神领域的追求也日趋提高,同时对家居等的舒适度,个性化,智能化,功能多样化等也提出了更高的要求。鉴于当前我国水资源短缺,如何节约环保已经成为各阶层共同应对的问题。本次毕业设计我通过以单片机为主体,出于对多方面的综合考虑,通过对各模块的应用与结合,对水流量的测量进行

3、设计与应用,旨在提高大众节水意识,优化生活质量。我设计的家用水流量可通过液晶屏对温度的实时显示调节用水温度,测量水的流量并换算为价格用于提示用户用水程度。 早期的水表由英国人发明,随后德国,法国,美国,日本等国依次发明或引进先进水表,具体有往复式单活塞式水表,旋转活塞式水表,圆盘式水表,旋翼式水表等。我国的水表使用和生产较晚,直至1879年,李鸿章创建我国第一家水厂,水表进入我国。之后的一百余年我国水表整体落后于西方发达国家。目前我国家用水表多是机械旋翼式水表。其弊端有:水表始动流量大,不流水水表自走,漏损率高,检查和维修周期短,准确率低等。方案设计:1、 方案选择方案一:本方案由流量计,单片

4、机,显示器,温度测量计,报警器等主要器件构成,其工作原理大致为:当打开水龙头时,根据单片机STC89C52的指令、水流量计传感器和数字温度传感器 DS18B20 实时采集水流量状态和水温的数据。当单片机 STC89C52 扫描到水流量计传感器的脉冲数,经过单片机STC89C52处理,计算出所采集的水流量后,通过液晶屏LCD1602 能动态显示当前水流量、水费及水温(当温度超出安全范围时,报警器工作。)硬件框图(图1):程序流程图(图2):该方案特点: (1)液晶显示有水温、水价、水费和当前水流量。水流量的测量由开关控制。 (2)在程序中可以分为 3 个主要模块:水流量模块,温度模块,显示模块。

5、 (3)由于有时自来水水流不够均匀,水流量传感器较小,测量存在局限性。方案二: 将滑动变阻器固定在密度较大的不锈钢网上,垂直于水流方向放置(与管壁无摩擦),将变阻器,恒定电源,安全电阻接入电路,因为不锈钢网的阻碍,水流会对不锈钢网产生力,所以通过水流的速度(因为管道横截面积确定,水流速度反映水的流量)可以转化成对应的电流。将电流转换成相应的信号传入到单片机中,进而将对应的流量和费用传输到液晶显示屏上,将温度计固定在管道,将温度信号转换成电信号输入到单片机,输出对应水的温度。(当水温过高时,温度信号转换成的电信号将进入警戒区域,报警器工作)。硬件框图:软件流程图:该方案特点:(1)原理较为简单,

6、器件更为耐用。(2)体现了多学科交叉的特点,水流对不锈钢网的冲击与滑动变阻器阻值的对应关系是依据了力学原理,将温度计对水温感应的信号转换为电信号涉及到热学与电学的转换等,本方案将多学科融入工程,通俗易懂。(3)由于不锈钢网安装于管道中,从卫生角度和实用角度来看,并不如第一种方案。譬如,不锈钢具有导热特性,长时间后不锈钢会被腐蚀,影响水质,不易更换维修等。方案三:该流量计工作原理如图所示,当液体流经产品内有涡轮叶片机构,使涡轮旋转,涡轮的转速随流量的变化而变化。由于叶片内置磁体通过下方的一磁线圈回升,叶片周期性地切割电磁铁产生的磁力线,改变线圈的磁通量。根据电磁感应原理在线圈内将感应出脉动的电势

7、信号,此脉动信号的频率与被测流体的流量成正比。该高频脉冲是成正比的转子角速度和流速。脉冲信号随时传送给单片机,再由单片机将信号传给液晶显示器和警报器。硬件框图(如图6):程序流程图(如图7):该方案特点:(1)涡轮流量计是理想的低流量液体监测器件。小型涡轮的反应迅速。(2)涡轮技术是不受系统压力变化的影响。流量传感器的标准电源和输出出规格可以很容 易地改进,以适应当前的控制器。2、 方案确定我设计该组件的目标及要求为:可以在一定非适宜环境下工作,操作方便,具有较强的实用性与可行性。尽量要求测量精确,误差较小。该水流测量装置应具有较强的安全性能,不会对人体与环境造成负面影响。本身不会造成大量的资

8、源消耗或浪费。简约美观,符合家居氛围。各方案的特点: 首先,2美观性较差,3中的涡轮可能存在噪音。 其次,水流较小时2,3可能会停止转动,同时3的涡轮存在惯性,会使所测流量偏大,这些都使2,3方案可靠性降低。 再次,从实用角度来看,方案二中滑动变阻器的阻值随着水温的变化而变化,受环境影响大;从卫生性能上考虑,3方案中安装在水中的涡轮会使水质降低。相比较而言我认为方案一更为合理,具体如下:受温度影响较小,可以适应多种工作环境;美观简约,操作方便;耗费资源少,节约环保,不会对环境和人体造成负面影响;采用电子流量计进行水流测量,相对另外两种物理方案误差较小;经济廉价,实用性强。 综合以上分析,我认为

9、方案一更加适合设计要求,故对方案一进行了具体的设计与实施。3、 理论分析与方案论证 工作原理:当打开水龙头时,根据单片机 STC89C52 的指令、水流量计传感器和数字温度传感器 DS18B20 实时采集水流量状态和水温的数据。当单片机 STC89C52 扫描到水流量计传感器的脉冲数,经过单片机 STC89C52 处理,计算出所采集的水流量后,通过液晶屏LCD1602 能动态显示当前水流量、水费及水温。 各项技术保证: 我设计的家用流量设计大致可分为温度程序模块,水流量程序模块,显示程序模块。其中温度程序模块主要是将温度信号转换成电信号和对温度的处理,如调节数值在合理范围内,是否超出安全范围并

10、报警等。水流量程序模块是对水流量进行数值读取并清零,对水流量数据进行处理等。显示程序模块是计算出流量值,温度及资源分配情况等。4、总体设计1 温度程序模块(1) 温度数据转换程序由温度传感器 DS18B20 采集的温度数据读取后温度的低位和高位分别存在主芯片 SCT89C52 存储器中 。其中依定传感器的设计 ,读出的数据最高位为 0 时温度 为正 ,温度为 1 时,温度是负数 。是以对温度数据处理 ,将温度数据高位和低位整 合在一起,在判断温度的正负即可。(2)温度数据显示前处理程序 将已处理好的温度数据的首先判断它的正负,然后再去运行其他的代码。在这里,程序还设定了温度报警。温度报警本来可

11、以在DS18B20 中对芯片进行设置,但考虑到对芯片的熟悉度不够,容易出错,而在程序中设定比较容易理解,写起来也不会太难。还有实际水的温度不可能超过100度,所以测得100度以上的温度值就会显得多余,在程序中只要设定最高 99.9 度即可。再就是美观上的设定,测得的温度在为个位时,十位为0就会看起来不太美观,只要把十位设定看不见即可。如图 9 所示 :2 水流量程序模块水流量的测量主要依靠对得到的频率处理,由流量计在一段时间下产生高电平的个数决定 ,即 Q(流量 ) =F(频率 ) /R(商家设定值 )所以只要在单片机中设定一定的时间 ,并在该时间之下计算出得到的高电平即可。在本程序中 STC

12、89C52 的两个定时器 T0 为计数状态, T1 为计时状态,这样方可测量流量。 (1)水流量的读取程序 中断程序运行的时间到,就可以读取计数器中的数值,将下数值读出后把计数器赋值为 0 , 等待下一次的取出,然后进入对读出数据的处理程序。(2)水流量数据的处理程序在预定时间到,即已经取出了定时器的数值。我们计算的水流量最大是以每吨来计算并显示的,故一个整形或长整型的数不够,故先把它放在了一个int 变量的存储空间内 ,做水流量的前三位 ,在定义一个长整型的数,把它作为水流量的后六位 ,这样计算起来也比较容易 ,数据也不会起冲突,也是为将要计算水价做准备。设定该水流量的最大计数为250 吨,

13、超过了定值,则会从0 开始。如图 11 所示 : 3 显示程序模块在程序中只是计算出流量值,温度值以及和资源分配的情况,一些字母的显示,都要另加,这样才能尽善尽美的表达出显示出来的意思。在显示程序中加入了温度的测量 ,所以在主程序中不必再测量温度 。在第一页主要显示的是温度 、水费和水 流量的后六位 ,最后以t结尾。第二页主要显示温度、单位水价和水流量的前三位,最后以 kg 结尾。如图 12、图 13 所示:5、单元电路(或软件模块)设计各单元电路:(1)时钟电路 单片机的最小系统有三部分组成,即电源,时钟电路和复位电路。其中单片机的电源引脚与5V 电源连通即可,而时钟电路和复位电路还需接口扩

14、展,这也是单片机的基本电路操作。时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系 。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在 STC89C52单片机内部带有时钟电路,因此,只需要在片外通过XTAL1 和 XTAL2 引脚接入定时控制元件 (晶体振荡器和电容 ),即可构成一个稳定的自激振荡器。在STC89C5 2芯片内部有一个高增益反相放大器,而在芯片的外部 ,XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容。在单片机的 XTAL1 脚和 XTAL2 脚之间并接一个晶体振荡器就构

15、成了内部振荡方式。STC89C52 单片机内部有一个高增益的反相放大器XTAL1为内部反相放大器的输入端,XTAL2 为内部反相放大器的输出端,在其两端接上晶振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信 号的频率就是晶振的固有频率。在实际应用中通常还需要在晶振的两端和地之间各 并上一个小电容。用晶振和电容构成谐振电路。电容大小与晶振频率和工作电压有关。但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精度,本实验板采用 20pF 的电容作为微调电容 。在设计电路板时,晶振、电容等均应尽可能靠近芯片,减小分布电容,以保证振荡器振荡的稳定性。(2)复位电路复位是单片机的初始

16、化操作,其目的是使CPU 和系统中各部分处于一个确定的状态 ,并从这一状态开始工作 。单片机 的 RST 引脚为复位引脚,振荡电路正常工作后, RST 端加上持续两个机器周期的 高电平后 ,单片机就被复位 。我采用按键开关复位是指通过接通按钮开关,使单片机进入复位状态。本设计中将开关复位与上电复位组合在一起形成组合复位电路,上电复位电路完成上电复位功能,开关复位电路完成人工复位。图 15 中 C7 与 R5 构成了上电复位电路。上电复位后,电源经R5 对 C7 充满电源, C7 等效于开路, RST 端为低电平;单片机正常工作。按开关K 1 后, C7 两端电荷经 R 5 迅速放电, K1 断

17、开后,由 C7、 R5 及电源完成对单片机的复位操作 。 在上述电路中 C7、 R5 按上电复位电路的设计而取值。(3)按键控制电路课题设计之初,要求基本实现的功能有水流量的控制、水价的改变。由于液晶显示屏不能够完全实现其显示,故又增加了换页功能,共三个控制键。 图 16 按键电路(4)水流量测量电路水流量测量电路如图28,图27为模块设计应用的流量计。本次设计中最重要的是水流量的测量,通过水流量传感器的数据采集,根据商家的水流量传感器的参数可以得出单片机在运算时的数据。水流量传感器参数:环境温度:-1055 流量计算在流量为:0.20.4L/Min 时 1L=2100次;0.50.8L/Mi

18、n时, 1L=228 0次; 0.91.2L/Min 时 ,1L=2350 次;1.22.5L/Min 时,1L=2460 次;(脉冲次数在流量变化时有一定程度的变动)接线方法 白线:信号输出;黑线:电源负 测量精度: 5%(在流量稳定的系统,精度可达 2%)工作电压: DC024V工作压力: 100PSI ( 7kg/cm)耐湿性能:在环境湿度为 90% 以下时性能保持稳定寿命测试:本产品用进口干簧管作感应元件,在负荷小于 24V 1mA 前提下 ,开关寿命大于3亿次。 图17 图18结束语:本文是在老师的精心指导和严格要求下完成的,#老师以其严谨求实的治学态度、高度的敬业精神、兢兢业业、孜

19、孜以求的工作作风和大胆创新的进取精神对我产生重要影响。同时,还特别感谢#各位同学对我的无私帮助,使我得以顺利完成论文。通过这次设计,使我获得了丰富的理论知识,极大地提高了实践能力。单片机领域这对我今后进一步学习计算机方面的知识有极大的帮助。在此,我忠心感谢#老师以及电子工程系各位老师的指导和支持。在未来的工作和学习中,我将以更好的成绩来回报各位领导和老师。参考文献1 张风言. 电子电路基础(第二版). 北京:高等教育出版社, 1995.2 张风言. 电子电路基础(第一版). 北京:高等教育出版社, 1986.3 康华光.电子技术基础模拟部分M.第五版.北京:高等教育出版社.4 王俊峰, 斐炳南

20、, 李传光. 电子产品的设计与制作工艺M. 北京理工大学出版社,1995.5 王丽敏,邓舒勇. 电路仿真与实验M.第一版.哈尔滨:哈尔滨工程大学出版社,2000.6 谭浩强 C语音程序设计(第二版). 清华大学出版社附录:C语言程序清单#include#define uchar unsigned char #define uint unsigned intsbit DQ=P10; /ds18b20 与单片机连接口sbit RS=P11;sbit RW=P12;sbit EN=P13;sbit p37=P36; /流量正常运行接口sbit p36=P37; /温度报警接口sbit p14=P14

21、; /功能按键接口sbit p15=P15;sbit p16=P16;uchar table=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x20; /0-9数字和显示无unsigned long int a;floatf,zong;uinttvalue;ucharn1,n2,n3,n4,n5,n6,n7,n8,n9;uchartflag,d,g,kai,j,j1,j2,b;/* 延时子程序*/void delay (uint z) int x,y;for(x=z;x0;x-) for(y=120;y0;y-) ;/*延时 1us 子程序

22、*/void delay_18B20(unsigned int i)/延时 1 微秒while(i-);/*液晶显示写指令*/void wr_com(unsigned char com) /写指令delay(1);/延时 1msRS=0;/写命令设置RW=0;/并行数据的读写EN=0;/使能为 0P2=com;/输入命令delay(1);/延时 1msEN=1;/使能为 1delay(1);/延时 1msEN=0;/使能为 0/*液晶显示写数据 */void wr_dat(unsigned char dat)/写数据delay(1);/延时 1msRS=1;/写数据设置RW=0;/并行数据的读

23、写EN=0;/使能为 0P2=dat;/输入数据delay(1);/延时 1msEN=1;/使能为 1delay(1);/延时 1msEN=0;/使能为 0/*水流量计算程序与数据转换程序 */void loop ()uintzong1;if(g=0) /判断时间是否到zong=(b/100.0)+zong; /得出总流量的后三位g=1; /将标志为为 1if(zong=1000) /判断总流量后三位是否大于 1000a+; /总流量前六位加 1 zong=0; /后三位清零if(a=1000000) /总流量前六位大于 1 百万a=0; /总流量前六位清零zong1=(int)zong ;

24、/总流量后三位转换为整形 n9=a/100000; /总流量 9 位全部分配 n8=a%100000/10000;n7=a%10000/1000;n6=a%1000/100;n5=a%100/10;n4=a%10;n3=zong1%1000/100;n2=zong1%100/10;n1=zong1%10;/* 水费计算与数据转换 */void shuifei()uchar h1,h2,h3,h4; h4=(j*a)/1000000; /水费显示 h3=(j*a)%1000000/100000; h2=(j*a)%100000/10000; h1=(j*a)%10000/1000; wr_com

25、(0x80+10); /水费显示wr_dat(0x5c); wr_dat(tableh4); wr_dat(tableh3); wr_dat(tableh2);wr_dat(0x2e); /显示小数点 wr_dat(tableh1);/*ds1820 复位子程序*/void ds1820rst()unsigned char x=0;DQ = 1;/DQ 复位delay_18B20(4);/延时DQ = 0;/DQ 拉低delay_18B20(100); /精确延时大于 480usDQ = 1;/拉高delay_18B20(40); /延时/*ds1820 读数据子程序*/uchar ds182

26、0rd() /读数据unsigned char i=0; unsigned char dat=0;for (i=8;i0;i-) /读温度 2 进制 8 次DQ = 0;/给脉冲信号dat=1;/将温度数据转移到 datDQ = 1; /给脉冲信号if(DQ)/数据转换dat|=0x80;delay_18B20(10);return(dat);/*ds1820 写数据子程序*/void ds1820wr(uchar wdata)unsigned char i=0;for (i=8; i0; i -) /写数据 2 进制 8 次DQ = 0;/给脉冲信号DQ = wdata&0x01; /数据传

27、送delay_18B20(10); /延时DQ = 1;/给脉冲信号wdata=1;/数据移位/*ds1820 温度转换程序*/uint read_temp()uchar a,b;ds1820rst(); /ds1820 复位 ds1820wr(0xcc); /跳过读序列号ds1820wr(0x44);/启动温度转换ds1820rst();/ds1820 复位ds1820wr(0xcc);/跳过读序列号ds1820wr(0xbe);/读取温度a=ds1820rd();/将温度数据给 ab=ds1820rd();/将温度数据给 btvalue=b;/将温度数据转移tvalue=8;tvalue=

28、tvalue|a;if(tvalue=4)p37=0; else p37=1;if(tflag=1)p37=0;/负温度显示负号 : -if(t3=0)t3=10; /如果百位为 0 ,不显示 if(t2=0)t2=10;/如果百位为 0 ,十位为 0 也不显示wr_dat(tablet3);/显示百位 wr_com(0x80+3); wr_dat(tablet2);/显示十位wr_dat(tablet1);/显示个位 wr_dat(0x2e); /显示小数点 wr_dat(tablet4);/显示小数位/* 流量程序*/void liuliang()while(d=2)/时间到?d=0;/d

29、 清零b=TH0*256+TL0;/读取频率TH0=0x00;/计数器清零TL0=0x00;g=0;/时间标志位loop();/水流量计算程序与数据转换程序/*第一页显示子程序 */voiddisplay1()wr_com(0x80); /温度显示wr_dat(0x54); /显示 Twr_dat(0x3a); /显示:read_temp(); /读取温度ds1820disp( ); /温度显示wr_dat(0x00); /显示wr_dat(0x43); /显示 Cshuifei();wr_com(0x80+0x40); /水流量(t)显示 wr_dat(0x46);wr_dat(0x4c);

30、 wr_dat(0x4f); wr_dat(0x57); wr_dat(0x3a); wr_dat(0x20); wr_dat(tablen9); wr_dat(tablen8); wr_dat(tablen7);wr_dat(0x2e); /显示小数点 wr_dat(tablen6); wr_dat(tablen5); wr_dat(tablen4);wr_dat(0x20); /显示小数点 wr_dat(0x74);wr_dat(0x20);/*第二页显示子程序 */void display2()wr_com(0x80); /温度显示wr_dat(0x54); /显示 Twr_dat(0x

31、3a); /显示:read_temp(); /读取温度ds1820disp( ); /温度显示wr_dat(0x00); /显示wr_dat(0x43); /显示 Cwr_com(0x80+10); /水价显示 wr_dat(tablej2);wr_dat(0x2e); wr_dat(tablej1);wr_dat(0x5c); wr_dat(0x2f); wr_dat(0x74); wr_dat(0x20);wr_com(0x80+0x40+5);/ 水流量(kg)显示 wr_dat(0x20);wr_dat(0x20); wr_dat(tablen4);wr_dat(0x2e); /显示小

32、数点 wr_dat(tablen3); wr_dat(tablen2); wr_dat(tablen1);wr_dat(0x20); wr_dat(0x6b); wr_dat(0x67);/*控制流量测量的开关程序 */void kaiguan1()if(p14=0)/按键按下?delay(2);if(p14=0) delay(2);p36=p36;/P3.6 取反TR0=TR0;/TR0 取反while(p14=0);/ 按键松开/*界面切换开关程序 */void kaiguan2()if(p15=0)/按键按下?delay(2);if(p15=0) delay(2);kai=kai;/P3

33、.6 取反while(p15=0);/ 按键松开?/*水的单价控制开关程序 */void kaiguan3()if(p16=0)/按键按下?delay(2);if(p16=0) delay(2); j+; /水价加一 if(j40) /水价大于 40 j=0; /水价清零 j2=j/10; /水价分位 j1=j%10;while(p16=0);/ 按键松开?/* 程序初始化*/void lcd_init ()TMOD=0x15;/设定定时器 0 为计数功能,定时器为 1 为定时功能TH1=(65536-50000)/256;/ 定时器 1 赋出值 50msTL1=(65536-50000)%2

34、56;TH0=0x00;/定时器 0 赋初值 0 次TL0=0x00;EN=0;/液晶使能端为 0wr_com(0x38);/液晶初始设置wr_com(0x0c);wr_com(0x06);wr_com(0x01);wr_com(0x40);wr_dat(0x06);/写 CGRAM 写字模wr_dat(0x09);wr_dat(0x09);wr_dat(0x06);wr_dat(0x00);wr_dat(0x00);wr_dat(0x00);wr_dat(0x00);zong=0;/总流量(带小数点)EA=1;/开启总中断ET1=1;/开启定时器 1 中断TR1=1;/开启定时器 1TR0=

35、0;/开启计数器 0p16=1;/p16 为 1p15=1 ;/p15 为 1p14=1;/p14 为 1zong=995;/总流量的后三位赋初值a=199999;/总流量的前六位赋初值j=20;/水价赋初值j2=2;/水价个位赋初值j1=0;/水价小数位赋初值kai=0;/* 主程序*/void main()lcd_init(); /初始化显示 while(1)kaiguan1(); /控制水流量的测量 kaiguan2(); /控制显示界面 liuliang(); /流量测量if(kai=0) /判断界面开关是否按下 display1(); /显示第一页界面elsekaiguan3(); /判断水价开关是否按下 display2(); /显示第二页界面/* 定时器 1 中断*/void time1() interrupt 3TH1=(65536-50000)/256;/ 定时器 1 初值定时 50msTL1=(65536-50000)%256;d+;/20ms 后 d 加 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁