




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微控制器应用及系统设计课程设计报告姓 名 学 号 学院(系) 专 业 标 题 温度控制报警系统 南京理工大学2010 年 5 月目 次1引言3 2 系统总体设计3 2.1 系统组成结构及工作原理3 2.2 系统工作流程3 2.3 系统核心器件选型4 3 系统硬件设计4 3.1 电源模块设计4 3.2 LED显示模块设计4 3.3 键盘输入模块设计5 3.4 温度采集模块设计5 3.5 报警模块设计6 4 系统软件设计64.1 系统软件总体结构及总流程图7 4.2 LED显示模块程序设计9 4.3 键盘输入模块程序设计9 4.4 温度采集模块程序设计10 4.5 报警模块程序设计10 4.6 主模块程序设计10 5 系统调试与结果分析10 5.1系统调试步骤10 5.2 遇到的问题及解决方案12 5.3 实验结果13 6 结论与心得体会13 参考文献13附录1441 引言温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。温度控制失误就可能引起生产安全、产品质量、产品产量等一系列问题。因此对温度的检测的意义就越来越大。温度采集控制系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。使用自动温度控制系统可以对生产环境的温度进行自动控制,保证生产的自动化、智能化能够顺利、安全进行,从而提高企业的生产效率。温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。现在的生活中,所用到的电器,家具设备,包括工业产品等对温度的要求日益增高,灵敏的温度控制报警系统已成为日常生活中必不可少的产品。例如冰箱的温控系统,锅炉等等,无不都用到了这一功能部件。对于此,我们设计了基于MSP430F149单片机的温度控制报警系统,来模拟实现现实中的温度控制系统。此系统具有设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。2 系统总体设计2.1系统组成结构及工作原理该系统主要由5大模块组成,其中包括DS18B20温度传感器,MSP430F149微控制器,LED显示模块,4X4矩阵键盘输入模块,报警模块5大部分组成。由温度传感器负责数据采集,经微处理器转换后由LED显示模块输出,同时由键盘模块负责输入温度报警的上下限。当到达设定的温度限定值时就报警。其组成框图如下所示:2.2 系统工作流程首先设定温度报警的上下限值,然后由温度传感器进行温度数据的采集,当微处理器检测到温度超过设定的范围值时就实行报警,提醒用户做相关操作。2.3 系统核心器件选型MSP430F149单片机,DS18B20温度传感器,6个LED数码显示管,4x4矩阵键盘。3 系统硬件设计3.1 电源模块设计整个系统采用3.3V供电,考虑到硬件系统对电源要求具有稳压功能和波纹小等特点,其使用LT1117芯片,将电压输出为3.3V。其硬件电路原理图如下:3.2 LED显示模块设计考虑到系统的成本,同时由于综合设计的时间限制,我们采用了最简单的LED显示方式,这样的方式能满足该系统的要求,同时也可以减低系统的成本。LED显示器是由8只发光二极管构成的8段数码显示显示器。其中ag用于构成7笔字形,h用于构成小数点。本次设计中采用的是共阳极数码管,当其接低电平时点亮相应LED灯。其硬件原理图如下:其中共有6位,温度显示时显示2位整数,四位小数。其位选端分别与MSP430F149的P6.2P6.7相连,显示端分别与单片机的P4.0P4.7相连。3.3 键盘输入模块设计键盘输入电路主要用于输入数据,从而实现人机交互。该系统的键盘设计是采用扫描方式实现的矩阵键盘。其电路原理图如下:由上图可以看出该矩阵键盘由行线和列线组成,P1.0P1.3为行线,P5.4P5.7为列线。键盘的行线作为键盘的控制输出端,键盘的列线作为键盘的输入端。同时考虑到P1端口具有中断功能,因此键盘的处理程序可以由中断产生。键盘的列线通过上拉电路将两个管脚拉高,这样在没有按键按下的情况下,该两个管脚的电平为高电平,如果有按键按下时,相应的列线管脚为低电平,这时通过设置P1口为中断方式,低电平就出发中断而进入中断服务子程序,从而获得输入的数据。同注意到,键盘的扫描时间是很短的,仅仅几微妙的时间,然而按键的时间一次至少需要几十毫秒,所以只要有键按下的话是都可以被扫描到的,但是按键按下时有一定的时间抖动,一定要加入键盘的抖动处理。3.4 温度采集模块设计本次系统设计采用的温度转换模块采用的是DS18B20温度传感器,其原理图如下:其只有一个端口要接,与单片机的P3.0口相接,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+125 。华氏相当于是-67 F到257华氏度 -10 C至+85 C范围内精度为0.5 CDS18B20的初始化:(1) 先将数据线置高电平“1”。(2) 延时(该时间要求的不是很严格,但是尽可能的短一点)(3) 数据线拉到低电平“0”。(4) 延时750微秒(该时间的时间范围可以从480到960微秒)。(5) 数据线拉到高电平“1”。(6) 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8) 将数据线再次拉高到高电平“1”后结束。DS18B20的写操作:(1) 数据线先置低电平“0”。(2) 延时确定的时间为15微秒。(3) 按从低位到高位的顺序发送字节(一次只发送一位)。(4) 延时时间为45微秒。(5) 将数据线拉到高电平。(6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7) 最后将数据线拉高。DS18B20的读操作:(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”。(4)延时15微秒。(5)将数据线拉高“1”。(6)延时15微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时30微秒。3.5 报警模块设计该部分电路主要是驱动一个蜂鸣器,这样只需要将蜂鸣器的一段接地,另一端与单片机进行相接就可以了,其与单片机的P6.1口相接。其电路原理图如下:同时考虑到可以分级警报,因此将LED灯加进去,从而在报警时也会将相应的LED灯点亮,以显示不同的报警级别。4 系统软件设计4.1 系统软件总体结构及流程图初始化时钟开始初始化各硬件外围模块端口初始化键盘初始化看门狗定时器,1.9ms中断,用于动显初始化timerA,用于延时初始化timerB,用于报警判断使能打开否否TimerB中断?看门狗中断?While()主循环是是Uprin,dwring=?Timer_B ()温度数据比较处理非1,2,3watchdog_timer()动显温度数值1,2或3执行相应报警程序P1_ISR()按键输入程序键盘中断?是否(主程序流程图)开始键盘初始化/看门狗使能关闭,定时器中断使能关闭,全局使能关闭key_Event()按键键值获得程序否key_Flag =1?是key_val=?其他,看门狗中断开,定时器终端开key_val=10下限温度设定程序key_val=11上限温度设定程序(按键中断服务子程序流程图)开始初始化DS18B20否初始化成功?输入转换温度指令,转换温度是杜温度数值,11位数据(DS18B20温度传感流程图)4.2 LED显示模块程序设计本次实验的显示是由LED数码管显示的,而温度传感器返回的是11位的二进制数值,因此如何把这11位二进制数值转换为数码管的10进制数值是这块程序的重点。经过查阅资料,了解到可以逐位进行转换。一共11位数据,7位作为整数部分,4位作为小数部分,每次取出一位,若为第一位,若为1,则其值为0.0625,因此设置相应的数码管显示,再取出第二位,若为1,则其十进制0.125,累加上去,一次类推,最后完成整个温度的数码转换。同时在显示温度时采用的是动显温度,是通过看门狗定时器来实现的,设置看门狗定时器为1.9ms中断,当时间到达时自动进入中断实现移位显示,由于时间间隔短,因此人眼看上去就像是数码管一起显示的一样。4.3 键盘输入模块程序设计键盘的功能为输入数值,此次设计采用的是4x4矩阵键盘,其功能面板如下:其中09为10个数字键;UPSET为上限温度设定选择键,完成上限温度位选功能;DSET为下限温度设定选择键,完成上限温度位选功能;UPS为上限温度设定完成确定键,输入完成后按下;DWS为下限温度输入完成确定键,输入完成后按下。按键输入程序设计时主要是确定输入的键的键值,然后与预先设定的键码表对照,在用一个选择判断语句switch,选择相应键时即执行相应的操作。在确定键值时用的是行列式扫描法,同时考虑到如果不先按位选键,直接按其他键也会进入按键中断服务子程序,因此特别加入了消除此缺陷的语句,使得在按错键时系统也能执行显示温度的操作,使系统运行更可靠,更稳定。其实现方法如下:default: /实现按其他键时不会出现死循环,无法正常显示温度 if(presskey11 = 0) & (presskey10 = 0) IE1 |= WDTIE; /看门狗中断使能开 TBCCTL0 |= CCIE; /定时器中断使能开 break;按键程序的主要思想是首先判断是否按下功能选择键,如果按下,则置相应的功能选择键标志为1,然后再判断是否是在功能选择键标志为1(即先按了功能选择键)的情况下再按了数字键,此时才能进入温度设定程序,否则按键无效,正常显示温度。同时温度设定完后将相应的功能选择键标志位归0。4.4 温度采集模块程序设计温度采集模块主要是运用了温度传感器DS18B20,这款温度传感器具有温度转换功能,能通过指令将电压值转换为当前的温度值,同时还可以多个传感器一起工作,由于本次系统设计只需要一个就行,因此忽略了取产品ID号的过程,在编程时,主要是根据传感器的芯片说明的流程来思考的,通过写入函数Write_18B20()将相应的指令写进去,同时通过读出函数ReadTemp()将相应的温度数值读出来,返回给系统,从而实现温度的转换和显示。4.5 报警模块程序设计本次报警模块的处理相当简单,有两个部件组成,一个是蜂鸣器,通过I/O口上送出数据来驱动蜂鸣器,而LED灯也是只要通过端口送出数据就可以。此模块包括初始化端口和数据产生两个部分,初始化端口部分只要设置相应的端口为输出方向,数据输出只要执行相应的输出操作即可。同时在扫描检测温度情况是用到了TimerB的中断处理,用3ms中断,每过3ms检测一下温度是否在设定的范围内,若不在,则实行相应的报警参数设置,返回后,主程序通过判断报警参数实行相应的报警操作。4.6 主模块程序设计主模块程序的设计很简单,就包括各端口,键盘,还有时钟的初始化操作,然后就一个While()循环,此循环实现的是动显温度值,同时用于判断温度报警参数实现温度报警,其他就当相应的中断产生时转到相应的中断服务子程序中执行相应的操作。5 系统调试与结果分析通过“IAR Embedded Workbench”软件导入C语言程序,下载到实验板上进行相关调试。5.1 系统调试步骤对于此次系统设计,由于涉及到4大外围模块,如果全部一起调试,难度很大,很难发现问题,因此我们调试的步骤也为分模块调试,分别按如下顺序调试:显示模块温度数据采集模块报警模块键盘输入模块。最终再逐个合起来一起调试。显示模块调试:我们首先将程序只实现简单的显示功能,通过预先设定好的6位数组值来实现LED的动显,若最终显示成功,则我们进入下一步调试,即将数据采集模块加进去。这一步调试由于当初实验做过,问题不大,基本上编好程序就出现了预期的结果。温度数据采集模块:我们将温度传感器采集回的11位数据通过转换后,存放在上面显示模块调试时设定的数组里,这样就将两个模块结合了起来初步实现了温度的显示,当实现这一步时,我们内心是无比的喜悦,因为一个简单的温度计已经完成了,接下来我们就是进行报警模块的设计,可以说,到这一步,我们基本上没有遇到什么大的困难,有的就是参数的定义定重了,通过修改,很快就完成了。报警模块:将上面两个模块调试完后,我们很快又将报警模块加了进去,这次出现问题了,由于当时对程序资源的分配不是很清楚,不知道什么是由CPU来处理,什么是由外围模块来处理,两者资源是否占用同一个,因此导致了最终在报警时不能正常显示温度的结果,同时也犯了一个严重的错误,没有考虑到中断服务子程序执行的时间比设定的中断时间长后,整个系统的时序都乱掉了,系统跑得很不稳定,甚至不能正常报警,或者报警后温度就不变了,即使外界恢复到正常温度,可报警器还是在报警,LED也无法正常显示温度。后来经过老师的指点,找到了解决的办法,当初我们用的延时程序是用for循环再减1计数来实现的,后来才知道运用外围模块也可以实现,而且不占用CPU资源,因此我们想到了用定时器来实现延时,我们于是运用了TimerA计时器,通过设置相应的位,来实现了延时功能,从而使蜂鸣器和LED显示灯都能正常的工作,可以按照个人的要求来设置了,而不是单一的乱叫。其延时程序如下:/*函数名称:DelayNus功 能:实现N个微秒的延时参 数:n-延时长度返回值 :无说明 :定时器A的计数时钟是1MHz,CPU主频8MHz 所以通过定时器延时能够得到极为精确的 us级延时*/void DelayNus(uint n) CCR0 = n; TACTL |= MC_1; /增计数到CCR0 while(!(TACTL & BIT0); /判断溢出标志位,等待 TACTL &= MC_1; /停止计数 TACTL &= BIT0; /清除中断标志报警模块调试完成后,就是最后的键盘输入模块了。键盘输入模块:此模块调试是最后的调试,遇到的问题也是相对最多的,一开始加进此模块后按键根本没有反应,由于一开始我们不知道怎么设断点和查看寄存器来调试,我们于是做了一个简单的键盘模块,把键盘输入模块单独提出来调试,只实现按某个键,LED显示相应的键值的功能,结果调出来了,当时是因为我们没有处理好按键的按下与放开的时间间隔问题,导致键盘按下标志Key_flag一直无法置位,因此一直不能进入子程序运行,因此我们加入了一个循环,不过按键按下没有置位,则一直循环等待按键,这样如果出现按下一次没反应,多按几次就行,避免了死循环。最后再把这个模块加入主程序中,又遇到了问题,当初的键值存放错位了,没有按照原来设想的顺序存放,而是都往后挪了一位,后来经老师指点才发现的,改正后,整个系统也便基本调试完了,能实现各个功能了。整体调试:最后,还有调试系统运行的可靠性和稳定性,当时由于时间紧,没有对这一步进行地很详细,后来经过自己的调试,总算把自己能想到的一些可能会出现系统进入死循环,跑飞的原因找到了,并逐个进行了修正,最终使程序得到了完善。5.2 遇到的问题及解决方案本次综合设计主要遇到了如下几个问题:1)一开始在调试报警模块时报警时温度值无法正常显示解决方案:后来经过吴老师指点,是自己没有注意到处理器在同一时间只处理一个进程,如果我用了for循环来实现延时的话,那么处理器就只能处理这个循环来实现,而其他的操作都无法进行,因而导致了温度无法正常显示,最后我们知道在用外围模块时可以不占用系统资源,两个可以同时运行,因此我们想到了用TimerA定时器的中断设置来实现延时的功能。经过实践证明,我们的想法是可行的,同时也解决了遇到的问题。2)中断服务子程序的中断时间比较短,其执行的时间大于此时间时系统时序全乱了解决方案:当初恨不能理解为什么报警模块会一直不能正常报警,老是乱报,后来但不执行程序后,才发现原来原来的报警程序还没执行完,就已经开始新的一个中断服务子程序了,才导致如此结果。后来经吴老师指点,我们了解到,在现实的编程中,一般是不在中断服务子程序里写入很长的程序的,这样会导致很多不好的后果,严重的会导致整个系统时序的错乱,因此,我们将原来在中断服务子程序里实现的报警程序移到了主程序中,而中断服务子程序里实现的只是简单的报警标志置位,这样主程序就可以根据相应的标志位来判断了,从而解决了问题。3)系统该开始启动时就进入死循环这个原因我们分析得知是由于刚开始温度传感器还没来得及感测周围温度,相当于实际的温度值是0,肯定小于原来预定的下限,从而进入死循环,我们的解决方案有两个,一个是在主程序前加一个等待延时程序,第二个就是上面第一个问题介绍的报警时温度还能正常显示,所以此时一开机即使会报一下警,但很快就会恢复正常,后来考虑到不浪费系统资源,我们采用了第二种方案。4)按键不是很精确,抖动处理不好在设置按键输入模块时,有时按下按键没反应,不是怎样的精确,后来单步执行调试后才知道是按键的抖动延时没有处理好,没有做到真正的人性化,因此我们想到了加如一个判断循环语句,如果有键按下但是按键标志没有置位,就等待用户继续按,知道置位为止,虽然也不是人性化,但至少不会引起系统的不稳定,而是使系统运行更可靠。同时当初没有考虑到如果用户不按照规定的按键顺序按键可能会造成系统死机的现象,我们后来加入了如下语句:default: /实现按其他键时不会出现死循环,无法正常显示温度 if(presskey11 = 0) & (presskey10 = 0) IE1 |= WDTIE; /看门狗中断使能开 TBCCTL0 |= CCIE; /定时器中断使能开 break;从而避免的这个问题的出现,即使按错,系统也很快会恢复显示温度的状态。5)在按键设定温度上下限时,没能准确设定温度这个问题应该是最难找的,因为当时我没有会用查看寄存器这一功能来调试程序,所以很难发现其中的问题,后来经吴老师指点后,才发现是由于我的移位多移了一位 ,从而导致整个数组都往后错位了,才会导致温度设定不准确。最终通过把减2改成减1,再加一个判断复位语句解决了。5.3 实验结果最终实验完成了,正常时可以显示温度,同时通过按键可以随时改变输入的温度报警上下限值,进行温度的报警,总共可以显示三级警报。6 结论与心得体会经过本次实验,可以说,内心是非常地兴奋,虽然是一个很简单的系统,但是通过自己的实践,从中发现了很多问题,并通过自己的努力和老师的指导最终解决了,更加激发了我对学习单片机和嵌入式的兴趣,至少说我已经走进这个门槛了,以后的学习也就是多看看书了解其他的一些资料,再加扩展运用就可以不断的提升自己。虽然当初在调试程序时很累,有时都是弄到深夜才睡的,但当自己最终完成时,那种愉悦感是非常的美妙的!从这一次小小的编程实践中,我得到了很多经验,最主要的是我学会了怎么调试程序,如果再让我调试一个程序,应该说我所花的时间肯定比第一次少,有些常见的问题自己已经记住在心里了。经验的积累就是在一次次的实践中得到的,没有实践,就没有经验的积累!同时,对于此温度报警系统,其应用范围相当地广泛,不仅可以用于日常的报警,也可以再加一个控制线路,通过单片机的其他端口来实现相应的控制操作,比如说可以加一电机,当温度超过时可以让电机运作降温,温度低于下限时升温,实现温度的恒温控制。还可以用于灭火机器人,通过温度传感器,当检测到某块地方的温度特别高时,可以判断是否着火,从而也可以驱动相应电机灭火或做其他相应的操作。在现实生活中,这个模块可以推广到很多场合,只要稍微加一点扩展的线路即可。当然,我们做的系统也有很多该完善的地方,比如说温度报警的级别是不是也可以通过用户设置,不一定超过1度就报警,可以通过用户的实际情况通过键盘输入,这样显得更人性化,更方便更实际,但由于当初时间原因,好多想到的功能都没能实现,在以后的学习中,我们会逐一注意加强!参考文献 1胡大可.MSP430系列FLASH型超低功耗16位单片机M.北京:北京航空航天大学出版社,20012沈建华,杨艳琴,翟骁曙. MSP430系列16位超低功耗单片机原理与应用M.北京:清华大学出版社,20043秦龙. 单片机应用系统开发典型实例系列MSP430单片机应用系统开发典型实例M.北京:中国电力出版社,2005附录:(1) DS18B20处理子程序:/*文件名称:* ds18b20.c*程序功能描述:* 温度数据采集转换*输入:* 外部温度变化*输出: 温度数据*编程者: 王卿*/typedef unsigned char uchar;typedef unsigned int uint;#define DQ1 P3OUT |= BIT0#define DQ0 P3OUT &= BIT0/void DelayNus(unsigned int n);unsigned char Init_18B20(void);void Write_18B20(unsigned char wdata);unsigned char Read_18B20(void);void Skip(void);void Convert(void);void Read_SP(void);unsigned int ReadTemp(void);unsigned int Do1Convert(void);/*函数名称:DelayNus功 能:实现N个微秒的延时参 数:n-延时长度返回值 :无说明 :定时器A的计数时钟是1MHz,CPU主频8MHz 所以通过定时器延时能够得到极为精确的 us级延时*/void DelayNus(uint n) CCR0 = n; TACTL |= MC_1; /增计数到CCR0 while(!(TACTL & BIT0); /判断溢出标志位,等待 TACTL &= MC_1; /停止计数 TACTL &= BIT0; /清除中断标志/*函数名称:Init_18B20功 能:对DS18B20进行复位操作参 数:无返回值 :初始化状态标志:1-失败,0-成功*/uchar Init_18B20(void) uchar Error; _DINT(); DQ0; DelayNus(500); DQ1; DelayNus(55); P3DIR &= BIT0; _NOP(); if(P3IN & BIT0) Error = 1; /初始3化失败 P3DIR |= BIT0; else Error = 0; /初始化成功 P3DIR |= BIT0; DQ1; _EINT(); DelayNus(400); return Error;/*函数名称:Write_18B20功 能:向DS18B20写入一个字节的数据参 数:wdata-写入的数据返回值 :无*/void Write_18B20(uchar wdata) uchar i; _DINT(); for(i = 0; i = 1; /右移一位 DelayNus(50); /延时50us DQ1; DelayNus(10); /延时10us _EINT();/*函数名称:Read_18B20功 能:从DS18B20读取一个字节的数据参 数:无返回值 :读出的一个字节数据*/uchar Read_18B20(void) uchar i; uchar temp = 0; _DINT(); for(i = 0;i = 1; DQ0; DelayNus(6); /延时6us DQ1; DelayNus(8); /延时9us P3DIR &= BIT0; _NOP(); if(P3IN & BIT0) temp |= 0x80; DelayNus(45); /延时45us P3DIR |= BIT0; DQ1; DelayNus(10); /延时10us _EINT(); return temp;/*函数名称:Skip功 能:发送跳过读取产品ID号命令参 数:无返回值 :无*/void Skip(void) Write_18B20(0xcc);/*函数名称:Convert功 能:发送温度转换命令参 数:无返回值 :无*/void Convert(void) Write_18B20(0x44);/*函数名称:Read_SP功 能:发送读ScratchPad命令参 数:无返回值 :无*/void Read_SP(void) Write_18B20(0xbe);/*函数名称:ReadTemp功 能:从DS18B20的ScratchPad读取温度转换结果参 数:无返回值 :读取的温度数值*/uint ReadTemp(void) uchar temp_low; uint temp; temp_low = Read_18B20(); /读低位 temp = Read_18B20(); /读高位 temp = (temp 0;i-) DelayNus(60000); /延时800ms以上 do i = Init_18B20(); while(i); Skip(); Read_SP(); return ReadTemp();(2) 键盘处理子程序:/*文件名称:* KEY.cpp*程序功能描述:* 行列式键盘检测*输入:* 用户按键事件*输出: 存放用户输入的键值*编程者: 王晓*/unsigned char key_Pressed, / 是否有键值按下 key_val = 0xff, / 存放键值 key_Flag; / 是否一个按下的按键已经松开 / 即是按键的键值可以读取unsigned char key_Map16= /设置键盘逻辑键值与程序计算键值的映射 0,1,2,3, 4,5,6,7, 8,9,10,11, 12,13,14
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论