




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京工业大学8051单片机实验实验报告学号: 15027321 姓名: 于书伟 指导教师: 金冬月 2017年 10 月目录目录可以使用Word的目录自动生成功能生成。引用-目录(或者更新目录),使用缺省三级即可。第一单元 单片机程序调试环境使用及并行数据传送操作训练1.1 修改例程一的源程序:(1) 将A寄存器的初值改为80H(正逻辑,数据位为1表示发光二极管点亮),再对源程序进行简单修改,使程序运行后发光二极管点亮情况与修改前相同。(2) 将LED向左循环移位点亮改为向右循环移位点亮。(3) 加快LED循环移位点亮速度。1.2 将例程二0-F的循环显示改为0-9的循环显示1.3 实验过程修改部分用粗体显示1.1(1)修改后的源程序:$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALLInit_Device;调用初始设置子程序MOVA,#080H ;赋初始值并在发光二极管上显示该数值CPL A ;将A内容按逻辑取反MOVP3,ALOOP: CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAYRR A ;A寄存器内容右移1位并送发光二极管显示MOVP3,AAJMP LOOP ;无限循环DELAY:MOVR5,#0H ;延时子程序D1: MOVR6,#0HDJNZ R6,$DJNZ R5,D1RET$include(Init_Device.inc) ;初始设置子程序文件包含伪指令END(2)修改后的源程序:$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALLInit_Device;调用初始设置子程序MOVA,#07FH ;赋初始值并在发光二极管上显示该数值MOVP3,ALOOP: CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAY CALL DELAYRL A ;A寄存器内容左移1位并送发光二极管显示MOVP3,AAJMP LOOP ;无限循环DELAY:MOVR5,#0H ;延时子程序D1: MOVR6,#0HDJNZ R6,$DJNZ R5,D1RET$include(Init_Device.inc) ;初始设置子程序文件包含伪指令END(3)修改后的源程序:$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令LCALLInit_Device;调用初始设置子程序MOVA,#07FH ;赋初始值并在发光二极管上显示该数值MOVP3,ALOOP: CALL DELAY CALL DELAY ;删除部分延时指令RR A ;A寄存器内容右移1位并送发光二极管显示MOVP3,AAJMP LOOP ;无限循环DELAY:MOVR5,#0H ;延时子程序D1: MOVR6,#0HDJNZ R6,$DJNZ R5,D1RET$include(Init_Device.inc) ;初始设置子程序文件包含伪指令END1.2修改后的源程序:$include(C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令ORG 0000HLJMPINITTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H; 段码0-7DB080H,090H,088H,083H,0C6H,0A1H,086H,08EH;段码8-FINIT: LCALL Init_Device ;调试初始设置子程序INIT1: MOV R1,#00H ;操作数据初始值MOV A,R1MAIN: MOV DPTR,#TAB ;读取与A中数值对应的显示段码MOVC A,A+DPTRMOV P5,A ;段码送并行口5显示CALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYCALL DELAYINC R1 ;操作数据(R1)增1MOV A,R1CJNE A,#0AH,MAIN ;检查操作数据是否大于显示范围(9)SJMP INIT ;无限循环DELAY: MOV R5,#0H ;延时子程序D1: MOV R6,#0HDJNZ R6,$DJNZ R5,D1RET$include (Init_Device.inc) ;初始设置子程序文件包含伪指令END1.4 实验总结与心得体会第一次上机实验,比较简单,程序段也很短比较容易读懂。第一题的第一问,原程序位07FH,即01111111,修改后为80H,即10000000,显然是由各位取反可以得到,因此在初值修改后加了一句CPL A对A地址数据取反就解决问题了;第二问,原程序为左循环灯,在RR为右移显示,因此改为RL左移显示,走马灯就可以右移循环了;第三问,DELAY延时程序控制走马灯循环速度,故删除部分延时程序即可。第二题,在检查操作数是否超过范围时,原程序范围控制在0-F,10H为0FH进位后结果,所以0-9时应为0AH。第一次实验都是在考察对语句的理解,平时多读一些程序比较快的做出来。第二单元 中断控制及定时器/计数器操作训练122.1 通过对例程5法人程序进行修改和上机调试,改变原程序的功能。(1) 将KEY2、KEY4的功能对调。(2) 每次停下再启动以后,更改发光二极管点亮的循环方向。2.2 修改例程6,将计数范围由0-F扩展至00-FF(使用定时器/计时器0),并在2位数码管上用10进制数显示计数结果(00-99)。16进制10进制方法Hex/10:商=10进制十位,余数=10进制个位2.3 实验步骤修改部分用粗体显示2.1(1)修改后的源程序:$include (C8051F020.inc);C8051F02x系列单片机信息头文件包含伪指令 ORG0000H LJMPINITIAL ;主程序入口 ORG0013H LJMPSTAR ;外中断0服务程序入口,开始键(STAR) ORG0003H LJMPSTOP ;外中断1服务程序入口 停止键(STOP) ORG0100HINITIAL:LCALL Init_Device;调用初始设置子程序MOVP3,#0FFH ;熄灭全部发光二极管MOV A,#0FFHMOV DPTR,#7F80HMOVX DPTR,A ;清除数码管2(NUM2)显示MOV A,#0FEH ;点亮发光二极管的初始数据MOV R1,#1H;发光二极管点亮位置初值MOVIP,#04H ;设置INT0为高优先级MOVTCON,#05H ;外中断采用边沿触发SETB EX0 ;INT0开中断SETB EA ;开放中断LOOP:CLREA;关闭中断RL A MOVP3,A;刷新发光二极管控制数据 INC R1;发光二极管点亮位置计数值增1 SETB EA;开放中断 LCALL DELAY1 ;延时LCALL DELAY1 LCALL DELAY1 LCALL DELAY1 CJNE R1,#8,LOOP ;发光二极管点亮位置计数值有效性检测 MOV R1,#0H ;发光二极管点亮位置计数值等于8则回0 SJMP LOOP ;无限次循环;停止键的中断服务程序STOP:PUSH ACC ;保护A寄存器内容 MOV A,R1;读取发光二极管点亮位置计数值MOV DPTR,#TABMOVC A,A+DPTR;获取发光二极管点亮位置计数值的显示段码MOV DPTR,#7F80HMOVX DPTR,A;发光二极管点亮位置计数值的显示数据送显示SETB EX1 ;INT1开中断JNZ $;等待重新启动条件-A=0MOV A,#0FFHMOVX DPTR,A ;清除数码管2(NUM2)显示 CLR EX1 ;禁止INT1中断(避免程序误动作) POP ACC ;恢复A寄存器内容 CLRIE0;清除INT0中断标志(避免程序误动作) RETI ;中断返回 ;启动键的中断服务程序STAR: MOV A,#00H;设置启动条件-A=0 CLRIE1;清除INT1中断标志(避免程序误动作) RETI;中断返回TAB:DB0C0H,0F9H,0A4H,0B0H,099H ;0-4段码DB092H,082H,0F8H,080H ;5-8段码DELAY1:MOVR6,#0;延时子程序D1:MOV R7,#0DJNZ R7,$DJNZ R6,D1RET$include (Init_Device.inc);初始设置子程序文件包含伪指令END(2)修改后的源程序:$include (C8051F020.inc);C8051F02x系列单片机信息头文件包含伪指令 ORG0000H LJMPINITIAL ;主程序入口 ORG0003H LJMPSTAR ;外中断0服务程序入口,开始键(STAR) ORG0013H LJMPSTOP ;外中断1服务程序入口 停止键(STOP) ORG0100HINITIAL:LCALL Init_Device;调用初始设置子程序MOVP3,#0FFH ;熄灭全部发光二极管MOV A,#0FFHMOV DPTR,#7F80HMOVX DPTR,A ;清除数码管2(NUM2)显示MOV A,#0FEH ;点亮发光二极管的初始数据MOV R1,#1H;发光二极管点亮位置初值MOV R4,#0F0H ;转换标志MOVIP,#01H ;设置INT0(开始键STAR)为高优先级MOVTCON,#05H ;外中断采用边沿触发SETB EX1 ;INT1(停止键STOP)开中断SETB EA ;开放中断LOOP:CLREA;关闭中断 CJNE R4,#0F0H,LOOP1 ;判断是否转向RL A CJNE R4,#0F0H,LOOP1 ;判断是否转向 MOVP3,A;刷新发光二极管控制数据 CJNE R4,#0F0H,LOOP1 ;判断是否转向 INC R1;发光二极管点亮位置计数值增1CJNE R4,#0F0H,LOOP1 ;判断是否转向 SETB EA;开放中断 LCALL DELAY1 ;延时LCALL DELAY1 LCALL DELAY1 LCALL DELAY1 CJNE R1,#8,LOOP ;发光二极管点亮位置计;数值有效性检测 MOV R1,#0H ;发光二极管点亮位置计数值等于8则回0 SJMP LOOP ;无限次循环 LOOP1:CLREA;关闭中断 CJNE R4,#0FH,LOOP ;判断是否转向RR A CJNE R4,#0FH,LOOP ;判断是否转向 MOVP3,A;刷新发光二极管控制数据减 CJNE R4,#0FH,LOOP ;判断是否转向 DEC R1;发光二极管点亮位置计数值1CJNE R4,#0FH,LOOP ;判断是否转向 SETB EA;开放中断 LCALL DELAY1 ;延时LCALL DELAY1 LCALL DELAY1 LCALL DELAY1 CJNE R1,#0,LOOP ;发光二极管点亮位置计数值有效性检测 MOV R1,#8H ;发光二极管点亮位置计数值等于0则回8 SJMP LOOP ;停止键的中断服务程序STOP:PUSH ACC ;保护A寄存器内容 MOV A,R1;读取发光二极管点亮位置计数值MOV DPTR,#TABMOVC A,A+DPTR ;获取发光二极管点亮位置计数值的显示段码MOV DPTR,#7F80HMOVX DPTR,A ;发光二极管点亮位置计数值的显示数据送显示SETB EX0 ;INT0(启动键STAR)开中断JNZ $;等待重新启动条件-A=0MOV A,#0FFHMOVX DPTR,A ;清除数码管2(NUM2)显示 CLR EX0 ;禁止INT0中断(避免程序误动作) POP ACC ;恢复A寄存器内容 CLRIE1;清除INT1(停止键STOP)中断标志(避免程序误动作) RETI ;中断返回 ;启动键的中断服务程序STAR: MOV A,#00H;设置启动条件-A=0 PUSH ACC MOV A,R4CPL AMOV R4,APOP ACC CLRIE0 ;清除INT0(启动键STOP)中断标志(避免程序误动作) RETI;中断返回TAB:DB0C0H,0F9H,0A4H,0B0H,099H ;0-4段码DB092H,082H,0F8H,080H ;5-8段码DELAY1:MOVR6,#0;延时子程序D1:MOV R7,#0DJNZ R7,$DJNZ R6,D1RET$include (Init_Device.inc);初始设置子程序文件包含伪指令END2.2修改后的源程序$include (C8051F020.inc);C8051F02x系列单片机信息头文件包含伪指令DP2 EQU 07F80H DP1 EQU 07F90H ;增加一个DP_L EQU 30H ;低位数值暂存器DP_H EQU 31H ;高位数值暂存器 MAIN: LCALL Init_Device;调用初始设置子程序 MOV TMOD,#00000110B ;C/T0工作于方式2 MOV A,#0 ;显示初值为0 MOV DP_L,A MOV DP_H,A CALL DISPLAY ;调用显示子程序显示初值0 MOV TL0,#0 ;C/T0置初值0 SETB TR0 ;启动计数器0 LOOP: MOV A,TL0 ;读计数器0的计数值 CJNE A,#10H,L1 ;如果A中不为16转L1 MOV TL0,#0 ;计数器0清0 MOV A,TL0 L1: MOV B,#0AH ;在NUM2显示计数器0的计数值 DIV AB MOV DP_L,B MOV DP_H,A CALL DISPLAY ;调用显示子程序显示计数值 SJMP LOOP ;无限次循环 ;显示子程序DISPLAY: MOV A,DP_L ;读低位显示值 CALL DECODE ;调用换码子程序 MOV DPTR,#DP2 ;显示段码送NUM2 MOVX DPTR,A MOV A,DP_H ;读高位显示值 CALL DECODE ;调用换码子程序 MOV P5,A ;显示段码送NUM1 RET ;换码子程序 DECODE: MOV DPTR,#TAB MOVC A,A+DPTR RETTAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H ;显示段码0-7 DB 080H,090H,088H,083H,0C6H,0A1H,086H,08EH ;显示段码8-F$include (Init_Device.inc) ;初始设置子程序文件包含伪指令 END 2.4 实验总结与心得体会相比第一次实验,这次的程序相对长了一些,而且比较难懂。有不少要上网找一些答案才能做出来。第一题第一问,将两个键位对调,实际上是将INT0和INT1功能对调,因此主要在各中断控制的代码上进行修改;第二问,每次将循环顺序改变,意味着每次停下后要改变一次循环顺序,因此添加了一个比较和反向循环的程序段,就解决了。第二题,第一个难点是将一位显示改为两位显示,意味着要添加一个数码管显示;第二个难点是16进制改为10进制,在指导书上有提示用DIV字码操作,具体要看课本上具体的使用方法。第三单元 串行数据传送操作训练33.1 通过对例程8的程序进行修改和上机调试,改变原程序的功能。(1) 将发送1、2、3、4的ASC码改为发送A、B、C、D的ASC码。(2) 将接收的第2、第3字节数据的显示位置交换。3.2 实验步骤修改部分用粗体显示3.1(1)修改后的源程序:$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令NUM2EQU07F80H ;NUM2地址NUM3EQU07F90H ;NUM3地址NUM4EQU07FA0H ;NUM4地址NUM5EQU07FB0H ;NUM5地址TIM_LEQU 0FDH ;T/C1低字节计数值TIM_HEQU 0FDH ;T/C1高字节计数值REC_BUF0 EQU32H ;数据接收缓冲器0REC_BUF1 EQU33H ;数据接收缓冲器1REC_BUF2 EQU34H ;数据接收缓冲器2FLAGBIT01H ;数据发送完成标志ORG 0000HLJMP MAIN ;转主程序ORG 0023HLJMP RECE ;转串行通信中断程序;主程序MAIN: lcall Init_Device ;C8051F02x系列单片机信息头文件包含伪指令MOVA,#0FFHMOVP5,AMOVDPTR,#NUM2MOVXDPTR,A ;清除数码管NUM1的显示MOVDPTR,#NUM3MOVXDPTR,A ;清除数码管NUM2的显示MOVDPTR,#NUM4MOVXDPTR,A ;清除数码管NUM3的显示MOVDPTR,#NUM5MOVXDPTR,A ;清除数码管NUM4的显示MOVR6,#0 ;通信操作状态寄存器清除MOVSP,#30H ;堆栈栈底设置MOV TMOD,#00100000B ;T/C1方式2 MOV TH1,#TIM_H ;T/C1重装填值MOV TL1,#TIM_L ;T/C1计数值SETB TR1 ;启动T/C1 MOV SCON0,#01010000B ;串口方式1SETB ES ;串口中断允许SETB EA ;开中断;主循环LOOP:CALLKEYBOARD ;调用案件状态分析子程序CJNEA,#0FFH,L0;按键状态发生变化转L0CLRFLAG;按键状态无变化,清除发送完成标志SJMPLOOP L0:JBFLAG,LOOP;数据发送完成,返回主循环MOVR7,A;否则,键值暂存R7MOVA,#043H;CMOVSBUF0,A;发送字符C的ASCII码值CALLDELAYMOVA,#04FH;OMOVSBUF0,A;发送字符O的ASCII码值CALLDELAYMOVA,#04DH;MMOVSBUF0,A;发送字符M的ASCII码值CALLDELAYMOVA,#04BH;KMOVSBUF0,A;发送字符K的ASCII码值CALLDELAYMOVA,#30H;发送数字0的ASCII码值MOVSBUF0,ACALLDELAYMOVA,R7ADDA,#40H;生成键值的ASCII码值MOVSBUF0,A;发送键值的ASCII码值SETBFLAG;置位发送完成标志SJMPLOOP ;中断服务程序RECE: JNBTI,REC1;非发送转接收处理CLRTI ;否则,清除发送中断标志RETI ;中断返回REC1: PUSH ACC ;保护累加器AMOVA,SBUF0 ;读接收缓冲器 CJNER6,#0,REC2CJNEA,#43H,REC6;接收状态为0,进行字符C的过滤处理MOVR6,#1;接收状态改为1SJMPREC6REC2:CJNER6,#1,REC3CJNEA,#4FH,REC5;接收状态为1,进行字符O的过滤处理MOVR6,#2;接收状态改为2SJMPREC6REC3:CJNER6,#2,REC4CJNEA,#4DH,REC5;接收状态为2,进行字符M的过滤处理MOVR6,#3;接收状态改为3MOVR5,#3;数据接收计数器设置为3SJMPREC6REC4:CJNER6,#3,REC6PUSHACC;接收状态为3,暂存接收的内容MOVA,#REC_BUF0ADDA,R5MOVR0,A;生成接收数据存放缓冲器地址POPACC;恢复接收数据至A寄存器MOVR0,A;保存接收的数据DECR5;接收数据计数器减1CJNER5,#0,REC6CALLDISPLAY ;接收数据计数器减为0,进行接收结果的显示REC5:MOVR6,#0;接收状态恢复为0(就绪状态)REC6:POP ACC ;恢复累加器A CLRRI;清除接收中断标志RETI ;中断返回 KEYBOARD: MOVA,P2;读按键状态输入端口RRARRARRCA;KEY1有效键值移入位累加器CJCK1;键值无效转KEY2键值的分析MOVA,#1;否则,KEY1代码送A寄存器 SJMPK5K1:RRCA;KEY2有效键值移入位累加器CJCK2;键值无效转KEY3键值的分析MOVA,#2;否则,KEY2代码送A寄存器SJMPK5K2:RRCA;KEY3有效键值移入位累加器CJCK3;键值无效转KEY4键值的分析MOVA,#3;否则,KEY3代码送A寄存器 SJMPK5K3:RRCA;KEY4有效键值移入位累加器CJCK4;键值无效转按键无效处理MOVA,#4;否则,KEY4代码送A寄存器SJMPK5K4:MOVA,#0FFH;按键无效代码送A寄存器K5:RETDISPLAY: MOVA,REC_BUF1;读取接收的第2字节数据SWAPA;高、低4位交换ANLA,#0FH;分离高4位有效数值CALLDECODE;换码MOVDPTR,#NUM2MOVXDPTR,A;在数码管NUM2显示第2字节数据高4位数值MOVA,REC_BUF1;读取接收的第2字节数据 ANLA,#0FH;提取低4位有效数值 CALLDECODE;换码MOVDPTR,#NUM3MOVXDPTR,A;在数码管NUM3显示第2字节数据低4位数值MOVA,REC_BUF2;读取接收的第3字节数据 SWAPA;高、低4位交换 ANLA,#0FH;分离高4位有效数值CALLDECODE;换码MOVDPTR,#NUM4MOVXDPTR,A;在数码管NUM4显示第3字节数据高4位数值MOVA,REC_BUF2;读取接收的第3字节数据ANLA,#0FH;提取低4位有效数值CALLDECODE;换码MOVDPTR,#NUM5MOVXDPTR,A;在数码管NUM5显示第3字节数据低4位数值RET;- DECODE PROGRAM -DECODE: MOVDPTR,#TABMOVCA,A+DPTRRET;- DELAY PROGRAM -DELAY: MOVR5,#80HD1:MOVR6,#0HDJNZR6,$DJNZR5,D1RETTAB:DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8HDB080H,090H,088H,083H,0C6H,0A1H,086H,08EH$include (Init_Device.inc);初始设置子程序文件包含伪指令END (2)修改后的源程序:$include (C8051F020.inc) ;C8051F02x系列单片机信息头文件包含伪指令NUM2EQU07F80H ;NUM2地址NUM3EQU07F90H ;NUM3地址NUM4EQU07FA0H ;NUM4地址NUM5EQU07FB0H ;NUM5地址TIM_LEQU 0FDH ;T/C1低字节计数值TIM_HEQU 0FDH ;T/C1高字节计数值REC_BUF0 EQU32H ;数据接收缓冲器0REC_BUF1 EQU33H ;数据接收缓冲器1REC_BUF2 EQU34H ;数据接收缓冲器2FLAGBIT01H ;数据发送完成标志ORG 0000HLJMP MAIN ;转主程序ORG 0023HLJMP RECE ;转串行通信中断程序;主程序MAIN: lcall Init_Device ;C8051F02x系列单片机信息头文件包含伪指令MOVA,#0FFHMOVP5,AMOVDPTR,#NUM2MOVXDPTR,A ;清除数码管NUM1的显示MOVDPTR,#NUM3MOVXDPTR,A ;清除数码管NUM2的显示MOVDPTR,#NUM4MOVXDPTR,A ;清除数码管NUM3的显示MOVDPTR,#NUM5MOVXDPTR,A ;清除数码管NUM4的显示MOVR6,#0 ;通信操作状态寄存器清除MOVSP,#30H ;堆栈栈底设置MOV TMOD,#00100000B ;T/C1方式2 MOV TH1,#TIM_H ;T/C1重装填值MOV TL1,#TIM_L ;T/C1计数值SETB TR1 ;启动T/C1 MOV SCON0,#01010000B ;串口方式1SETB ES ;串口中断允许SETB EA ;开中断;主循环LOOP:CALLKEYBOARD ;调用案件状态分析子程序CJNEA,#0FFH,L0;按键状态发生变化转L0CLRFLAG;按键状态无变化,清除发送完成标志SJMPLOOP L0:JBFLAG,LOOP;数据发送完成,返回主循环MOVR7,A;否则,键值暂存R7MOVA,#043H;CMOVSBUF0,A;发送字符C的ASCII码值CALLDELAYMOVA,#04FH;OMOVSBUF0,A;发送字符O的ASCII码值CALLDELAYMOVA,#04DH;MMOVSBUF0,A;发送字符M的ASCII码值CALLDELAYMOVA,#04BH;KMOVSBUF0,A;发送字符K的ASCII码值CALLDELAYMOVA,#30H;发送数字0的ASCII码值MOVSBUF0,ACALLDELAYMOVA,R7ADDA,#30H;生成键值的ASCII码值MOVSBUF0,A;发送键值的ASCII码值SETBFLAG;置位发送完成标志SJMPLOOP ;中断服务程序RECE: JNBTI,REC1;非发送转接收处理CLRTI ;否则,清除发送中断标志RETI ;中断返回REC1: PUSH ACC ;保护累加器AMOVA,SBUF0 ;读接收缓冲器 CJNER6,#0,REC2CJNEA,#43H,REC6;接收状态为0,进行字符C的过滤处理MOVR6,#1;接收状态改为1SJMPREC6REC2:CJNER6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行衡水市枣强县2025秋招笔试英语题专练及答案
- 国家能源怀化市会同县2025秋招笔试数学运算题专练及答案
- 国家能源葫芦岛市绥中县2025秋招笔试言语理解与表达题专练及答案
- 国家能源吉林市昌邑区2025秋招笔试综合知识题专练及答案
- 养殖用地租赁的合同
- 2025年随州市市场监督管理应急处置中心公开选调1名工作人员模拟试卷及答案详解(网校专用)
- 军训感言范文
- 关于自己的演讲稿15篇
- 2025年上海市宝山区罗店中心校实习生招募模拟试卷附答案详解(黄金题型)
- 阿克苏市中储粮2025秋招面试专业追问题库基建工程岗
- 无人机教育培训创业计划书
- 企业数字化转型的五大关键要素
- 咸阳社区面试题及答案
- 年产3万吨生物基PTT聚合项目环评资料环境影响
- 电力工程施工进度及安全保障措施
- GB/T 19973.2-2025医疗产品灭菌微生物学方法第2部分:用于灭菌过程的定义、确认和维护的无菌试验
- 装修合同意向协议书
- 鸡蛋分拣培训课件
- 浙江省家庭居室装饰装修施工合同(示范文本)(2021版)
- 安全隐患整改回复单
- 桂林旅游学院新生入馆教育学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论