




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1.设计任务 2 1.1设计题目21.2设计目的 2 1.3设计任务 22.总体方案设计与方案论证 4 2.1总体方案设计与论证4 2.2温度采集、计算的方案设计与论证53.系统总框图及总体软件设计说明 64.系统资源分配图 75.局部程序设计说明 85.1显示更新子程序 85.2温度采集存储子程序95.3PB口消抖和冻结子程序 115.4 自动巡显和手动切换子程序 125.5转换成温度内码的子程序 135.6温度内码转化为BCD码的子程序155.7键盘扫描和节拍设定的子程序175.8改进后设定温度上下限的子程序195.9改进后实时钟调整的子程序206.系统功能及其操作说明-217.调试记录及调试结果- 218.课程设计总结- 22附录一:源程序清单 23附录二:改进后的程序 381、设计任务1.1设计题目智能双路数字电压表1.1设计目的通过小型微机应用产品的设计与调试过程,运用微机原理及接口技术课程所学的基本知识,在设计中加以应用,进而得到理解、巩固和提高,学习掌握分析与解决实际问题的方法与手段,提高设计、编程与调试的实际动手能力,作为工程技术工作的一次基本训练。1.2设计任务设计一个以单片机为核心的智能双路数字电压表,通过多选一电子模拟开关及A/D转换器巡回采集两路被测电压的数据,进行信号处理及标度变换,以一定的节拍时间交替显示,应有显示的符号标示被测信号源回路,并可通过按钮开关操控冻结或切换形式,可通过键盘进行参数设计,编程并在单片机实验上模拟调试实现。(一) 基本设计要求1、八位LED 7段数码管显示当前检测回路的标识、电压值及其单位或其他界面信息。2、电压测量范围0V4.96V,应有输入被测电压超量程判断及提示。3、应采取数字滤波技术提高测量与显示的稳定性。4、基本显示模式为:两路被测电压值按设定的节拍交替测量与显示,电压值保留二位小数。5、设置一个“冻结”按钮开关以操控进入或退出当前回路的冻结显示方式,冻结显示期间每约0.5S更新一次测量值。6、设置一个“切换”按钮开关以操控强行切换显示下一检测回路数据。7、对开关量输入信号须进行软件消抖动处理。8、键盘设定交替测量显示的节拍范围为0.5S5.0 S,设定分辨率0.1V,设定界面应有醒目的当前修改位提示。9、无操作时间超过30秒钟后自动恢复为基本的运行状态。(二) 功能扩展提示:(选做)1、开机进行接口部件及数码显示器、指示灯、讯响器等自检。2、每隔一定的时间,穿插显示实时钟信息一定的时间,通过键盘设定其间隔参数。3、扩展显示模式二:同时显示两路电压测量数据,每约0.5S更新一次测量值,电压值保留一位小数。设置一个“模式”拨动开关以选择两种显示模式之一。4、超上限告警功能,通过键盘设定电压上限值范围为0V4.96V ,监测到某回路电压超上限时有相应显示内容的闪烁提示、超上限LED指示灯亮、讯响告警及继电器触点输出控制功能。5、实现带有回差的超上限告警功能,通过键盘设定回差值的范围为0 .10V0.50V,设定回差分辨率0.01V。6、添加超下限告警功能。7、添加多挡量程功能,如1.24V量程、0.31V量程。8、其他功能扩展。2.总体方案设计与方案论证2.1总体方案的设计与方案论证.本课程设计的要求是显示外部采集2路电压,按一定的节拍进行巡回显示,还有两路之间来回切换功能,某一路的冻结功能,对两路交替显示的节拍进行设定,无操作返回显示2路电压的功能,每个功能都是根据相应的按键是否操作去执行相应地程序,进而实现相应的功能,所以按键操作的正确判断是程序执行的关键,其总的流程图如下见如下框图。芯片上电、复位第一路电压显示 进入冻结当前界面再次按下PB2按下PB2第二路电压显示显示设定节拍界面图1-系统软件设计的整体思路框图2.2开关量的方案设计与论证方案一、表决法方案二、滚动滤波法对开关量得输入进行滚存的方式,每次调用到开关量子程序时,就把当前的状态值赋给前态,依次把前几次的采集值推为旧态,当这4次的开关量采集的值一致时,才把当前的采集值采集存为新态,在通过新态和旧态的值比较就可以达到消除抖动的效果,这种方法还可以实现按键是上升沿有效还是下降沿有效。2.3显示查表的方案设计与论证方案一 把带小数点的断码也写进断码表,显示个位的时候直接查找有带符号位的断码。 方案二 显示过程中先判断显示是否到达个位,如果到了就把个位的数据的最高位清零 上述的两种方案中,第一种方案比较麻烦,要编写特定的带符号位断码,要判断是否到显示个位时,才能查找带符号位的断码,虽然可以实现显示个位时可以实现显示小数点,但是编写程序时,逻辑较方案二太过于麻烦,所以我选择了方案二 2.4电压采集、计算方法与论证方案一、采用ADC0809对两路的电压的模拟量得采集、转换成数字量, 在经过标度转换使其范围在04.98V,采集进来的数字量采用滚存的方式,存储最新的4次电压值,并用其平均值进行标度转换,在标度转化中,对第一路和第二路的电压分别进行计算,最后把其转换成BCD码送到显示缓冲区等待显示。方案二、采用ADC0809对两路的电压进行采集,转换成数字量,经过标度转换使其量程在04.98,在标度转换中对第一路的电压值和第二路的电压值轮流计算,得到的数据为16进制数,最后把其转换成BCD码送到显示缓冲区等待显示 总上所述,在方案二中,没有采用滚存的方式,这样外界的电压波动很频繁时,会造成显示波动,给人的第一感觉好像是这个系统不够完善,还有在进行标度转换时,对两路的电压轮流进行计算,这样确实能够实现系统空间的节约,但是如果使用切换功能时,此时刚刚还还没有轮到某一路计算及标度转换时,这样显示缓冲区得数据还是前一次的数据,无法显示最新的数据,经过比较,方案一在这两点上比方案二好,但是方案一在转换标度时使用系统的空间比方案二大,所以我选择方案一。 3.系统总框图及总体软件设计说明 初始化包括芯片初始化和工作初始化初始化 自检包括对蜂鸣器、LED、每个数码管的自检系统自检 包括是开关量得消抖动,切换按键、冻结按键,设定节拍按键开关量扫描子程序 第一部分:显示第一路电压的信息界面第二部分:显示第二路电压的信息界面第三部分:显示设定节拍的信息界面拆字子程序 利用键反转法先读出键的状态在进行查表查出键码当键码对设定节拍单元赋值时,对节拍设定的范围进行了限定键盘扫描子程序 包括显示第一路和第二路的电压信息显示更新 利用滚存的方式对第一路和第二路的电压进行采集 A/D采集子程序 包括4次采集值的求和,标度转换,16进制转换成BCD码 AD标度转换子程序 图3-系统软件设计的总流程图并解释4.系统资源分配表+地址用途08H用于自检程序中,用于存放位码09H用于自检程序中,用于存放短码20H拆字子程序中要执行的程序代码21H第二路低字节的22H第二路高字节23H用于A/D滚动采集,存最新的一次的数值24H用于A/D滚动采集,存前一次的数值25H用于A/D滚动采集,存前二次的数值26H用于A/D滚动采集,存前三次的数值27H.0在定时1中,用于判断是否进入冻结状态27H.1用于判断给68H还是给67H赋值27H.2用于判断是否进入设定节拍界面27H.3用于判断给U1计算还是U2计算27H.4用于判断当前的修改位27H.5用于判断是否到250MS27H.6用于判断是给读U1的数据采集还是读U2的数据采集28H用于时钟1,每200uS加1,其取值范围15029H用于时钟1,每10mS加1,其取值范围11002AH用于时钟1,用于计数,每0.1s加130H显示缓冲区,对应实验板的右边第一位31H显示缓冲区,对应实验板的右边第二位32H显示缓冲区,对应实验板的右边第三位33H显示缓冲区,对应实验板的右边第四位34H显示缓冲区,对应实验板的左边第四位35H显示缓冲区,对应实验板的左边第三位36H显示缓冲区,对应实验板的左边第二位37H显示缓冲区,对应实验板的左边边第一位38H用于时钟0,每200uS加1,其取值范围125039H用于时钟0,每10mS加1,其取值范围1203AH用于时钟0,每1S加1,其取值范围1303BH用于时钟0,每250MS加140H用于A/D滚动采集,存最新的一次的数值41H用于A/D滚动采集,存前一次的数值42H用于A/D滚动采集,存前二次的数值43H用于A/D滚动采集,存前三次的数值44H存储第一路的低字节45H存储第一路的高字节48H用于判断是否到达50次,用在A/D的计算中49H第5次对外部开关量得采集4AH第4次对外部开关量得采集4BH第3次对外部开关量得采集4CH第2次对外部开关量得采集4DH第1次对外部开关量得采集4EH外部开关的新态4FH外部开关的旧态50H用于存储第一路采集的个位和十位的电压数字量(BCD码)51H用于存储第一路采集的百位的电压数字量(BCD码)52H用于存储第二路采集的个位和十位的电压数字量(BCD码)53H用于存储第三路采集的百位的电压数字量(BCD码)56H在key中,用于把10进制转换成16进制57H在key中,用于把10进制转换成16进制58H在key中,用于把10进制转换成16进制59H用于A/D转化的计算中,用于缓存,存放低字节乘125后积的低字节5AH用于A/D转化的计算中,用于缓存,存放低字节乘125后积的高字节5BH用于A/D转化的计算中,用于缓存,存放高字节乘125后积的低字节5CH用于A/D转化的计算中,用于缓存,存放高字节乘125后积的高字节5EH用于A/D转化的计算中,用于缓存,其转换结果存某一路的低字节5FH用于A/D转化的计算中,用于缓存,其转换结果存某一路的高字节60H在KEY中,在反转法中61H在KEY中,用于存储键号62H用于存放得到的数值63H用于key中,存放按键的前态64H存储节拍65H在A/D的数字计算部分,用于存储某一路的低字节66H在A/D的数字计算部分,用于存储某一路的高字节67H用于存放U1和U2的交替节拍的小数部分(BCD码)68H用于存放U1和U2的交替节拍的整数部分(BCD码)6FH堆栈初始地址定时器0用于无操作定时30S和节拍界面的亮暗交替定时器1用于节拍定时R0用于显示更新中,其取值范围为30H37H用于标度转换中,其取值范围为40H43H用于标度转换中,其取值范围为23H26HR2用于标度转换中,其取值范围为04R3用于显示更新中,其取值为01、02、04、08、10、20、40、80R5用于1S延时子程序中,其取值范围为0200用于30MS延时子程序中,其取值范围为0200R6用于1S延时子程序中,其取值范围为0200用于30MS延时子程序中,其取值范围为046R7用于1MS延时子程序中,其取值范围为0115用于1S延时子程序中,其取值范围为0200硬件资源配置 名称实现功能PB0切换按键PB1冻结按键PB2进入设定节拍,退出设定节拍K0K9数值09按键P3.2讯鸣器超量程报警P0口数据地址/数据总线复用P1口外部扩展地址总线的高八位P2口片外芯片的线选端P3口WR、RD片外扩展的读写信号5.局部程序设计说明5.1开关量采集子程序开关量消除抖动采用滚动虑波的方式消除抖动,其原理如下 49H 起始地址 每次采集的信号前,先把49H4DH内的 4AH 值一次往后推,再把采集的信号存入49H 4BH 中,再通过比较49H4DH的值,如果这 4CH 四个单元内的值一致,则说明抖动时间已 4DH 过,再把49H的采集的值存入4EH,最 4EH 后通过比较4FH和4EH内的值来判断按 4FH 键是否按下,还可以根据编程逻辑使得按键在下降沿有效还是上升沿有效。源程序清单如下: PB:MOV 4FH,4EH ;把新态存为旧态MOV 4DH,4CH;把前4次的电平值推至4AH-4DHMOV 4CH,4BHMOV 4BH,4AHMOV 4AH,49HMOV DPTR,#0FDFDH;对外部开关量的采集MOVX A,DPTRMOV 49H,AMOV A,4DH;比较近5次输入的电平值CJNE A,4CH,XFR;状态不同则返回CJNE A,4BH,XFRCJNE A,4AH,XFRCJNE A,49H,XFRMOV 4EH,A ;近5次的值一致则存为新态XFR:RET5.2拆字子程序首先判断20H里面存的程序代码,在跳到相应的程序段去执行。其原理图如下:取当前路数 取进程码判断20H中的值 进程代码为1 进程代码为2 进程代码为3显示第二路的电压信息显示第一路的电压信息 显示设定节拍的信息 超过量程 超过量程超量程显示和报警超量程显示和报警 返回拆字子程序流程图源程序代码如下CZ:MOV A,20HCLR CSUBB A,#01H JZ U1;20H等于#01H则进入显示U1MOV A,20H CLR C SUBB A,#02H JZ U2;20H等于#02H则进入显示U2MOV A,20H CLR C SUBB A,#03H JZ U3;20H等于#03H则进入显示U3U1:MOV 30H,#12H;显示UMOV 31H,#13H;把数码管熄灭MOV A,50HANL A,#0FH;屏蔽高位MOV 32H,A;送到显示缓冲区MOV A,50HANL A,#0F0H;屏蔽低位U2:MOV 30H,#12H;显示UMOV 31H,#13H;把数码管熄灭MOV A,52HANL A,#0FH;屏蔽高位MOV 32H,A;送到显示缓冲区MOV A,52HANL A,#0F0H;屏蔽低位.U3:MOV 30H,#13H;右边的三位数码都全灭mov 31H,#13Hmov 32H,#13Hmov 33H,67H;把67H单元中的内容送到显示缓冲区JNB 27H.5,FHJ;判断是否到达250MSJNB 27H.4,FHJ;判断是否对当前位为修改位. RET5.3电压采集子程序两路电压采集是采用轮流采集,滚动储存的方式。通过标志位来判断是对第一路采集还是对第二路采集。其流程图如下:调用A/D字程序 标志位为1 标志位为0读取第二路的信息读取第一路的信息采用滚动存储的方式对采集的数值进行存储标志位取反启动下一路转换采用滚动存储的方式对采集的数值进行存储标志位取反启动下一路转换返回 A/D采集流程图其源程序代码如下ADSUB:JB 27H.6,DIQ;27H.6为0则进行U2采集 MOV 43H,42H;把前3次采集的值往后推 MOV 42H,41H MOV 41H,40H MOV DPTR,#0FBF9H;对AN1进行读取已转换的值 MOVX A,DPTR MOV 40H,A MOV DPTR,#0FBF8H MOVX DPTR,A;启动AN0的A/D转换 CPL 27H.6 SJMP BDZH DIQ:MOV 26H,25H;把前3次采集的值往后推 MOV 25H,24H MOV 24H,23H MOV DPTR,#0FBF8H;对AN0进行读取已转换的值 movx a,DPTR MOV 23H,A MOV DPTR,#0FBF9H MOVX DPTR,A;启动AN1的A/D转换 MOV 23H,A CPL 27H.6RET5.4标度转换子程序这一过程是整个程序的核心所在,主要利用(D1+D2+D3+D4)*125/256这个标度转换公式,这样就可以实现所测的电压量程在04.98V,在四次采集的数值乘以125的原理计算如下,因为计算的结果为3个字节的16进制数,所以除以256就相当于把这三个字节向有移动8位,高位自动补0,当然还要判断最后的那个字节是否要向上进位(0舍1入)。4D的低字节4D的高字节125 存放4D低字节*125 存放4D高字节*125 0舍1入在上述过程中,最后结果取其前面两个字节,把最后一个字节0舍1入后,就相当于除以256,最后得到2个字节的16进制数即为转换标度后的数值。最后再把16进制数转换成BCD码送到显示缓冲单元即可。5.5键盘扫描子程序键盘扫描是利用键反转法读出键盘的电平值,通过查键码表,把电平值转化为K0-K16键分别变为0-16的数字,通过判断寄存器中的键号,就能确定是那一个按键按下了。键反转法的原理:(1)列线输出为全0,随后输入行线电平如有0,则0所在的行就是按键所在行。是否进入设定节拍界面 否 是读出键号 是否超出节拍范围 是 否存入键号 标志位为0 标志位为1存入小数位存入个位返回其源程序如下: KEY:MOV 56H,#0;把56H清0 MOV 63H,60H;把当前状态推为前态 MOV A,#81H;键盘扫描子程序(反转法)ORL 60H,A ;两次输入的列线电平值、行线电平值组合成8位行列码 MOV A,60H CJNE A,#0FFH,XX;判断键盘是否有操作 SJMP YY XX:MOV 3AH,#0;有操作,则将3AH清0YY:MOV A,63H;判断前态和当前状态是否一致 CJNE A,#0FFH,KM;前态没有操作,则进一步判断当前状态 MOV A,60H CJNE A,63H,LOE;当前状态有操作,则给62H赋值 RET;前态和当前状态相同则返回LOE:JNB 27H.2,KM;不在设定界面则返回. RET判断节拍的输入范围见源程序中的KEY子程序。5.6 PB子程序中的功能说明 PB0是实现切换功能,其经过消除抖动后实现第一路和第二路电压信息的切换显示,其源程序如下 MOV A,4EHCJNE A,#0FEH,XDR;判断PB0是否有按下MOV A,4FHCJNE A,#0FFH,XDR;判断前态是否为高电平MOV A,20HCJNE A,#01H,JO;判断此时的20H中的程序代码,为1则赋2,为2则赋1MOV 48H,#01;将48H单元清0,即将0.5S更新一次立即执行MOV 2AH,#0;将2AH单元清0,即将自动切换的计数清0MOV 20H,#02HMOV 3AH,#00H;将无操作30S定时清0SJMP XDR JO:MOV 20H,#01H MOV 48H,#01;将48H单元清0,即将0.5S更新一次立即执行MOV 3AH,#00H;将无操作30S定时清0MOV 2AH,#0;将2AH单元清0,即将自动切换的计数清0PB1是实现冻结显示某一路的电压信息,其源程序如下: MOV A,4EH CJNE A,#0FDH,XER;判断PB1是否有按下 MOV A,4FH CJNE A,#0FFH,XER;判断前太是否为高电平 MOV 48H,#01;将0.5S更行立即更新 CPL 27H.0;标记进入冻结状态 MOV 3AH,#00H;将无操作30S定时清0PB2是实现进入、退出设定节拍,其源程序如下: MOV A,4EH;判断PB2是否有按下 CJNE A,#0FBH,XFR MOV A,4FH CJNE A,#0FFH,XFR;判断前太是否为高电平 CPL 27H.2;标记进入设定状态 MOV 20H,#03H;将程序代码赋给20H MOV 48H,#01;将0.5S更行立即更新 MOV 3AH,#00H;将无操作30S定时清0 JB 27H.2,XFR;退出设定界面是马上显示第一路,即U1 MOV 20H,#015.7 改进后的切换功能在没有改进的源程序,在设定节拍的时候,按下切换按键,也会实现,这样就导致设定标志位为1,如果这时候按下键号,也会实现节拍的修改。所以我的改进就是在切换功能程序的前面加上节拍标志位的判断,这样就不会出现上述现象。修改前的源程序:MOV A,4EHCJNE A,#0FEH,XDR;判断PB0是否有按下MOV A,4FHCJNE A,#0FFH,XDR;判断前态是否为高电平MOV A,20HCJNE A,#01H,JO;判断此时的20H中的程序代码,为1则赋2,为2则赋1MOV 48H,#01;将48H单元清0,即将0.5S更新一次立即执行 .修改后的程序:MOV A,4EHCJNE A,#0FEH,XDR;判断PB0是否有按下MOV A,4FHCJNE A,#0FFH,XDR;判断前态是否为高电平 JB 27H.2,XDR;在设定节拍时,切换功能无效 MOV A,20HCJNE A,#01H,JO;判断此时的20H中的程序代码,为1则赋2,为2则赋1MOV 48H,#01;将48H单元清0,即将0.5S更新一次立即执行 . 5.8标度转换中的完善 在没有改进的源程序中,我是将两路的电压轮流计算,最后送到显示更新缓冲单元,这种方式在正常的第一路和第二路自动切换的情况下,可以满足系统的要求,但是要是在手动切换的情况下,就不能显示实时的数据显示,原因在于第一路和第二路轮流计算的时候,刚刚好在计算第一路的情况下,手动切换,这时还没有计算第二路的信息,只能显示上一次的计算结果,而且在0.5S才进行一次计算的情况下,会出现数码管跳窜现象。即切换后显示的是上次的计算结果,过了0.5S后才能显示最新的数据,无法实现一切换就显示最新的数据。修改后的程序,只要将两路的电压同时计算即可解决上述的问题。修改后的程序如下:袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采石场承包合同范本及资源保护与利用协议
- 招生团队协议书范本
- 民族风情步行街个人店铺租赁与文化传承合同
- 餐饮场地租赁合同范本:包含租赁合同终止及清算条款
- 代理人协议书范本
- 拆除工程临时交通疏导合同范本
- 宠物寄养买卖协议书范本
- 餐饮行业厨师劳务派遣与菜品创新合同
- 资产清算拍卖委托代理合同书范本
- 水利设施拆除工程安全监管协议
- 民俗文化的产业化发展
- 班级读书会《城南旧事》课件
- 胃早癌-经典课件
- 中央广播电视大学毕业生登记表-6
- 垃圾渗滤液应急处理服务投标方案技术标
- 质量管理体系全套文件
- 夜市治安管理应急预案
- 明德云学堂义务教育心得
- 珍爱生命中学生心理健康主题班会
- Cmk设备能力指数分析表
- J17J177 钢丝网架珍珠岩复合保温外墙板建筑构造
评论
0/150
提交评论