




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学专业课程设计2课程设计说明书摘 要 随着时代的进步和发展,单片机技术已经普及到生活、工作、科研等各个领域,已经成为一种比较成熟的技术。本文将介绍一种基于单片机控制的数字温度计和数字钟,本数字温度计属于多功能温度计,可以任意设置温度的上下限报警功能,当温度不在设定范围内时,可以报警;本数字钟可以同步显示时间日历,日期和时间都可通过按键校整。本系统采用的DS1302可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。本系统显示部分采用LCD液晶显示屏显示,可通过按键切换工作界面,工作方便,外形美观。单片机控制无疑是人们追求的目标之一,它给人带来的方便是不可否定的,其中数字温度计和数字钟就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化、智能化控制的方向发展。本文所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确度高,其输出温度采用数字显示,主要适用于对测温要求比较准确的场所或科研实验室;本文所介绍的数字钟采用了低功耗实时时钟电路DS1302,它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。同时可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。本系统选用低功耗、高性能CMOS 8位微控制器AT89S52作为控制核心,采用温度传感器DS18B20准确测量温度,采用液晶显示屏LCD1604显示实时温度和同步的时间日历。经过反复测试,本系统能准确完成各项功能。2 方案采用温度传感器DS18B20测量温度,采用LCD液晶显示屏显示实时温度和同步的时间日历。本系统可考虑选用一只温度传感器DS18B20,DS18B20不仅可以很容易直接读取被测温度值进行显示,而且温度传感器DS18B20具有独特的一线接口,只需要一条口线就可多点通信,无需外部元件,简化了分布式温度传感应用。本系统采用液晶显示屏LCD1604显示实时温度和同步的时间日历,电路简单,功耗低,显示信息量大,显示质量高,显示界面美观、友好,可以很好的满足设计要求。综上所述,方案一的感温电路和显示电路设计繁杂,能量损耗大;方案二的设计电路简单,显示界面美观、友好,并且软件设计也比较简单,所以本系统选用方案二实现实时温度和同步的时间日历的显示功能。2.2系统总体设计框图数字温度计和数字钟电路的总体设计方框图如图1所示。主 控 制 器LCD显 示温 度 传 感 器单片机复位时钟振荡掉电保护电路 图1 总体设计方框图本系统控制器采用单片机AT89S52,温度传感器采用DS18B20,采用DS1302实现掉电充电功能,用液晶显示屏LCD1604显示实时温度和同步的时间日历。2.2.1 主控制器单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用,系统可用二节电池供电。2.2.2 显示电路显示电路采用液晶显示屏LCD1604进行显示,单片机从P0口传输温度和时间数据驱动LCD1604进行显示。 2.2.3温度传感器温度传感器DS18B20是一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20具有独特的单线接口,仅需一个端口引脚进行通信,并且多个DS18B20可并联在惟一的三线上,实现多点组网功能;用户还可根据需要定义报警设置,十分方便。2.2.3.1 DS18B20内部结构DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图2所示。C64位ROM和单线接口高速缓存存储器控制逻辑辑辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器VddI/O 图2 DS18B20内部结构2.2.3.2 DS18B20测温原理如图4所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图中还隐藏着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器1和温度寄存器中,计数器1和温度寄存器被预置在55所对应的一个基数值。 图4 DS18B20测温原理图减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数。如此循环直到减法计数器2计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。图4中的斜率累加器的输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。2.2.4 掉电保护电路传统的数据记录方式是隔时采样或定时采样,没有具体的时间记录,因此只能记录数据而无法准确记录其出现的时间。低功耗时钟芯片DS1302可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。同时可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。DS1302内部结构图如图5所示。图5 DS1302内部结构图DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.55.5V。采用三线接口与单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源和后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。3系统整体硬件电路3.1 主板电路系统整体硬件电路包括:传感器数据采集电路,温度和时间显示电路,上下限报警调整电路,单片机主板电路等,如图6 所示。图6 单片机主板电路单片机主板电路中有三个独立式按键可以调整温度计的上下限报警设置和数字钟时间校准,蜂鸣器可以在被测温度超出上下限范围内时,发出报警鸣叫声音,同时液晶显示屏LCD1604也将显示报警提示信息,这时可以调整报警上下限,从而测出被测的温度值。单片机主板电路中的按健复位电路是上电复位加手动复位,使用比较方便,在程序跑飞时,可以手动复位,这样就不用在重起单片机电源,就可以实现复位。3.2 DS18B20与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图7 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。3.4 系统整体硬件电路图9 系统整体硬件电路4系统软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。4.1主程序主程序的主要功能是负责温度和时间日历的实时显示,读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图10所示。初始化调用显示子程序1S到?初次上电读温度值并处理显示数据刷新、显示时间日历发温度转换开始命令NYNY图10 主程序流程图4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如上图图11所示。Y发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNY图11 读温度流程图4.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图12所示。发DS18B20复位命令发跳过ROM命令发温度转换开始命令 结束图12 温度转换流程图4.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图13所示。 开始温度零下?温度值取补码置“”标志计算小数位温度BCD值 计算整数位温度BCD值 结束置“+”标志NY图13计算温度流程图4.5 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为0时将符号显示位移入下一位。程序流程图如图14。温度数据移入显示寄存器十位数0?百位数0?十位数显示符号百位数不显示百位数显示数据(不显示符号) 结束NNYY图14显示数据刷新流程5功能测试5.1 温度测试1、用一只精度为0.1的水银温度计作对照标准,把它和温度传感器DS18B20一起放入同一杯冷水中,水银温度计读数为4.0,调节数字温度计电位器,使其显示值也为4.0,然后逐次向烧杯加热水改变水温,记下每次两只温度计的读数1(标准值)与2(测试值),其数据表格如表3所示。表3 温度数据列表1/4.010.216.322.731.843.051.857.465.670.678.02/4.010.516.122.631.342.651.757.265.671.078.1经对对照,两只温度计读数相差最大为0.5,平均相差仅有0.26。总体上讲,符合设计要求。2、通过按键key1键、key2键(增1键)和key3键(减1键)可任意设定温度的上下限报警功能,当所测温度超出设定的上下限温度范围,则液晶显示屏会产生报警提示。5.2 时间测试1、本系统上电后,会以前一次的时间为基础显示同步时间,将此时间与北京时间相比,误差小于1秒钟,数字钟计时准确。2、若按下key1键,年份开始闪动,表示可以通过key2键(增1键)和key3键(减1键)校整年份,若再按下key1键,则选择月份可以校整,日期、时分、秒、周均可通过key1键选定后经key2键(增1键)和key3键(减1键)进行校整。经反复测试,本系统很好的完成了各项功能,完全符合系统设计要求。6总结与体会经过2周紧张的单片机课程设计,终于完成了基于单片机的数字温度计和数字钟的设计。在这2周的课程设计中,有很多的心得体会,有关于单片机方面的,更多的是关于与人合作方面的。在这次课程设计的整个过程中,我做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。在本次设计过程中,我也发现很多的问题,虽然以前学习并设计过简单单片机电路,但这次课程设计仍然让我学到了很多。本次单片机课程设计重点就在于软件算法的设计及液晶显示,不仅需要巧妙的程序算法,而且需要一些单片机编程经验。在编程设计过程中,遇到了许多困难,每当这个时候,我就再仔细检查几遍,如果自己仍然不能解决,就主动去找其他同学帮忙,相互讨论,相互学习,逐步解决遇到的一个个问题,最终完成整个系统的设计。通过对通用89C52单片机机处理器铁电存储器芯片、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我对整个单片机程序的设计,C语言有了一个比较深的理解。从这次的课程设计中,我真正的意识到,在学习过程中理论联系实际的重要性。只有把所学的理论知识用到实际当中,所学的知识才会有价值,学习单机片机更是如此,软件编程能力只有在经常的写与读的过程中才能得到提高,这是我在这次课程设计中的最大收获。 参考文献1全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编.北京:北京理工大学出版社,20072 陈永真.全国大学生电子设计竞赛试题精解选.北京:电子工业出版社,20073 李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,19984 张琳娜,刘武发.传感检测技术及应用.北京:中国计量出版社,19995 李广弟.单片机基础.北京:北京航空航天大学出版社,19946 李建民.单片机在温度控制系统中的应用.江汉大学学报,19967AT89S52 DATA SHEEP Philips Semiconductors ,19998A Technical Tutorial on Digital Signal Synthesis.Analog Device Inc.,19999K.Alexander, Sadiku Fundamentals of electric Circuits,2000附录1实物图2主程序/*/*时钟日历显示温度控制器*/*2009/1/6*/*/#include #include #include #define LCM_RS P2_0 /1602定义引脚#define LCM_RW P2_1#define LCM_E P2_2#define LCM_Data P0#define Busy 0x80 /用于检测LCM状态字中的Busy标识#define uchar unsigned charuchar id,timecount,dipsmodid;bit lmcinit_or_not;bit flag,sflag; /flag是时钟冒号闪烁标志,sflag是温度负号显示标志void Disp_line1(void); /显示屏幕第一行 void Disp_line2(void); /显示屏幕第二行void Disp_line3(void); /显示屏幕第二行void Disp_line4(void); /显示屏幕第二行void id_case1_key();void Dispmod_id_case_key(void);/选择显示模式void Disp_mod0(void);/显示模式0void Disp_mod1(void);/显示模式1/* DS1302 时间显示定义部分*sbit T_CLK=P13;sbit T_IO =P14;sbit T_RST=P15;sbit P3_3=P33;/显示模式键sbit P3_4=P34;/减少键sbit P3_5=P35;/增加键sbit P3_6=P36;/选择键,P04和 P05同时按:初始化sbit P2_0=P20;sbit P2_1=P21;sbit P2_2=P22;sbit ACC0=ACC0;sbit ACC7=ACC7;sbit P1_0=P10;/继电器1sbit P1_1=P11;/继电器2void Set(uchar,uchar); /根据选择调整相应项目void RTInputByte(uchar); /* 输入 1Byte */uchar RTOutputByte(void); /* 输出 1Byte */void W1302(uchar, uchar);/ 向DS1302写入一个字节uchar R1302(uchar); / 从DS1302读出一个字节void Set1302(unsigned char * ); /设置时间 bit sec,min,hour,year,mon,day,weekk; /闪烁标志位/初始化后设置为:04年12月2日星期4 0点0分0秒unsigned char inittime7=0x00,0x00,0x00,0x02,0x12,0x04,0x04;/ 秒 分钟 小时 日 月 年 星期/-18B20温度显示定义-sbit DQ=P37; /DS18B20 接P3.7口typedef unsigned char byte;typedef unsigned int word;Read_Temperature(char,char);void mychar(void);byte ow_reset(void);byte read_byte(void);void write_byte(char val);void adjust_res(char res); /res 分别等于 0x1f, 0x3f, 0x5f 温度读数分辨率分别对应 0.5, 0.25, 0.125 /-温度控制部分-bit tl_flash_flag; /下限闪烁标志bit th_flash_flag; /上限闪烁标志bit tl_flag; /下限越限标志 bit th_flag; /上限越限标志 bit tl_sign,th_sign; /温度零下标志 0:零上,1:零下char tempid;void Disp_Temp(void); /显示上下限温度void Set_TH_Temp(void); /设置温度上限void Set_TL_Temp(void); /设置温度下限signed char tl=20,th=25; /温度预设值void Compare_Temp(signed char l,signed char h);/比较温度void Tl_Al(void); /下限越限报警void Th_Al(void); /上限越限报警3 LCD1604驱动/* LCD1604驱动 *void WriteDataLCM(unsigned char WDLCM);void WriteCommandLCM(unsigned char WCLCM,BuysC);unsigned char ReadStatusLCM(void);void LCMInit(void);void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);void Delay5Ms(void);void Delay400Ms(void);unsigned char code week=Week:;void main(void) Delay400Ms(); /启动等待,等LCM讲入工作状态 LCMInit(); /LCM初始化 Delay5Ms(); /延时片刻(可不要) mychar(); TMOD=0x01; TH0=(65535-50000)/256; TL0=(65535-50000)%256; EA=1; TR0=1; ET0=1; W1302(0x90,0xa5);/打开充电二极管 一个二极管串联一个2K电阻 W1302(0x8e,0x80);/写保护,禁止写操作 adjust_res(0x5f); /调整18B20的分辨率 0x1f:0.5; 0x3f:0.25; 0x5f:0.125 while(1) if (P3_3=0) dipsmodid+; lmcinit_or_not=1; if(dipsmodid2) dipsmodid=0; while(P3_3=0); switch(dipsmodid) case 0: Disp_mod0(); break; case 1: Disp_mod1(); break; /选择显示模式void Dispmod_id_case_key()if (P3_3=0) dipsmodid+; if(dipsmodid1) dipsmodid=0; /显示模式0void Disp_mod0(void)if(lmcinit_or_not=1) LCMInit(); lmcinit_or_not=0; if (P3_4|P3_5)=0) /初始化 Delay5Ms(); if (P3_4|P3_5)=0) Set1302(inittime); /mychar(); /显示自定义字符if (P3_6=0) / 设置和选择项目键 Delay5Ms(); if(P3_6=0)id+;if(id7) id=0; while(P3_6=0); switch(id) case 0: sec=0; Disp_line1(); Disp_line2(); break; case 1:/年 year=1; Disp_line1(); Disp_line2(); id_case1_key(); break; case 2:/月 year=0;mon=1; Disp_line1(); Disp_line2(); id_case1_key(); break; case 3:/日 mon=0;day=1; Disp_line1(); Disp_line2(); id_case1_key(); break; case 4:/星期 day=0;weekk=1; Disp_line1(); Disp_line2(); id_case1_key(); break; case 5:/小时 weekk=0;hour=1; Disp_line1(); Disp_line2(); id_case1_key(); break; case 6:/分钟 hour=0;min=1; Disp_line1(); Disp_line2(); id_case1_key(); break; case 7:/秒 min=0;sec=1; Disp_line1(); Disp_line2(); id_case1_key(); break; /显示模式1void Disp_mod1(void)if(lmcinit_or_not=1) LCMInit(); lmcinit_or_not=0; Read_Temperature(1,0);DisplayOneChar(0,1,T);DisplayOneChar(1,1,L);DisplayOneChar(2,1,:);DisplayOneChar(7,1,T);DisplayOneChar(8,1,H);DisplayOneChar(9,1,:);if(P3_6=0) if(P3_6=0) tempid+; if(tempid2) tempid=0; while(P3_6=0); switch(tempid) case 0: tl_flash_flag=0; th_flash_flag=0; Disp_Temp(); break; case 1: tl_flash_flag=1; th_flash_flag=0; Disp_Temp(); Set_TL_Temp(); break; case 2: tl_flash_flag=0; th_flash_flag=1; Disp_Temp(); Set_TH_Temp(); break; Compare_Temp(tl,th);Tl_Al();Th_Al();/显示上下限温度void Disp_Temp(void)unsigned char tl_gw,tl_sw,tl_bw;/下限温度的个位,十位,百位unsigned char th_gw,th_sw,th_bw;/上限温度的个位,十位,百位tl_sign=tl7;if(tl_sign) tl_bw=(tl-1)/100;/计算百位 tl_sw=(tl-1)-tl_bw*100)/10;/计算十位 tl_gw=(tl-1)-tl_bw*100-tl_sw*10;/计算个位 else tl_bw=(tl)/100; tl_sw=(tl-tl_bw*100)/10; tl_gw=tl-tl_bw*100-tl_sw*10; if(tl_flash_flag=1) if(flag=1) if(tl_sign) DisplayOneChar(3,1,0x2d); DisplayOneChar(4,1,tl_sw+0x30); DisplayOneChar(5,1,tl_gw+0x30); else DisplayOneChar(3,1,tl_bw+0x30); DisplayOneChar(4,1,tl_sw+0x30); /显示下限温度 DisplayOneChar(5,1,tl_gw+0x30); else DisplayOneChar(3,1,0x20); DisplayOneChar(4,1,0x20); /显示下限温度 DisplayOneChar(5,1,0x20); else DisplayOneChar(3,1,tl_bw+0x30); DisplayOneChar(4,1,tl_sw+0x30); /显示下限温度 DisplayOneChar(5,1,tl_gw+0x30); th_sign=th7; if(th_sign) th_bw=(th-1)/100;/计算百位 th_sw=(th-1)-th_bw*100)/10;/计算十位 th_gw=(th-1)-th_bw*100-th_sw*10;/计算个位 else th_bw=(th)/100; th_sw=(th-th_bw*100)/10; th_gw=th-th_bw*100-th_sw*10; if(th_flash_flag=1) if(flag=1) if(th_sign) DisplayOneChar(10,1,0x2d); DisplayOneChar(11,1,th_sw+0x30); /显示下限温度 DisplayOneChar(12,1,th_gw+0x30); else DisplayOneChar(10,1,th_bw+0x30); DisplayOneChar(11,1,th_sw+0x30); /显示下限温度 DisplayOneChar(12,1,th_gw+0x30); 4 DS1302读写程序/*DS1302读写程序*/* 函 数 名:RTInputByte()功 能:实时时钟写入一字节,往DS1302写入1Byte数据 (内部函数)*/void RTInputByte(uchar d) uchar i; ACC = d; for(i=8; i0; i-) T_IO = ACC0; /*相当于汇编中的 RRC */ T_CLK = 1; T_CLK = 0; ACC = ACC 1; /* 函 数 名:RTOutputByte()功 能:实时时钟读取一字节,从DS1302读取1Byte数据 (内部函数)*/uchar RTOutputByte(void) uchar i; for(i=8; i0; i-) ACC = ACC 1; /*相当于汇编中的 RRC */ ACC7 = T_IO; T_CLK = 1; T_CLK = 0; return(ACC); 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学低年级学生良好生活习惯养成与学校心理健康教育创新实践研究论文
- 中国医药级氧化镁行业市场前景预测及投资价值评估分析报告
- 节水措施与管理制度
- 关于房屋贷款保证保险合同纠纷的若干法律问题探讨
- 视频监控升级改造设计方案
- 建筑施工特种作业-建筑焊工真题库-7
- 入学面试常识题目及答案
- 2023-2024学年陕西省汉中市高二下学期7月期末数学试题(解析版)
- 2024-2025学年山西省太原市高二上学期期末考试语文试题(解析版)
- 2025年秋三年级上册语文同步教案 习作:写日记
- 基于TMS320VC5402的电能质量监测系统设计
- 《论语》十二章对比阅读复习精讲精练含答案
- 成都市青羊区2023年数学四下期末教学质量检测试题含解析
- 电子物证专业考试复习题库(含答案)
- 国家开放大学02150-计算机网络(本)期末复习题及参考答案
- 广西2022年广西农村信用社(农村商业银行农村合作银行)管理人员及业务骨干招聘考试参考题库含答案详解
- 国开2023年春《理工英语3》机考网考期末复习资料参考答案
- 重庆.住宅物业单位服务等级标准
- 全国工会财务知识竞赛题库附答案
- CIE-15-2004-Colorimetry原版完整文件
- 四年级下聪明小屋
评论
0/150
提交评论