




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1、设计课题介绍 2 1.1 设计课题任务 2 1.2 功能要求说明 2 1.3总体方案介绍及工作原理说明 22、硬件系统的设计 52.1 硬件系统模块功能介绍 52.2 原理图、PCB图、元器件布局图 82.3 元器件清单 83、软件系统的设计 93.1 使用单片机资源的情况 93.2 软件系统各模块功能简要介绍 93.3 软件系统程序流程框图133.4 软件系统程序清单154、总结244.1 设计结论及使用说明244.2 仿真结果254.3 误差分析254.4 设计体会27考文献 27致谢 28附录 291、设计课题介绍1.1 设计课题任务学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。1.2 功能要求说明设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3总体方案介绍及工作原理说明1.3.1 AT89S52芯片介绍 VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 图1.3-1 AT89S52单片机P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。1.3.2方案选择本方案完全用软件实现数字时钟。在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清零。K0键为启动/调整键,K1键为是调节,K2键为分调节,K3键为秒调节。该方案具有硬件电路简单的特点。显示器采用动态显示,一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。保证扫描速度足够快,利用人的视觉暂留功能可以看到整个显示,字符才不闪烁。节省了I/O口,降低了能耗。2、硬件系统的设计2.1 硬件系统模块功能介绍2.1.1 单片机芯片的选择通过对多种单片机性能的分析,最终认为89S51是最理想的电子时钟开发芯片。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。2.1.2 系统方案设计利用单片机(AT89S52)制作简易电子时钟,由八个LED数码管分别显示小时十位、小时个位、横杠、分钟十位、分钟个位、横杠、秒钟十位、秒钟个位。6个PNP管(9012)分别控制六个数码管的亮灭,一个按键用于时间调整。显示部分控制部分单片机(AT89S52)按键S2复位电路电源部分直流电源5V8个七段共阴极数码管显示秒,分钟及小时位位选部分8个PNP图2.1.1 系统设计总图2.1.2 时钟电路单片机本身是一个复杂的同步时序系统,为了保证同步工作方式的思想,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。本设计采用单片机片内时钟电路结合外部晶振、电容产生。图 所示为时钟电路原理图,在at89s52芯片内部有一个高增益方相刚大器,其输入端为芯片引脚XTAL1,输出端魏应交XTAL2。而在内部,XTAL1和XTAL2之间跨接晶体振荡器。时钟电路产生的震荡脉冲为单片机提供时钟脉冲信号 图2.1.2 时钟电路2.1.3 键盘电路 图 所示为键盘原理图,本系统采用的是独立键盘结构,每个按键单独占用一根I/O口线,每个按键的工作不会影响其它I/O口线的状态。他软件是采用查询结构,首先逐位查询每根I/O口线的输入状态,如某根I/O口线输入为低电平,则可确认该口线所对应的按键已按下,然后,在转向该键功能处理程序。 图2.1.3 键盘电路2.1.3 复位电路图2.1-3所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是吧PC初始化为0000H,是单片机从0000H单元开始执行程序,复位电路采用的是按键复位,他是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。 2.1.4 复位电路2.1.4 数码管电路数码管是一种把多个LED显示段集成在一起的显示设备。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。本设计采用两个四位共阳数码管实现。位控线通过八个PNP接在8951P2口,段控线接至P0口线。2.1.5数码管电路2.2 设计课题电路原理图2.2.1 电路原理图 见附录一2.1.2 PCB图 见附录二2.1.3 元器件布局图 见附录三2.3 设计课题元器件清单 见附录四3、软件系统的设计3.1 使用单片机资源的情况K0-K3键分别连接P0.0-P0.3,当有键按下时P0.0-P0.3的某一位为低电平,反之,则为高电平;两个八位数码管位控线分别连接P2口的P2.0-P2.7,其段控线分别接至P1口的P1.0-P1.7。采用共阳数码管,当控制位为低电平时,LED相应段点亮。3.2软件系统各模块功能简要介绍本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块(1) 定时计数中断程序 MOVTMOD,#01HMOVTH0,#03CH ;定时器初始化,50msMOVTL0,#0B0H SETBEA SETB ET0(2)时间调整程序:HOU0: ACALL DIR INC HOU ;时加1 MOV A, HOUMOV B, #10DIV ABMOV 7FH, A ;在显示缓冲区放数MOV 7EH, B MOV A, HOU CJNE A, #24, Q_0 ;时加到24时否?是,清零 MOV 7EH, #00HMOV 7FH, #00HCLR AQ_0: MOV HOU, A RET /*/MIN0: ACALL DIR INC MIN ;分加1 MOV A, MINMOV B, #10DIV ABMOV 7CH, A ;在显示缓冲区放数MOV 7BH, BMOV A, MIN CJNE A, #60, Q_1 ;分加到60时否?是,清零MOV 7BH, #00HMOV 7CH, #00H CLR AQ_1: MOV MIN, A RET /*/SEC0: ACALL DIR INC SEC ;秒加1 MOV A, SECMOV B, #10DIV ABMOV 79H, A ;在显示缓冲区放数MOV 78H, BMOV A, SEC CJNE A, #60, Q_2 ;秒加到60时否?是,清零 MOV 78H, #00HMOV 79H, #00HCLR AQ_2: MOV SEC, A RET (3)中断TASK2: PUSH ACC PUSH BPUSH PSWLOOP03: MOV TH0, #03CH ;50ms MOV TL0, #0B0H INC 47H MOV A, 47H CJNE A, #20, LOOP06 ;中断执行20次 MOV 47H, #0 INC SEC ;秒加1 MOV A, SEC MOV B, #10 DIV AB MOV 79H, A MOV 78H, B MOV A, SEC CJNE A, #60, LOOP06 ;加60次 MOV SEC, #00H ;秒归零 MOV 79H, #00H MOV 78H, #00H INC MIN ;分加一 MOV A, MIN MOV B, #10 DIV AB MOV 7CH, A MOV 7BH, B MOV A, MIN CJNE A, #60, LOOP06;加60次 MOV MIN, #00H MOV 7BH, #00H ;分归零 MOV 7CH, #00H INC HOU ;时加一 MOV A, HOU MOV B, #10 DIV AB MOV 7FH, A MOV 7EH, BMOV A, HOU CJNE A, #24, LOOP06;加24次MOV HOU, #00H;归零MOV 7EH, #00HMOV 7FH, #00HMOV MIN, #00HMOV SEC, #00HLOOP06:POP PSWPOP BPOP ACCRETI (4)延时子程序DL:MOVR7, #02H ;延时1msDL1:MOVR6, #0FFHDL2:DJNZR6, DL2DJNZR7, DL1RET 3.3 软件系统程序流程框图图3.3.1 主程序流程图 图 3.3.2 中断处理流程图图3.3.3 键扫子程序流程图 图3.3.4 加一子程序流程图3.4 软件系统程序清单 ;*:;项目名称:数字电子钟的设计;设计者:朱团;设计日期:2010年12月29日;*;堆栈栈底90H;*;LED数码管显示器设定;P0.7-P0.0段控线,接LED的显示段dp,g,f,e,d,c,b,a;P2.7-P2.0位控线,从左至右(LED7,LED6,LED5,LED4,LED3,LED2,LED1,LED0);显示缓冲区设定从左至右依次为7FH,7EH,7DH,7CH,7BH,7AH,79H,78H;*;独立式键盘设定;8个按键S2至S9分别依次接在P1.0至P1.7口线; ;*;键功能程序;KEY0;KEY1;KEY2;KEY3;*;子程序;DIR(数码管显示子程序);DL(1毫秒延时子程序,晶振频率12MHz);加一子程序:; HOU0(时加一); MIN0(分加一); SEC0(秒加一);KEY 键扫描子程序;KEYCHULIP1口数据处理子程序 ;*;中断服务程序; TASK2;*;常数表格;TAB(共阳数码管字型代码表);TAB11(系统提示符P.字型代码序号表);TAB22(系统开启00-00-00);*;数据存储器变量及常量单元定义;伪指令区HOU EQU 4AH MIN EQU 4BH SEC EQU 4CH;*; ;系统起始程序区 ;*; ORG 0000HSTART: LJMP MAIN ORG 000BHLJMP TASK2/*/; 系统监控程序区 ;/*/ORG 0050HMAIN: MOV HOU, #00H MOV MIN, #00HMOV SEC, #00H MOV SP,#80HMOV PSW,#00HMOV TMOD,#01HMOV TH0,#03CH;定时器初始化,50msMOV TL0,#0B0HSETB EASETB ET0/*/; 显示P.键盘扫描 ;/*/P_1: MOV R0, #78H MOV R7, #00HMOV DPTR, #TAB11FIND1:MOV A, R7MOVC A, A+DPTRMOV R0, AINC R0 INC R7CJNE R7, #8,FIND1 TASK1:LCALL DIR;显示P.,调用DIR显示子程序,动态显示 LCALL KEY;键扫,扫描值存入20H单元中JB 20H.0, KEY0;判断K0键是否按下AJMP TASK1/*/;键功能程序 ;/*/KEY0: ;显示00-00-00 MOV 20H, #0 ;清键值 MOV R0, #78H ;缓冲区MOV R2, #0 ;数据表格的位数CLR AFIND2:MOV DPTR, #TAB22MOV A, R2MOVC A, A+DPTRMOV R0, AINC R0INC R2CJNE R2,#8, FIND2 ;判断8个缓冲区是否传送完闭KDS: SETB TR0SETB EASETB ET0 MOV 20H, #00H DI: ACALL DIR ACALL KEY JB 20H.0, TS_0 ;判按键K0,按下进入调试状态 LJMP DI/*/TS_0: CLR TR0 ;关定时器 CLR EA CLR ET0TS_1: LCALLDIRLCALLKEYJB20H.0, KDS ;K0按下,返回计时JB20H.1, KEY1 ;K1按下,调整点JB20H.2, KEY2 ;K2按下,调分JB20H.3, KEY3 ;k3按下,调秒LJMP TS_1/*/KEY1: MOV 20H, #0 ;清键值LCALLHOU0 ;调时LC1:LCALLDIR LCALLKEYJB20H.0, KDS;K0按下,返回计时JB20H.1, KEY1;K1按下,调整点JB20H.2, KEY2;K2按下,调分JB20H.3, KEY3;k3按下,调秒LJMPLC1/*/KEY2: MOV 20H, #0 ;清键值LCALLMIN0 ;调分LC2:LCALLDIR LCALLKEYJB20H.0,KDS ;K0按下,返回计时JB20H.1,KEY1 ;K1按下,调整点JB20H.2,KEY2 ;K2按下,调分JB20H.3,KEY3 ;k3按下,调秒LJMPLC2/*/KEY3: MOV 20H, #0 ;清键值LCALLSEC0 ;调秒LC3:LCALLDIRLCALLKEYJB20H.0, KDS ;K0按下,返回计时JB20H.1,KEY1 ;K1按下,调整点JB20H.2,KEY2 ;K2按下,调分 JB20H.3,KEY3 ;k3按下,调秒LJMPLC3 /*中转站*/LOOP: LJMP SEC0LOOP0: LJMP KEY/*/ ; 加1调时子程序 ;/*/HOU0: ACALL DIR INC HOU ;时加1 MOV A, HOUMOV B, #10DIV ABMOV 7FH, A ;在显示缓冲区放数MOV 7EH, B MOV A, HOU CJNE A, #24, Q_0 ;时加到24时否?是,清零 MOV 7EH, #00HMOV 7FH, #00HCLR AQ_0: MOV HOU, A RET /*/MIN0: ACALL DIR INC MIN ;分加1 MOV A, MINMOV B, #10DIV ABMOV 7CH, A ;在显示缓冲区放数MOV 7BH, BMOV A, MIN CJNE A, #60, Q_1 ;分加到60时否?是,清零MOV 7BH, #00HMOV 7CH, #00H CLR AQ_1: MOV MIN, A RET /*/SEC0: ACALL DIR INC SEC ;秒加1 MOV A, SECMOV B, #10DIV ABMOV 79H, A ;在显示缓冲区放数MOV 78H, BMOV A, SEC CJNE A, #60, Q_2 ;秒加到60时否?是,清零 MOV 78H, #00HMOV 79H, #00HCLR AQ_2: MOV SEC, A RET /*/LOOP00:LJMP TS_0/*/; 显示子程序 ;/*/DIR:PUSH DPHPUSH DPLPUSH ACCPUSH PSWSETB RS0SETB RS1MOV R0,#78HMOV R3,#0FEHMOV R5,#8 ;循环次数LOOP01:MOV A,R0MOV P2,R3; ;位控MOV DPTR,#TAB MOVC A,A+DPTRMOV P0,A; LCALL DL ; ;调延时MOV A,R3RL AMOV R3,AINC R0DJNZ R5,LOOP01POP PSWPOP ACCPOP DPLPOP DPHRET/*/ ; 延时子程序 ;/*/DL:MOVR7, #02H ;延时1msDL1:MOVR6, #0FFHDL2:DJNZR6, DL2DJNZR7, DL1RET/*/; 中断服务程序 ;/*/TASK2: PUSH ACC PUSH B PUSH PSWLOOP03: MOVTH0, #03CH ;50ms MOVTL0, #0B0H INC47H MOVA, 47H CJNE A, #20, LOOP06 ;中断执行20次 MOV47H, #0 INC SEC ;秒加1 MOV A, SEC MOV B, #10 DIV AB MOV 79H, A MOV 78H, B MOV A, SEC CJNE A, #60, LOOP06 ;加60次 MOV SEC, #00H ;秒归零 MOV 79H, #00H MOV 78H, #00H INC MIN ;分加一 MOV A, MIN MOV B, #10 DIV AB MOV 7CH, A MOV 7BH, B MOV A, MIN CJNE A, #60, LOOP06;加60次 MOV MIN, #00H MOV 7BH, #00H ;分归零 MOV 7CH, #00H INC HOU ;时加一 MOV A, HOU MOV B, #10 DIV ABMOV 7FH, AMOV 7EH, BMOV A, HOU CJNE A, #24, LOOP06;加24次MOV HOU, #00H;归零MOV 7EH, #00HMOV 7FH, #00HMOV MIN, #00HMOV SEC, #00HLOOP06:POP PSWPOP BPOP ACCRETI /*/; 键扫描子程序 ;/*/KEY:LCALL KEYCHULI;调P1口数据处理子程序 JZ EXIT;没有键按下,转返回LCALLDIR ;调显示子程序去抖动LCALLDIR LCALL KEYCHULI;调P1口数据处理子程序 JZ EXIT;没有键按下,转返回MOVB,20H;保存取反后的键值KEYSF:LCALLKEYCHULI;调P1口数据处理子程序JZKEY11;键释放,转恢复键值LCALLDIR ;调显示子程序延时 LJMP KEYSF;等待释放KEY11:MOV 20H,B;键值送20H保存EXIT:RET;子程序返回/*/; P1口数据处理子程序 ;/*/KEYCHULI:PUSH PSW;保护现场CLRRS1;改变当前寄存器组为组1SETBRS0MOVP1,#0FFH;先向P1口写1MOVA,P1;读P1口数据CPLA;P1口数据取反MOV20H,A;保存取反后的键值CLRRS1;恢复当前寄存器组为组0CLR RS0POPPSW;恢复现场RET ;子程序返回/*/; 常数表格区 ; /*/TAB: DB 0C0H, 0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H ;0-8 DB 90H, 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0BFH ;9,A,B,C,D,E,F,灭,p.,-TAB11: DB 11H,10H,10H,10H,10H,10H,10H,10H ;提示符“P.”字符序号TAB22:DB00H,00H,12H,00H,00H,12H,00H,00H ;00-00-00 RET/*/ END4、总结4.1 设计结论及使用说明该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。K0键为启动/调整键,K1键为时调节,K2键为分调节,K3键为秒调节。操作步骤如下:(1) 将+5V电源接到电子钟电源插口上,接通电源开关。(2) 把电子钟电路板上的ISP程序下载线连接到计算机USB接口,在计算机上通过avr_fighter软件把电子钟程序下载到单片机内。(3) 电子钟程序下载到单片机以后,电子钟进入命令状态,显示“P.”。(4) 按下K0键,电子钟从0开始运行,此时LED7、LED6、LED4、LED3、LED1、LED0分别显示时、分、秒。(5) 再次按下K0键,电子钟进入调时状态,此时通过K2键、K3键、K4键分别调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国芦荟种植行业发展前景预测及投资方向研究报告
- 2025年中国高密度薄板行业市场发展前景及发展趋势与投资战略研究报告
- 中国CPI膜行业市场调查报告
- 成卷梳棉机行业深度研究分析报告(2024-2030版)
- 年产2万吨覆膜砂新建项目可行性研究报告
- 中国电力电子元件市场深度分析及行业前景展望报告
- 2025年中国充电电池行业发展趋势预测及投资战略咨询报告
- 2025年中国变频微波炉行业市场发展监测及投资潜力预测报告
- 2025-2030年中国组合式冷藏库行业深度研究分析报告
- 培训课件书籍
- 大型分析仪器原理与应用智慧树知到期末考试答案章节答案2024年山东第一医科大学
- 企业员工保密协议书范本
- 居住区规划智慧树知到期末考试答案章节答案2024年湖南师范大学
- 公路防汛抢险应急演练脚本
- 2024年陕西西安市第一社会福利院西安市救助管理站招聘34人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 生态环境保护与可持续发展智慧树知到期末考试答案章节答案2024年浙江农林大学
- MH-T 5003-2016 民用运输机场航站楼离港系统工程设计规范
- 专题24 生物的进化-备战2024年中考《生物》复习全考点
- 中医治疗失眠课件
- 《家庭氧疗》课件
- 医疗器械运输管理制度范本
评论
0/150
提交评论