




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、总设计思路电子时钟是我们日常生活中最常见的一种钟表,由于它结构简单、功耗低、时间精度比较准、等优点,使得广泛应用,在未来肯定有很大的市场。这次课程设计我的目的就是尝试着做一个电子时钟。1、系统功能显示时间、声音提示、调整时间、设置闹钟的功能。2、功能硬件实现方案时间显示:时间的显示我选用的是六位七段数码管,由于数码管控制简单,而且显示效果好,所以选用它。由于静态显示方式比较占资源,而且电路比较复杂,所以我们选择了动态显示方式,电路简单,效果挺好。时间调整和闹钟设置:是通过外部两个按键触发单片机中断进而控制时间的调整。其中一个按键是模式选择按键通过触发外部中断0来选择功能,功能主要是选择要调时、调分、调秒、闹钟调时、闹钟调分、闹钟调秒六种模式。第二个按键通过触发外部中断1来在相应的模式下对时间的大小做调整。声音提示:通过利用蜂鸣器来作为发生装置,有整点提示功能和闹铃功能。时间发生:利用单片机自带定时器0做定时,通过软件控制来产生时、分、秒。3、 功能软件实现方案由于单片机C语言已经全面普及,它的程序容易理解、简单易写、可移植性好,所以我们选择用单片机C语言来写。4、 开发环境操作系统:window 7旗舰版64位程序编辑编译软件:KEIL Vision V4.60.6.10仿真软件;Proteus Version 7.8时钟复位电路按键调时模块 STC 89C52RC蜂鸣器发声装置6位七段数码管显示时、分、秒 5.、总设计原理框图1、 硬件设计定时和程序执行及控制模块:我们选择的是宏晶科技生产的STC89C52RC芯片,它在很多硬件资源上比8051提升了不少,所以在后期我们可以做更多扩展和维护。时间显示模块::采用六个七段带小数点的共阴极数码管。声音提示模块:采用简单蜂鸣器做声音提示。调时模块:通过两个简单按键来触发中断调时。时钟复位模块:采用11.0592MHz的晶振,提供单片机工作频率。2、 设计原理图3、 芯片解说STC89C52:是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥 有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。 另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬 件复位为止。最高运作频率35MHz,6T/12T可选。74HC573:8数据锁存器。主要用于数码管、按键等等的控制。原理:74LS573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。真值表:输出enableLatchENABLE启用D输出OLHHHLHLLLLXQOHX X ZH=高电平 L=低电平 =不定Z=高阻态QO=建立稳态输入条件前Q的电平数码管显示原理:我们最常用的是七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。如下图。4、 软件设计软件由主函数、显示、计时、调时四个模块组成,下面分别详解。主函数模块流程图: 开始用二极管显示当前操作模式将时分秒通过数码管显示将十进制时分秒转换成六位数码管显示数据 调用定时模块配置外部中断0、1为边沿触发方式,并允许中断配置定时0,并开启 十进制时分秒转化要显示数据流程图: 开始将十进制时位转换成要在两位数码管上显示的数据将十进制分位转换成要在两位数码管上显示的数据将十进制秒位转换成要在两位数码管上显示的数据 结束 进入中断定时模块流程图:定时器0中断流程图:定时器0赋初值onesec_flag置一清除中断标志 Tmp+Tmp15 结束中断时间处理函数: 开始 时加一 分清零 分60 分加一 秒清零 秒60 结束 时清零 时24onesec_flag=1 秒加一调时模块流程图: 进入中断 结束中断Mode = 0 Mode 6模式mode加1 外部中断0: 进入中断 结束中断 秒清零 分清零 秒清零 时清零 分清零 时清零闹钟时加一 调时分加一调时时加一调时秒加一 60 60 60 24 24 60Mode=5Mode=3Mode=2Mode=1Mode=4Mode=6闹钟分加一 闹钟秒加一 外部中断1:将当前时间转换成显示数据显示模块流程图: 结束数码管显示秒的个位数码管不显示 闹钟模式 选中第六 个数码管 选中第五 个数码管 闹钟模式数码管不显示数码管显示秒的十位 选中第四 个数码管 闹钟模式数码管不显示数码管显示分的个位 选中第三 个数码管 闹钟模式数码管不显示数码管显示分的十位数码管显示时的个位数码管不显示 闹钟模式 选中第二 个数码管数码管不显示数码管显示时的十位将闹钟时间转换成显示数据 闹钟模式 选中第一 个数码管 闹钟模式 开始 5、 软硬调试 硬件实物图: 软件程序见附录一,硬件我们用的是星嵌公司生产的实验板,具体的程序下载见附录二。 实验板采用USB和串口转换芯片来下载程序下载软件用的是STC-ISP软件,很方便的实现软硬调试。6、 结论 天才来自于百分之九十九的汗水和百分之一的灵感。这次课程设计让我深刻的理解了项目的整个规划和实现过程。7、 参考资料 单片机原理与应用 清华大学出版社附录一 程序详单Main.h#ifndef _REG52_H_#define _REG52_H_#include#define uchar unsigned char#define uint16 unsigned short int#endif#includedisplay.h#includetiming.h#includechang_time.hMain.c#includeuchar num_time3 = 0, 0, 0; /当前时间存储空间uchar alarm_time3 = 12, 0, 0; /闹钟时间存储uchar run_time3 = 0, 0, 0; / 跑秒时间存储uchar char_time6; /在数码管上显示时间的存储空间uint16 mode = 0; /工作模式, 0:正常时钟或计时 / 1:时钟调时 / 2:时钟调分 / 3:时钟调秒 / 4: 闹钟调时 / 5:闹钟调分 / 6:闹钟调秒int main() timer0_init(); intX_INIT(); while (1) timing(); sort(char_time, num_time); clock_display(); led(); return 0;Display.h#ifndef _REG52_H_#define _REG52_H_#include#endif#define uchar unsigned char#define uint16 unsigned short intextern uchar num_time3; /当前时间存储空间extern uchar char_time6; /在数码管上显示时间的存储空间extern uchar alarm_time3;extern uint16 mode ;void clock_display();void delay(int a);void sort(uchar *cha, uchar *number);void led(); Display.c#includedisplay.hcode uchar string17 = 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71, 0x00;void delay(int a) int b, c; for (b = 0; b a; b+) for(c = 0;c 256; c+);/将十进制的时分秒分解成在数码管上要显示的数据/参数1是转化后存储的位置,参数2是要被转化的数字位置void sort(uchar *cha, uchar *number) /时计算 *cha = string*number / 10; *(cha + 1) = string*number % 10; /分计算 *(cha + 2) = string*(number + 1) / 10; *(cha + 3) = string*(number + 1) % 10; /秒计算 *(cha + 4) = string*(number + 2) / 10; *(cha + 5) = string*(number + 2) % 10;/数码管显示时分秒函数void clock_display() /正常时钟或计数显示 if (4 = mode) | (5 = mode) | (6 = mode) /在闹钟模式下 sort(char_time, alarm_time); else sort(char_time, num_time); /时显示:十位 P2 |= 0x80; /数码管片选 P0 = 0x01; P2 &= 0x80; P2 |= 0x40; if (5 = mode | 6 = mode | 7 = mode) /闹钟调分秒,此时时位不显示 P0 = 0x00; else /不是调时中调整时模式,也不是闹钟调时模式 P0 = char_time0; P2 &= 0x40; delay(1); /时显示:个位 P2 |= 0x80; /数码管片选 P0 = 0x02; P2 &= 0x80; P2 |= 0x40; if (5 = mode | 6 = mode | 7 = mode) /闹钟调分秒,此时时位不显示 P0 = 0x00; else /不是调时中调整时模式,也不是闹钟调时模式 P0 = char_time1 | 0x80; P2 &= 0x40; delay(1); /分显示:十位 P2 |= 0x80; /数码管片选 P0 = 0x04; P2 &= 0x80; P2 |= 0x40; if (4 = mode | 6 = mode | 7 = mode) /闹钟调时秒,此时分位不显示 P0 = 0x00; else /不是调时中调整时模式,也不是闹钟调时模式 P0 = char_time2; P2 &= 0x40; delay(1); /分显示:个位 P2 |= 0x80; /数码管片选 P0 = 0x08; P2 &= 0x80; P2 |= 0x40; if (4 = mode | 6 = mode | 7 = mode) /闹钟调时秒,此时分位不显示 P0 = 0x00; else /不是调时中调整时模式,也不是闹钟调时模式 P0 = char_time3 | 0x80; P2 &= 0x40; delay(1); /秒显示:十位 P2 |= 0x80; /数码管片选 P0 = 0x10; P2 &= 0x80; P2 |= 0x40; if (4 = mode | 5 = mode | 7 = mode) /闹钟调时秒,此时分位不显示 P0 = 0x00; else /不是调时中调整时模式,也不是闹钟调时模式 P0 = char_time4; P2 &= 0x40; delay(1); /秒显示:个位 P2 |= 0x80; /数码管片选 P0 = 0x20; P2 &= 0x80; P2 |= 0x40; if (4 = mode | 5 = mode | 7 = mode) /闹钟调时秒,此时分位不显示 P0 = 0x00; else /不是调时中调整时模式,也不是闹钟调时模式 P0 = char_time5; P2 &= 0x40; delay(1); /二极管显示void led() switch (mode) case 0: P1 = 0xFE; break; case 1: P1 = 0xFD; break; case 2: P1 = 0xFB; break; case 3: P1 = 0xF7; break; case 4: P1 = 0xEF; break; case 5: P1 = 0xDF; break; case 6: P1 = 0xBF; break; default : break; Timing.h#ifndef _REG52_H_#define _REG52_H_#include#define uchar unsigned char#define uint16 unsigned short int#endifextern uchar num_time3; /当前时间存储空间extern uchar alarm_time3;void timer0_init();void timing();Timing.c#includetiming.huchar tmp = 0;uchar onesec_flag = 0; /标记是否到1s/* 配置定时器定时1s* 1/(12/11.0592M) = 921600 = (61440 * 15)* 计数初值: 65536 - 61440 = 4096 = 0x1000*/void timer0_init() /开定时器中断 ET0 = 1; EA = 1; /配置定时0为工作方式1,并设置计数初值 TMOD |= 0x01; TH0 = 0x10; TL0 = 0x00; /开定时器0 TCON |= 0x10;/定时器0中断服务函数void timer0_interrupt() interrupt 1 TF0 = 0; tmp+; if (tmp = 15) /定时满一秒 tmp = 0; onesec_flag = 1; TH0 = 0x10; TL0 = 0x00;/时间处理函数void timing() if (1 = onesec_flag) onesec_flag = 0; num_time2+; if (60 = num_time2) /满一分钟 num_time2 = 0; num_time1+; if (60 = num_time1) /满一小时 num_time1 = 0; num_time0+; if (24 num_time1) if (num_time2 = 15) /定时满一秒 tmp = 0; onesec_flag = 1; TH0 = 0x10; TL0 = 0x00;/时间处理函数void timing() if (1 = onesec_flag) onesec_flag = 0; num_time2+; if (60 = num_time2) /满一分钟 num_time2 = 0; num_time1+; if (60 = num_time1) /满一小时 num_time1 = 0; num_time0+; if (24 num_time1) if (num_time2 0;b-) for(a=20;a0;a-);void DelayMS(unsigned char a) int i; for(;a0;a-) for(i=110;i0;i-);void int0_interrupt() interrupt 0 /按键s1接外部中断0 IE = 0x00; /关掉其他中断 delay10ms(); /DelayMS(10); if(P32 = 0) mode+; if (mode 6) mode = 0; /IE = 0x8F; / delay(10); /while (!P32); if (0 = mode) IE = 0x8F; else IE = 0x85; void int1_interrupt() interrupt 2 /按键s2接外部中断1 IE = 0x00; /关掉其他中断 /delay10ms(); /DelayMS(10); / if(P33 = 0) / switch (mode) case 0: RD = 1; break; case 1: num_time0+; if (24 = num_time0) num_time0 = 0; break; case 2: num_time1+; if (60 = num_time1) num_time1 = 0; break; case 3: num_time2+; if (60 = num_time2) num_time2 = 0; break; case 4: alarm_time0+; if (24 = alarm_time0) alarm_time0 = 0; break; case 5: alarm_time1+; if (60 = alarm_time1) alarm_time1 = 0; break; case 6: alarm_time2+; if (60 = alarm_time2) alarm_time2 = 0; break; default : break; / /while (!P33); IE = 0x8F;void intX_INIT() /设置外部中断触发方式都为下降沿触发 IT0 = 1; IT1 = 1; /开外部中断0,1 EX0 = 1; EX1 = 1; EA = 1; 袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工带薪休假住宿安全保障及事故处理协议
- 2025公务员述选面试题及答案
- 吊篮高空作业人员保险与安装合同
- 可复用构件的环境适应性与可靠性评估-洞察及研究
- 呼啦圈课程汇报
- 2025至2030中国背光LED驱动器行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国双向压蝶阀行业产业运行态势及投资规划深度研究报告
- 农业园艺工培训
- 生物信息化教学课件展示
- 国家电网笔试题目及答案
- 中国成人患者围手术期液体治疗临床实践指南(2025版)解读课件
- 二零二五版公司股权质押协议的模板
- 村级民主理财制度
- 海南时政面试试题及答案
- T-CTSS 90-2024 茶叶碳足迹核算方法
- 肺癌血管介入治疗
- 劳动合同法全文(2024年版)
- 《人教版物理介绍》课件
- 快速精确-细节毕现-Carto3标测策略
- 《矿山应急救援》培训课件2025
- 2025年临床诊疗指南:过敏性紫癜详解
评论
0/150
提交评论