




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
吉林建筑工程学院电气与电子信息工程学院单片机原理与应用课程设计报告设计题目: 多功能数字温度计 专业班级: 信科072 学生姓名: 刘海龙 学 号: 10307212 指导教师: 杨佳 王超 设计时间: 2010.08.302010.09.10 教师评语:成绩 评阅教师 日期 单片机课程设计报告数字温度计多功能数字温度计设计一、内容摘要本设计是一款简单实用的小型数字温度计,所采用的主要元件有传感器DS18B20,单片机AT89S52,四位共阴极数码管一个,电容电阻若干。DS18B20支持“一线总线”接口,测量温度范围-55+125。在-10+85范围内,精度为0.5。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。本次数字温度计的设计共分为五部分,主控制器,LCD显示部分,传感器部分,复位部分,时钟电路。主控制器即单片机部分,用于存储程序和控制电路;LCD显示部分是指四位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;复位部分,即复位电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量范围是-55+128,由于能力有限,不能实现报警功能。二、课程设计的目的通过单片机原理与应用课程设计,使我们掌握单片机及其扩展系统设计的方法和设计原则及相应的硬件调试的方法。进一步加深单片机及其扩展系统设计和应用的理解。三、课程设计的题目多功能数字温度计设计四、课程设计内容及要求 多功能数字温度计设计具有如下功能: 能够显示当前的环境温度,精确到小数点后1位; 显示部分可以采用现有的数码管; 扩展功能:可实用LCD显示,增加湿度检测。五、电路工作原理系统硬件电路设计单片机的选择单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。AT89S52主要特性: 与MCS-51单片机产品兼容 4K字节在系统可编程Flash存储器 1000次擦写周期 全静态工作:0Hz33MHz 32个可编程I/O口线 2个16位定时器/计数器 6个中断源 全双工UART串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 灵活的ISP编程 4.0-5.5V电压工作范围单片机AT89S52的内部结构总框图。它可以划分为CPU、存储器、并行口、串行口、定时/计数器和中断逻辑几个部分。AT89S52外部引脚功能如图1所示。图1 AT89S52外部引脚本次设计需要注意的几个端口:P0口(3239):是一组8位漏极开路行双向I/O口,也既地址/数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动8个TTL逻辑电路,对端口写“1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,PO口接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。P3口(1017):是一组带有内部上拉电阻的8位双向I/O口,P1的输入缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的P3口将用上拉电阻输出电流。P3口除可作为一般的I/O口线外,更重要的用途是它的第二功能,如表1所示。表1 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通) EA/Vpp(31):内部和外部程序存储器选择线EA=0时访问外部ROM 0000HFFFFH;EA=1时,地址0000H0FFFH空间访问内部ROM,地址1000HFFFFH空间访问外部ROM。本次设计EA接高电平。XTAL1(19)和XTAL2(18):使用内部振荡电路时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。RST/VPD(9):复位信号输入端。AT89S52接通电源后,在时钟电路作用下,该脚上出现两个机器周期以上的高电平,使内部复位。第二功能是VPD,即备用电源输入端。当主电源Vcc发生故障,降低到低电平规定值时,VPD将为RAM提供备用电源,发保证存储在RAM中的信号不丢失。时钟电路设计AT89S52时钟有两种方式产生,即内部方式和外部方式。AT89S52有一个构成内部震荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。外接石英晶体(或陶瓷震荡器)及电容C1、C2接在放大器的震荡回路中构成并联震荡电路。对外接电容C1、C2虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用30pF10pF,而如果使用陶瓷谐振器建议选择40pF10pF。用户还可以采用外部时钟,采用外部时钟。在这种情况下,外部时钟脉冲接到XTAL1端,既内部时钟发生器的输入端,XTAL2悬空。由于外部时钟信号是通过一个2分频的触发器后作为内部时钟信号的所以外部时钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。本次设计采用内部震荡电路,瓷片电容采用30P,晶振采用12MHz。复位电路设计单片机系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R采用10K的阻值,电容采用电容值为10的电解电容。具体连接电路如图2所示。图2 复位电路温度显示电路图3 温度显示电路四位共阴极数码管,能够显示小数和负温度。零下时,1和2分别显示负号。当温度超过99.9时,四个数码管全部亮。温度传感器考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:l 独特的单线接口仅需要一个端口引脚进行通信;l 多个DS18B20可以并联在惟一的三线上,实现多点组网功能;l 无须外部器件;l 可通过数据线供电,电压范围为3.0V5.5V;l 零待机功耗;l 温度以9或12位数字;l 用户可定义报警设置;l 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;l 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能常工作; DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图4所示。图4 内部结构框图64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。温度传感器18B20汇编程序,采用器件默认的12位转化,最大转化时间750微秒 ,可以将检测到的温度直接显示到AT89S52的两个数码管上。表2 DS18B20温度转换时间表R1R0分辨率/位温度最大转换时间/MS00993.750110187.510113751112750高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TTH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令做出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。分别说明如下:1、初始化 单总线的所有处理均从初始化开始。初始化过程是主机通过向作为从机的DS18B20芯片发一个有时间宽度要求的初始化脉冲实现的。初始化后,才可进行读写操作。2 、ROM操作命令 总线主机检测到DS18B20的存在 便可以发出ROM操作命令之一 这些命令表3。表3 ROM操作指令指令代码Read ROM(读ROM)33HMatch ROM(匹配ROM)55HSkip ROM(跳过ROM)CCHSearch ROM(搜索ROM)F0HAlarm search(告警搜索)ECH3、存储器操作命令如表4。 表4 存储器操作指令指令代码Write Scratchpad(写暂存存储器)4EHRead Scratchpad(读暂存存储器)BEHCopy Scratchpad(复制暂存存储器)48HConvert Temperature(温度变换)44HRecall EPROM(重新调出)B8HRead Power supply(读电源)B4H六、硬件系统框图温度计电路设计总体硬件设计框图如图5所示。图5 硬件系统框图七、系统软件设计框图本次课程设计采用的是protel软件仿真。软件部分由主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图6所示。返回 开始 初始化 调显示子程序 得出温度总子程序图6 主程序流程读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图7所示。发DS18B20复位命令发跳过ROM命令发读取温度命令读取操作,CRC校验9字节完?CRC校验正?确?移入温度暂存器结束NNYY图7 读出温度子程序流程二进制转换BCD码命令子程序 二进制转换BCD码命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。二进制转换BCD码命令子程序流程图,如图8所示。发DS18B20复位命令发跳过ROM命令发温度转换开始命令结束图8 二进制转换BCD码流程图计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图9所示。开始温度零下?NY置“+”标志温度值取补码置“-”标志计算小数位温度BCD值 计算整数位温度BCD值 结束图9 测量温度流程图八、心得体会 本次的课程设计使我们进一步巩固了书本上的知识,做到了学以致用。这是我们第二次自己动手设计的电路,通过系统仿真软件protel,使我们进一步了解了单片机的设计制作过程,其中最为困难的是软件部分,即编程部分。由于protel并不是很熟练,在使用的过程中有很多原件的名称不知道,从而花费了大量的时间在网上查找,今后应该在这方面多多努力。总结经验的时候我们得出这样的结论,学习应该学以致用,有目的的去学习,如果学了不用等于没学。其次,要学以致用,理论联系实际,这样才会取得事半功倍的效果。九、各部分程序的详细设计步骤;*;DS18B20的读写程序,数据脚P3.4 *;显示数据通过P1口传输,P3.0控制小数位的显示 *;P3.1控制个位的显示,P3.2控制十位的显示 *;P3.3控制百位的显示,P3.1控制小数点的显示 *;显示温度-55到+125度,显示精度为0.1度 *;显示采用4位LED共阴显示测温值 *;*TEMPER_L EQU 40H ;用于保存读出温度的低8位TEMPER_H EQU 41H ;用于保存读出温度的高8位FLAG1 EQU 38H ;是否检测到DS18B20标志位TEMPL EQU 30H ;用于保存读出正确温度值的低8位TEMPH EQU 31H ;用于保存读出正确温度值的高8位TEMPHC EQU 32H ;温度转换寄存器低8位TEMPLC EQU 33H ;温度转换寄存器高8位BUF1 EQU 34H ;显示缓冲寄存器小数位BUF2 EQU 35H ;显示缓冲寄存器个数位BUF3 EQU 36H ;显示缓冲寄存器十数位BUF4 EQU 37H ;显示缓冲寄存器百数位TEMPDIN BIT P3.4 ;数据脚定义DIN BIT P3.1 ;小数点控制;* ORG 0000H ;主程序入口地址 AJMP MAIN ;转主程序 ORG 0003H ;外中断0中断入口 DB 00H,00H,00H,00H,00H,00H,00H; RETI ;跳至INTEX0执行中断服务程序 ORG 000BH ;定时器T0中断入口地址 DB 00H,00H,00H,00H,00H,00H,00H ; RETI ;跳至定时器T0执行中断服务程序 ORG 0013H ;外中断1中断入口 DB 00H,00H,00H,00H,00H,00H,00H ; RETI ;跳至INTEX1执行中断服务程序 ORG 001BH ;定时器T1中断入口地址 DB 00H,00H,00H,00H,00H,00H,00H ; RETI ;中断返回(不开中断) ORG 0023H ;串行口中断入口地址 DB 00H,00H,00H,00H,00H,00H,00H ; RETI ;中断返回(不开中断);*;两位数码管来显示温度,显示范围00到99度,显示精度为1度;因为12位转化时每一位的精度为0.0625度,我们不要求显示小数所以可以抛弃29H的低4位;将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度;无需乘于0.0625系数;*MAIN: MOV SP, #50H ;设置堆栈 MOV P1, #0FFH ;LPTEMP: LCALL GET_TEMPER ;调用读温度子程序 LCALL CONVTEMP ;温度BCD码计算处理子程序 LCALL DISPBCD ;显示区BCD码温度值刷新子程序 MOV P0,TEMPLC MOV P2,TEMPHC;* LCALL DISPLAY ;调用数码管显示子程序;* AJMP LPTEMP ;循环;*; 这是DS18B20复位初始化子程序;*INIT_1820:SETB TEMPDIN NOP CLR TEMPDIN ;主机发出延时537微秒的复位低脉冲 MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1,TSR1 SETB TEMPDIN ;然后拉高数据线 NOP NOP NOP MOV R0,#25H ;延时TSR2: JNB TEMPDIN,TSR3 ;等待DS18B20回应 DJNZ R0,TSR2 LJMP TSR4 ;DS1820不存在TSR3: SETB FLAG1 ;置标志位,表示DS1820存在 CLR P3.7 ;检查到DS18B20就点亮P3.7LED LJMP TSR5TSR4: CLR FLAG1 ;清标志位,表示DS1820不存在 CLR P3.1 LJMP TSR7TSR5: MOV R0,#117TSR6: DJNZ R0,TSR6 ;时序要求延时一段时间TSR7: SETB TEMPDIN ;结束 RET;*; 读出转换后的温度值;*GET_TEMPER:SETB TEMPDIN ; LCALL INIT_1820 ;先复位DS18B20 JB FLAG1,TSS2 RET ;判断DS1820是否存在?若DS18B20不存在则返回TSS2: CLR P3.6 ;DS18B20已经被检测到! MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_1820 MOV A,#44H ;发出温度转换命令 LCALL WRITE_1820;*;这里通过调用显示子程序实现延时一段时间,等待AD转换结束,12位的话750微秒;* LCALL DISPLAY ;显示温度;* LCALL INIT_1820 ;准备读温度前先复位 MOV A,#0CCH ;跳过ROM匹配 LCALL WRITE_1820 MOV A,#0BEH ;发出读温度命令 LCALL WRITE_1820 LCALL READ_18200 ;将读出的温度数据保存到35H/36H RET;*;写DS18B20的子程序(有具体的时序要求);*WRITE_1820:MOV R2,#8 ;一共8位数据 CLR C ;C清0 SETB TEMPDIN ;/ NOP ;/ NOP ;/WR1: CLR TEMPDIN ; MOV R3,#6 ;延时 DJNZ R3,$ RRC A ;数据右移 MOV TEMPDIN,C ;写入一位数据 MOV R3,#23 ;延时 DJNZ R3,$ SETB TEMPDIN ;拉高数据端口 NOP DJNZ R2,WR1 ;判断是否写完 SETB TEMPDIN ;拉高数据端口 RET;*;处理温度BCD码子程序;*CONVTEMP: MOV A,TEMPH ; ANL A,#80H ; 判断最高位 JZ TEMPC1 ; 判断温度是否在零下? CLR C ; 温度值补码 变成原码 MOV A,TEMPL ; CPL A ADD A,#01H ; MOV TEMPL,A ; MOV A, TEMPH ; - CPL A ; ADDC A,#00H ; MOV TEMPH,A ; TEMPHC HI=符号位 MOV TEMPHC,#0BH ; 置-标志 SJMP TEMPC11 ;TEMPC1: MOV TEMPHC,#0AH ; 置+标志 不显示;*TEMPC11: MOV A,TEMPHC ; 计算小数位温度BCD值 SWAP A MOV TEMPHC,A ; MOV A,TEMPL ; ANL A,#0FH ; 乘0.0625 MOV DPTR,#TEMPDOTTAB ; MOVC A,A+DPTR ; MOV TEMPLC,A ; TEMPLC LOW= 小数部分 BCD;* MOV A,TEMPL ; 计算整数位温度BCD值 ANL A,#0F0H ; SWAP A ; MOV TEMPL,A ; MOV A,TEMPH ; ANL A,#0FH ; SWAP A ; ORL A,TEMPL ; MOV TEMPER_L ,A ;/ LCALL HEX2BCD1 ; 调用单字节十六进制转BCD子程序;* MOV TEMPL,A ; ANL A,#0F0H ; SWAP A ; ORL A,TEMPHC ; TEMPHC LOW = 十位数 BCD MOV TEMPHC,A ; MOV A,TEMPL ; ANL A,#0FH ; SWAP A ; TEMPLC HI = 个位数 BCD ORL A,TEMPLC ; MOV TEMPLC,A ; MOV A,R7 ; JZ TEMPOUT ; ANL A,#0FH ; SWAP A ; MOV R7,A ; MOV A,TEMPHC ; TEMPHC HI = 百位数 BCD ANL A,#0FH ; ORL A,R7 ; MOV TEMPHC,A ;TEMPOUT: RET ;*;小数部分分码表*TEMPDOTTAB: DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H DB 06H,07H,08H,08H,09H,09H ;*;显示区 BCD 码温度值刷新子程序;*;温度暂存器内的2字节中,高字节的低半字节和低字节的高半字节组成一个字节,;这个字节的二进制值转换为十进制后,就是温度值的百、十、个位值,而剩下的低字节化为;十进制后,就是温度值的小数部分.;*DISPBCD: MOV A,TEMPLC ; 温度数据移入显示寄存器 ANL A,#0FH ; 取低字节的低4位(小数部分) MOV BUF1,A ; 小数部分放入寄存器 MOV A,TEMPLC ; 取低字节的高4位(个位数) SWAP A ; ANL A,#0FH ; MOV BUF2,A ; 个位数放入寄存器 MOV A,TEMPHC ; 取高字节的低4位(十位数) ANL A,#0FH ; MOV BUF3,A ; 十位数放入寄存器 MOV A,TEMPHC ; 取高字节的高4位(百位数) SWAP A ; ANL A,#0FH ; MOV BUF4,A ; 百位数放入寄存器 MOV A,TEMPHC ; ANL A,#0F0H ; CJNE A,#10H,DISPBCD0 ; 百位数=0? SJMP DISPOUT ;*;最高位为0和正数的符号位都不显示;*DISPBCD0: MOV A,TEMPHC ; ANL A,#0FH ; JNZ DISPOUT ; 十位数是0? MOV A,TEMPHC ; SWAP A ; ANL A,#0FH ; MOV BUF4,0AH ; 符号位不显示 MOV BUF3,A ; 十位数显示符号DISPOUT::RET ;*;单字节十六进制转BCD;*HEX2BCD1:MOV B,#100 ; 十六进制 -BCD DIV AB ; B=A%100 MOV R7,A ; R7=百位数 MOV A,#10 ; XCH A,B ; DIV AB ; B=A%B SWAP A ; ORL A,B ; RET ;*;X8 表示第7位需要异或运算;X5 表示第4位需要异或运算;X4 表示第3位需要异或运算;1 表示第0位需要异或运算*CRC8CAL: PUSH ACC ; MOV R7,#08H ; CRC8LOOP1: XRL A,B ; RRC A ; MOV A,B ; JNC CRC8LOOP2 ; XRL A,#18H ;CRC8LOOP: RRC A ; MOV B,A ; POP ACC ; RR A ; PUSH ACC ; DJNZ R7,CRC8LOOP1 ; POP ACC ; RET ;*;读DS18B20的程序,从DS18B20中读出9个字节数据;开始的两个字节为温度数据;*READ_18200: MOV R4,#9 ; 将温度高位和低位从DS18B20中读出 MOV R1,#TEMPER_L ; 低位存入40H(TEMPER_L),高位存入41H(TEMPER_H) MOV B, #00H ;*RE00: MOV R2,#8 ; 数据一共有8位RE01: CLR C SETB TEMPDIN ; 拉高数据端口 NOP NOP CLR TEMPDIN ; 拉低数据端口 NOP NOP N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 知识产权营销人员培训课件
- 垃圾分类知识培训试题及答案(2025年)
- 钳工模具基础知识培训课件
- 钳工基础知识培训课件教案
- 2025年机电一体化工程师考试模拟试题-控制系统与维护保养
- 钣金课件教学
- 知识产权培训课件发展
- 2025年工业互联网平台网络安全态势感知技术在智慧教育中的应用研究报告
- 2025年民办教育行业合规运营模式创新与品牌建设策略实践研究报告
- 钣金喷漆基础知识培训
- 静配中心应急预案处理流程
- GB/T 21977-2022骆驼绒
- 心理-认识过程课件
- 静脉治疗护理质量评价标准
- 水电清包工合同(3篇)
- 连铸坯质量控制与缺陷控制课件
- 《ACT就这么简单》课件
- 农机行政处罚流程图
- 沥青混合料低温弯曲试验2002363
- 盘阀结构和原理课件
- 《普通逻辑》全册课后练习题参考答案(含原题)
评论
0/150
提交评论