已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学单片机实训报告书目 录第 1章 最小电路系统11.1 电源模块21.2 复位电路21.2 振荡电路4第 2 章 数码管显示部分42.1 数码管工作原理42.2 循环显示0-F62.3 倒计时59秒62.3.1 定时器模块72.3.2 定时器中断82.3.3 矩阵键盘扫描9第 3 章 LCD显示部分103.1 LCD原理部分113.2 串口通信13第 4 章 AD采集部分15第 5 章 小结17第 6 章 参考文献18附录前言单片微型计算机简称单片机又称微控制器。将计算机的基本部件微型化,使之集成在一块芯片上。片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及总线等。随后,按照面向对象、突出控制功能,在片内集成了许多外围电路及外设接口,突破了传统意义的计算机结构,发展成microcontroller的体系结构,目前国外已普遍称之为微控制器MCU。单片机通常是指芯片本身,集成的是一些基本组成部分。单片机系统是在单片机芯片的基础上扩展其它电路或芯片构成的具有一定应用功能的计算机系统。单片机应用系统中包括了满足对象(如洗衣机)要求的全部硬件电路和应用软件。构成各种嵌入式应用的电路系统,统称为单片机应用系统。照单片机要求在外部配置单片机运行所需要的时钟电路、复位电路等,构成了单片机的最小应用系统。在单片机中CPU外围电路不能满足嵌入对象功能要求时,在单片机外部扩展CPU外围电路,如存储器、定时器/计数器、中断源等,形成能满足具体嵌入应用的一个计算机系统。第一章 最小电路系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。单片机接口电路主要用来连接计算机和其它外部设备.各功能模块的原理及功能如下:复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位。晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)。51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用1030uF,51单片机最小系统容值越大需要的复位时间越短。51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。51单片机最小系统起振电容一般采用1533pF,并且电容离晶振越近越好,晶振离单片机越近越好。P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t。11 电源模块 电源模块电路图 对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源模块的稳定可靠是系统平稳运行的前提和基础。51单片机虽然使用时间最早、应用范围最广,但是在实际使用过程中,一个典型的问题就是相比其他系列的单片机,51单片机更容易受到干扰而出现程序跑飞的现象,克服这种现象出现的一个重要手段就是为单片机系统配置一个稳定可靠的电源供电模块。此最小系统中的电源供电模块的电源可以通过计算机的USB口供给,也可使用外部稳定的5V电源供电模块供给。电源电路中接入了电源指示LED,图中S1 为电源开关。1.2 复位电路复位电路图单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。1.3 振荡电路振荡电路图单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。 在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。第二章 数码管显示部分2.1数码管工作原理最常用的是八段式LED数码管。八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。本次课程设计使用的是共阴极数码管,其原理图如下: 其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。本次课程设计采用四位数码管显示。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f。数码管动态显示原理 多个数码管显示数字的时候,实际上是轮流点亮数码管(一个时刻内只有一个数码管是亮的),利用人眼的视觉暂留现象(也叫余辉效应),就可以做到看起来是所有数码管都同时亮了,这就是动态显示,也叫做动态扫描。一个数码管需要点亮的时间也就是说数码管完成一次全部数码管的扫描的时间为:整体扫描时间=单个数码管点亮时间*数码管个数,一般在10ms 以内。 2.2 循环显示0-F利用数码管的动态扫描原理实现的第一个小程序是循环显示十六进制数0-F。在该程序中,用P1.0P1.3控制数码管的位选,用P2口控制数码管的段选。使用switch 语句控制位选,延时函数控制扫描间隔时间。2.3 倒计时59秒 (用矩阵键盘控制数码管相应的动作)倒计时59秒的程序类似于一个秒表的程序。在主要程序和附加程序的设计中用到了定时器、中断和矩阵键盘扫描。下面我将对各部分模块进行详细介绍。2.3.1定时器模块时钟周期 T 是时序中最小的时间单位,具体计算的方法就是 1/时钟源频率,我们 KST-51 单片机开发板上用的晶振是 11.0592M,那么对于我们这个单片机系统来说,时钟周期=1/11059200 秒。机器周期主要针对汇编语言而言,在汇编语言下程序的每一条语句执行所使用的时间都是机器周期的整数倍,而且语句占用的时间是可以计算出来的,而 C 语言一条语句的时间是不确定的,受到诸多因素的影响。51单片机系列,在其标准架构下一个机器周期是 12 个时钟周期,也就是 12/11059200 秒。定时器和计数器是单片机内部的同一个模块,通过配置 SFR(特殊功能寄存器)可以实现两种不同的功能,我们大多数情况下是使用定时器功能。顾名思义,定时器就是用来进行定时的。定时器内部有一个寄存器,我们让它开始计数后,这个寄存器的值每经过一个机器周期就会自动加 1,因此,我们可以把机器周期理解为定时器的计数周期。就像我们的钟表,每经过一秒,数字自动加 1,而这个定时器就是每过一个机器周期的时间,也就是 12/11059200 秒,数字自动加 1。还有一个特别注意的地方,就是钟表是加到 60 后,秒就自动变成 0 了,这种情况在单片机或计算机里我们称之为溢出。定时器有多种工作模式,分别使用不同的位宽(指使用多少个二进制位),假如是 16 位的定时器,也就是 2 个字节,最大值就是 65535,那么加到 65535 后,再加 1 就算溢出。对于 51 单片机来说,溢出后,这个值会直接变成 0。从某一个初始值开始,经过确定的时间后溢出,这个过程就是定时的含义。在使用定时器的时候,需要以下几个步骤:第一步:设置特殊功能寄存器 TMOD,配置好工作模式。第二步:设置计数寄存器 TH0 和 TL0 的初值。第三步:设置 TCON,通过 TR0 置 1 来让定时器开始计数。第四步:判断 TCON 寄存器的 TF0 位,监测定时器溢出情况。2.3.2定时器中断定时器一般用法都是采取中断方式来做的。定时器和中断不是一回事,定时器是单片机模块的一个资源,确确实实存在的一个模块,而中断,是单片机的一种运行机制。中断服务函数,它的书写格式是固定的,首先中断函数前边 void表示函数返回空,即中断函数不返回任何值,函数名是 InterruptTimer0()。中断函数写好后,每当满足中断条件而触发中断后,系统就会自动来调用中断函数。比如程序平时一直在主程序 while(1)的循环中执行,假如程序有 100 行,当执行到 50 行时,定时器溢出了,那么单片机就会立刻跑到中断函数中执行中断程序,中断程序执行完毕后再自动返回到刚才的第 50 行处继续执行下面的程序,这样就保证了动态显示间隔是固定,不会因为程序执行时间不一致的原因导致数码管显示的抖动了。2.3.3 矩阵键盘扫描矩阵按键相当于 4 组每组各 4 个独立按键,一共是 16 个按键。按键按下通常都会保持 100ms 以上,如果在按键扫描中断中,我们每次让矩阵按键的一个 KeyOut 输出低电平,其它三个输出高电平,判断当前所有 KeyIn 的状态,下次中断时再让下一个 KeyOut 输出低电平,其它三个输出高电平,再次判断所有 KeyIn,通过快速的中断不停的循环进行判断,就可以最终确定哪个按键按下了,这个原理跟数码管动态扫描有点类似。数码管在动态赋值,而按键这里在动态读取状态。根据扫描到的按键的状态来显示相应的数码管的动作情况。如本课设中利用按键1控制定时器启动,按键2控制定时器开启,按键3控制定时时间加1,按键4控制定时时间减1。本设计中采用定时器方式0控制。用PX口控制矩阵键盘。P0口控制数码管的位选,用P0.0P0.3口控制数码管的段选。定时器初始化语句为:TMOD = 0x01; (设置定时器0的工作方式为1) TH0 = (65536 - 45872)/256; (设定定时时间为50ms的初值) TL0 = (65536 - 45872)%256; EA = 1; (开启总中断) TR0 = 1; (打开定时器0的中断)由于中断计时时间为50ms,所以当定时器溢出20次即为1s。所以,中断程序为:TH0 = (65536 - 45872)/256;TL0 = (65536 - 45872)%256;t+;if (t%20)=0) k-;if(k=255) k=59;即实现了59s0s的准确倒计时。第三章 LCD显示部分(串口通信)本次课程设计中在LCD的显示部分综合了串口通信的功能,在LCD的基础功能中可以显示年、月、日、时、分、秒,即实现了电子时钟的功能。利用串口通讯实现计算机对LCD电子时钟的停止、开启操作和时间修改功能。下面我将对LCD的工作原理及串口通信的内容进行详细介绍。3.1 LCD原理部分流水灯、数码管、LED 点阵这三种都是 LED 设备。1602 液晶,从它的名字我们就可以看出它的显示容量,就是可以显示 2 行,每行 16 个字符的液晶。主要技术参数表格:1602 液晶主要技术参数显示容量16x2个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.95x4.35mm(宽乘高)1602 液晶一共 16 个引脚,每个引脚的功能,我们都可以在它的数据手册上获得。而这些基本的信息,在我们设计电路和编写代码之前,必须先看明白,如下表所示4 脚是数据命令选择端。对于液晶,有时候我们要发送一些命令,让它实现我们想要的一些状态,有时候我们要发给它一些数据,让它显示出来,液晶就通过这个引脚来判断接收到的是命令还是数据;5 脚和 4 脚用法类似,功能是读写选择端。我们既可以写给液晶数据或者命令,也可以读取液晶内部的数据或状态,就是控制这个引脚。因为液晶本身内部有 RAM,实际上我们送给液晶的命令或者数据,液晶需要先保存在缓存里,然后再写到内部的寄存器或者 RAM中,6 脚是使能信号,很关键,液晶的读写命令和数据,都要靠它才能正常读写。7 到 14 引脚就是 8 个数据引脚了,我们就是通过这 8 个引脚读写数据和命令的。1602 液晶内部带了 80 个字节的显示 RAM,用来存储我们发送的数据,它的结构如下图所示:第一行的地址是 0x00H 到 0x27,第二行的地址从 0x40 到 0x67,其中第一行 0x00 到 0x0F是与液晶上第一行 16 个字符显示位置相对应的,第二行 0x40 到 0x4F 是与第二行 16 个字符显示位置相对应的。而每行都多出来一部分,是为了显示移动字幕设置的。1602 字符液晶是显示字符的,因此它跟 ASCII 字符表是对应的。3.2串口通信通信按照基本类型可以分为并行通信和串行通信。并行通信时数据的各个位同时传送,可以实现字节为单位通信,但是通信线多占用资源多,成本高。而串行通信,就如同一条车道,一次只能一辆车过去,如果一个 0xFE 这样一个字节的数据要传输过去的话,假如低位在前高位在后的话,那发送方式就是 0-1-1-1-1-1-1-1-1,一位一位的发送出去的,要发送 8 次才能发送完一个字节。在实际应用中,往往串口还要和电脑上的上位机软件进行交互,实现电脑软件发送不同的指令,单片机对应执行不同操作的功能,这就要求我们组织一个比较合理的通信机制和逻辑关系,用来实现我们想要的结果。接收数据的处理,在串口中断中,将接收到的字节都存入缓冲区 bufRxd 中,同时利用另外的定时器中断通过间隔调用 UartRxMonitor 来监控一帧数据是否接收完毕。当要处理接收到的数据时,先通过串口读取函数 UartRead 把接收缓冲区 bufRxd 中的数据读取出来,然后再对读到的数据进行判断处理。用P0口控制LCD的八个数据引脚,用P1口控制矩阵键盘,用P2.5控制读写选择端,P2.6控制数据/命令选择端。P2.7控制使能端。在程序设计时首先要进行LCD和串口通信的初始化操作,具体程序为:LCD_RW =0; delay(15); /等待LCD电源稳定 lcd_wcmd(0x38); /16*2显示,5*7点阵,8位数据 delay(5); lcd_wcmd(0x0c); /显示开,关光标 delay(5); lcd_wcmd(0x06); /写一个字符后地址指针加1 delay(5); lcd_wcmd(0x01); /清除LCD的显示内容串口通信的初始化操作为:TMOD=0x21; /设置T1定时器工作方式2TH1=0xfd; /T1定时器装初值TL1=0xfd; /T1定时器装初值TR1=1; /启动T1定时器SM0=0; /设置串口工作方式1SM1=1; /设置串口工作方式1REN=1; /允许串口接收EA=1; /开总中断ES=1; /开串口中断串口中断服务程序为: void ser()interrupt 4 RI=0; shuzi=SBUF; 程序收到或发送数据后,程序产生串口中断,此时RI (串口中断标志位) 会被硬件置1,进入串口中断服务程序后必须由软件清0,这样才能产生下一次中断。将SBUF中的数据读走给shuzi,由shuzi 的值通过相应的switch选择语句控制相应的动作,其对应的程序为: switch(shuzi) case 1:time_stop();break; case 2:TR0=1;break; case 3:num_inc();break; case 4:num_dec();break; case 5:while(1) lcd_wcmd(0x18); delay(500);break; 第四章 AD采集部分A/D 是模拟量到数字量的转换,依靠的是模数转换器,简称ADC。模拟量就是指变量在一定范围内连续变化的量,也就是在一定范围内可以取任意值。ADC 就是起到把连续的信号用离散的数字表达出来的作用。ADC0832是美国国家半导体公司生产的一种逐次逼近型、8位分辨率、双通道A/D转换芯片。它体积小,兼容性强,性价比高。 ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电压输入与参考电压的复用,使得芯片的模拟电压输入在05V 之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。ADC的功能引脚说明如下: 当起始位和两位配置位移入移位寄存器后转换便开始。即从第三个脉冲的下降沿开始转换,同时DI转为高阻状态,DO端脱离高阻状态,为数据输出做准备。从第三个脉冲之后,经过一个脉冲的延时,以使选定的通道稳定,在第四个脉冲的下降沿,DO端开始输出数据D7,随后每一个脉冲下降沿DO端输出下一位数据。数据输出时先输出最高位,直到第11个脉冲时发出最低位数据DO,一个字节的数据输出完成。输出完转换结果后,又以最低位开始重新输出一遍数据,两次发送的最低位共用。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,将转换后的数据进行处理。转换中后面输出的8位数据如果不需要可以不接收。ADC的工作流程如下:1. 程序开始:CS设置为低,当CS为高时芯片停止接收和输出数据2. 启动转换:DI电平变为高电平,并在时钟的上升沿保持高电平,表示启动位。3. 设置配置位:ADC0832的起始完成后的两位就是通道配置位,均为 上升沿有效。4. 读出数据:配置位设置完后,就可以从读出AD数据,数据需要经过校验再输出。5. 程序结束 在AD程序设计中,用P0.0口控制片选使能端;P0.1口控制芯片时钟输入;P0.2为数据信号输出端;P0.3为数据信号输入端。用中值滤波的方法对采集到的信号进行中值滤波处理,再通过标度变换,转换为带有工程单位的数字量。最后通过串口程序显示输出转换后的数字量。第五章 小结为期近两个星期的单片机课设结束了,回想过去的两周,虽然有苦有累,但是过的非常充实。实训的前两天是焊接电路板,之前从来没有焊接电路板的基础和经验。我们认真观看了学长们录制的相关视频,并试着自己动手焊接。刚开始焊贴片元件时手忙脚乱,没有掌握焊接技巧,而且手特别容易抖。但是,熟能生巧,随着焊接的不断深入,我渐渐掌握了必要的焊接技巧,焊接的元件也美观了很多。焊接完成后的三天主要编写一些相关程序,其中包括定时器、中断、串口、矩阵键盘扫描等单片机典型应用程序。通过自己的不断努力与同学和学长的辅导,我的编程能力也有了很大的提高。 通过本次单片机课设,我对单片机的相关理论有了更加深入的了解。真正把单片机课堂上学到的知识应用到了课程实践中,提高了自己的动手能力。这次实习让我受益匪浅,无论从知识上还是其他的各个方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,提高自己各方面的能力。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。第六章 参考文献1、何立民主编,单片机中级教程,北京航空航天大学出版社2、丁元杰主编,单片机原理与应用,机械工业出版社。3、孙育才主编,MCS-51系列单片微型计算机及其应用,东南大学出版社4、单片机51/98开发与应用 张积东、孙积广、夏华龙 电子工业出版社 2001年5、单片微型计算机原理、应用及接口技术 张迎新 国际工业出版社数码管循环显示0F#include void delay(unsigned int i); unsigned char code Disp_Tab = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /段码控制unsigned char dispbit; sbit Lsb1=P10; sbit Lsb2=P11; sbit Lsb3=P12; sbit Lsb4=P13;main() unsigned int i; /变量定义 unsigned int LedOut16; /变量定义while(1) for( i=0; i 0; i-) for(j = 200; j 0; j-);倒计时59秒#include #includeunsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00;#define SEG_DU P0#define SEG_WE P1sbit beep=P37 ;unsigned char k=59,t=0;unsigned int temp;void delayms(unsigned int b) unsigned char i; for (;b0;b-)for (i=110;i0;i-);void show_reg(unsigned int seg,unsigned int seg_we)SEG_WE = _crol_(0x01,seg_we); /发送位选SEG_DU = tableseg; /发送段码delayms(1);SEG_DU=0x00;/消影void reg_data(unsigned char number)unsigned char a,b,c,d;a = number/1000; b=(number%1000)/100; c=(number%100)/10; d=number%10;show_reg(d,0);delayms(1);show_reg(c,1);delayms(1);show_reg(b,2);delayms(1);show_reg(a,3);delayms(1);void keyscan() /判断键值,选择相应功能P2=0xfe;temp=P2;temp=temp&0xf0;if (temp!=0xf0)switch(temp) case 0xe0:TR0=0;break;case 0xd0:TR0=1;break;case 0xb0:k=k+1;reg_data(k); if(k59) k=0;break;case 0x70:k=k-1;reg_data(k); if(k=255) k=59;break; while(P2&0xf0)!=0xf0); void main(void) TMOD = 0x01; TH0 = (65536 - 45872)/256;TL0 = (65536 - 45872)%256; EA = 1;ET0 = 1; TR0 = 1;while(1) keyscan(); reg_data(k);if(k=0)beep=0;delayms(10);beep=1; void T0_timer() interrupt 1TH0 = (65536 - 45872)/256;TL0 = (65536 - 45872)%256;t+;if (t%20)=0)k-;if(k=255) k=59;LCD显示部分#include #include #define uchar unsigned char #define uint unsigned int sbit LCD_RS = P26; sbit LCD_RW = P25; sbit LCD_EN = P27; sbit beep=P24; uchar code date = 2016-01-20;uchar code timed = : : ;uchar flag; void time(uint,uint,uint); uint da,ti,temp,keynum,shuzi,second=0,min=0,hour=0;uint shi,ge; void delay(uint z) /延时程序 uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); void lcd_wcmd(uchar cmd) /写指令 LCD_RS = 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高职第二学年(机械制造及自动化)机械加工工艺设计试题及答案
- 西安健康工程职业学院《公司治理学》2026-2027学年第一学期期末试卷含解析
- 库伦旗2026年数学四上期末考试模拟试题含解析
- 2026年中职计算机应用(计算机硬件维修)试题及答案
- 烟草国考试题及答案
- 云南省迪庆州2026年数学六上期末统考模拟试题含解析
- 2026年大学理学(大学化学)试题及答案
- 《自行车王国史》课件
- 中科大MS第三章Visual模块的初步应用
- 《智能制造单元维护与检修》课程说课
- 军训教官教案完整版
- 企业知识产权宣传培训课件
- 中职等比数列课件
- 太原理工大学《大学物理A》2025 - 2026学年第一学期期末试卷(A卷)
- DBJT 15-20-2016 建筑基坑工程技术规程
- 近年国内电解铝行业重大事故案例
- ICU进修汇报医学知识讲解讲义
- 洗手间6s管理制度
- 养老院章程范本2016
- DB52T 1283-2018 精准扶贫 农村“组组通”硬化路建设与管理养护规范
- 车厢维修合同范本
评论
0/150
提交评论