版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.:.; 图1竞赛场地表示图 图2机器人出发区表示图4/-*/机器人搬运竞赛程序如下:/ 项 目 名: 基于Freescale AW60的 */ 硬件衔接: */ 程序描画: 定时器2作为颜色传感器计数器;定时器1通道0-1作为PWM输出;通道2作为颜色传感器的定时器溢出中断/ 超声波计数用定时器1 */ 说 明: */ ? */ */ 作者信息? */ 版本信息? */ 完成时间? */ 修订记录: */ 时间: */ 内容:? */-*/调用头文件#include Includes.hvoid main(void) /定义变量,不论在主程序还是子函数,都需求把变量的定义放在最前面,否那么会
2、报错 int D=0; int m=0; char num1=0; /用于计数用 char num2=0; /用于 转弯计数用 char flag_forward=1; /前进的标志位 char flag_backward=1; /后退的标志位 /用到的端口,一定要记得初始化端口数据方向存放器 /液晶模块 /PTGDD |= 0b00011111; /液晶模块IO的输入输出配置 /颜色传感器模块 /PTCDD |= 0b00101100; /配置颜色传感器模块 / PTFDD &= 0b11111110; /红外传感器模块及驱动模块 PTDDD = 0b00000111; / PTDD4作为定
3、时器2的外部时钟输入 PTBDD = 0b01000000; /前五个是红外传感器 ,最后两个是超声波的发送和接纳 PTEDD |= 0b11111100; /配置驱动模块 /PTEDD &= 0b11111110; /配置红外接近传感器 PTADD = 0 xFF; / PTFDD = 0b00111111; /前两个口左右计数的口 /2 关总中断 DisableInterrupt(); /制止总中断 /3 芯片初始化 MCUInit(); /4 模块初始化 PWM_Init(1,0 x0fa0); /用作PWM输出控制电机周期最正确控制大约400ms左右 控制舵机用TPM_NUM_1,CH
4、_2 /TPMinit(2); /用来作为颜色传感器的计数用外部时钟 /*rb=0; /值的初始化 bb=0; /值的初始化 gb=0; /值的初始化 ryz=0; /值的初始化 byz=0; /值的初始化 gyz=0; /值的初始化 flag=0; /值的初始化*/ num_black=0;num_left=0;num_right=0; D=60;/ baipingheng(); / EnableInterrupt(); /开总中断 */ while (1) /-*/文件名: 无 */说 明: 完成直推三个目的 */ */初始时间: */修订记录: */备注:程序顺序执行一遍就走完了全程 ,
5、回到出发区 */-* /* while(num_black2) num_black= black_num(0); xunji_forward_3(); if(num_black=2) stop(0); DelayMs(100); while(num_right=1) num_right= black_num(1); xunji_forward_3(); stop(0); /到达目的地 num_right=0; num_black=0; flag_backward=0; /作为后退的预备 while(flag_backward=0) /后退到赛道中心的程序 back_faward(); Dela
6、yMs(1000); /等待黑线的过去 if(COUNT_RIGHT=1) flag_backward=1; turn_left(2); /左转90角度 .推第二个目的 while(flag_forward=0) xunji_forward_3(); if(COUNT_RIGHT=1) flag_forward=1; /直推完成 flag_backward=0; /开场后退的旅程 while(flag_backward=0) back_faward(); if(COUNT_RIGHT=1) flag_backward=1; middle_faward(70); DelayMs(100); /防
7、止再碰到黑线 stop(0); DelayMs(2); /减缓电机的抖动 Eleft(70); while(num_left=3) /左转180度推第三个目的 num_left=black_num(1); if(num_left=3) num_left=0; num_black=0; /黑线数清零? DelayMs(10); while(flag_forward=0) xunji_forward_3(); if(COUNT_RIGHT=1) flag_forward=1; /直推完成 flag_backward=0; /开场后退的旅程 while(flag_backward=0) back_f
8、award(); if(COUNT_RIGHT=1) flag_backward=1; turn_left(3); back_faward(); while(num_black2) num_black= black_num(0); back_faward(); DelayMs(1000); */ /-*/文件名: 无 */说 明: 直走90度弯的程序 */ */初始时间: */修订记录: */备注:在碰到第二根黑线之前程序要循环扫描,执行完程序就刚转90度弯,推物块到目的地,然后前往到中心停住的程序 */-* /* black_num(0); if(num_black=2) turn_left
9、(4); num_black=0; /黑线数清零? flag_forward=0; /为直推做好预备,必需写的程序 else xunji_forward_3(); while(flag_forward=0) xunji_forward_3(); if(COUNT_RIGHT=1) flag_forward=1; /直推完成 flag_backward=0; /开场后退的旅程 while(flag_backward=0) back_faward(); if(COUNT_RIGHT=1) flag_backward=1; while(1); */ /-*/文件名: 无 */说 明: 直走90度弯的
10、程序 */ */初始时间: */修订记录: */备注:在碰到第二根黑线之前程序要循环扫描,执行完程序就刚转90度弯而已,后面num1是被清零的,所以还是在执行循迹 */-* /* if(sensor_inp_forward()=0 x1f) num1+; while(sensor_inp_forward()=0 x1f); if(num1=2) Eleft(70); while(num24) if(num_right=1) num2+; /DelayMs(1000); while(num_right=1); num1=0; /DelayMs(3000); else xunji_forward_
11、3();*/-*/文件名: Robot_Run.c */说 明: 双足机器人运动函数文件 */ */初始时间: */修订记录: */备注: */-*#include Robot_Run.h /不同的车,由于电机接线不一样,对应的这些设置也会有变动,最好本人先测试这几个最根本的动作 uint8 flag_black=0,flag_right=0,flag_left=0; /车前的传感器uint8 sensor_inp_forward() unsigned char sensor_forward; sensor_forward=PTBD; sensor_forward&=0 x1F; return
12、 sensor_forward;/车后的传感器uint8 sensor_inp_backward() unsigned char sensor_backward; sensor_backward=PTDD; sensor_backward&=0 x07; return sensor_backward;/此段为前进程序启动void middle_faward(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed+4);/曾经调整好的参数占空比百分之78 IN1=1; IN2
13、=0; IN3=1; IN4=0; DelayMs(2); /设置PWM设置的时间间隔/此段为旋转左转程序程序启动void left(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed-40); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=1; IN2=0; IN3=1; IN4=0; DelayMs(2);/此段为旋转大左转程序程序启动void Eleft(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM
14、1_CH_1 , speed-20); IN1=1; IN2=0; IN3=0; IN4=1; DelayMs(2); /此段为旋转右转启动程序 void right(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=1; IN2=0; IN3=1; IN4=0; DelayMs(2); /此段为旋转大右转启动程序 void Eright(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set
15、(TPM_NUM_2, TPM1_CH_1 , speed); IN1=0; IN2=1; IN3=1; IN4=0; DelayMs(2); /此段为后退直走序程序启动void back_faward(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed+4);/曾经调整好的参数占空比百分之78 IN1=0; IN2=1; IN3=0; IN4=1; DelayMs(2);/此段为旋转左转程序程序启动void backleft(uint8 speed) PWM_Set(
16、TPM_NUM_2, TPM1_CH_0 , speed-40); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=0; IN2=1; IN3=0; IN4=1; DelayMs(2);/此段为旋转大左转程序程序启动void backEleft(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=0; IN2=1; IN3=1; IN4=0; DelayMs(2); /此段为旋转右转启动程序 void backright
17、(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=0; IN2=1; IN3=0; IN4=1; DelayMs(2); /此段为旋转大右转启动程序 void backEright(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=1; IN2=0; IN3=0; IN4=1; DelayMs(2); /此段为停顿启
18、动程序 void stop(uint8 speed) PWM_Set(TPM_NUM_2, TPM1_CH_0 , speed); PWM_Set(TPM_NUM_2, TPM1_CH_1 , speed); IN1=0; IN2=0; IN3=0; IN4=0; DelayMs(2); /-*/函数名: xunji_backward_3 */功 能: 后退五路循迹/参 数: 无 */返 回: 无 */说 明: 1、执行该循迹程序时在不断地设置定时器PWM模块; / 2、运用时要留意一定要每隔一段时间执行此程序一次两者是缺一不可的,才干到达循迹的功能。 */-* void xunji_back
19、ward_3() /五路循迹 switch(sensor_inp_backward()case 0 x04: back_faward(80);break;/中间的灯碰到黑线直走 case 0 x02: backEleft(80);break;case 0 x03: backleft(80);break; case 0 x08: backEright(80);break; case 0 x18: backright(80);break; default: back_faward(80);break; /其他的灯的情况直走void xunji_forward_5() /五路循迹 switch(se
20、nsor_inp_forward()case 0 x04: middle_faward(80);break;/中间的灯碰到黑线直走 case 0 x02: Eleft(80);break;/右边的灯碰到黑线右转 case 0 x01:Eleft(80);break; case 0 x03: left(80);break; case 0 x08: Eright(80);break; /左边的灯碰到黑线左转Eright(80);break;case 0 x18: right(80);break; default: middle_faward(80);break; /其他的灯的情况直走/-*/函数名
21、: xunji_forward_3 */功 能: 三路循迹/参 数: 无 */返 回: 无 */说 明: 1、执行该循迹程序时在不断地设置定时器PWM模块; / 2、运用时要留意一定要每隔一段时间执行此程序一次两者是缺一不可的,才干到达循迹的功能。 */-* void xunji_forward_3() /三路循迹 switch(sensor_inp_forward()case 0 x04: middle_faward(80);break;/中间的灯碰到黑线直走case 0 x02: Eright(80);break;/右边的灯碰到黑线右转 case 0 x03: right(80);brea
22、k; case 0 x08: Eleft(80);break; /左边的灯碰到黑线左转case 0 x18: left(80);break; default: middle_faward(80);break; /其他的灯的情况直走/-*/函数名: black_num */功 能: 进展计数/参 数:/se=0输出为传感器全黑计数,num_black/ se=1输出右边传感器计数,num_right/ se=2输出对左边传感器计数,num_left */返 回: 见参数 */说 明: 程序每隔一段要进入这一段函数,才干计数,还有计数值会不断保管,/ 想去除的时候可以对num_black,num_
23、left,num_right进展清零 */-*uint8 black_num(uint8 se) if(se=0) if(sensor_inp_forward()=0 x1f) flag_black=1; else if(flag_black=1) num_black+; flag_black=0; return num_black; if(se=1) if(COUNT_RIGHT=1) flag_right=1; else if(flag_right=1) num_right+; flag_right=0; return num_right; if(se=2) if(COUNT_LEFT=1
24、) flag_left=1; else if(flag_left=1) num_left+; flag_left=0; return num_left; /-*/函数名: turn_left */功 能: 到十字路口进展左转弯的程序/参 数: shu 表示转弯时记黑线数,没到黑线的下降沿就计数 */返 回: 无 */说 明: 该程序执行一次就可以,也就是说程序执行 一遍就相当于转弯完成,后面就跳出程序了 */-执行-*void turn_left(unsigned char shu1) middle_faward(80); DelayMs(100); Eleft(80); while(num_
25、right=shu1) num_right=black_num(1); if(num_right=shu1) num_right=0; DelayMs(100); /-*/函数名: turn_right */功 能: 到十字路口进展右转弯的程序/参 数: shu 表示转弯时记黑线数,没到黑线的下降沿就计数 */返 回: 无 */说 明: 该程序执行一次就可以,也就是说程序执行 一遍就相当于转弯完成,后面就跳出程序了 */-执行-*void turn_right(unsigned char shu2) middle_faward(80); DelayMs(100); Eright(70); wh
26、ile(num_left3) D=ceju(); xunji_forward_5(); if(D 8); TPM_MODL(TPMNo) = (uint8)Period; if(TPMNo = 1) TPM_CSTR(1) = 0b00001000; /定时器1时钟源和分频数的选择 / | | / | |+-PS0 / | |+-PS1 -64倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKSB/-时钟源系统固定时钟 01:总线时钟20M 10:固定系统时钟2M / +-TOIE-制止溢出中断 else TPM_CSTR(2) = 0b00010011; / | |
27、 /定时器2时钟源和分频数的选择 / | |+-PS0 / | |+-PS1 -8倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKSB/-时钟源系统固定时钟 01:总线时钟20M 10:固定系统时钟2M / +-TOIE-制止溢出中断 void PWM_Set(uint8 TPMNo, uint8 CHNo, uint8 Duty) uint16 j; uint16 Period; /= /留意: 一定要加上,否那么PWM的周期和占空比不会改动 /先制止用定时器,不选择时钟即可 /= TPM_CSTR(TPMNo) = 0 x00; /一定一定要写上这句,不然占空比
28、不会变 Period=4000; /时钟源及分频设置设置好,改动占空比时最好就不要去改,二十去改动设好的占空比量就可以 if(TPMNo = 1) TPMNo = 1; / Period = Period_CD1; else TPMNo = 2; / Period = Period_CD2; if(Duty=100) Duty=100; else if (Duty 8); TPM1_CHVL(CHNo)=(uint8)j; /设置定时器1通道形状和控制存放器 TPM1_CHSCSTR(CHNo) = 0b00101000; / | / |+-ELSA / |+-ELSB/-边沿对其方式 / |
29、+-MSA / |+-MSB/-PWM方式,CPWMS位需求设置为0 / +-CHIE-制止中断 TPM_CSTR(1) = 0b00001000; /定时器1时钟源和分频数的选择 / | | / | |+-PS0 / | |+-PS1 -1倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKSB/-时钟源系统固定时钟 01:总线时钟20M 10:固定系统时钟2M / +-TOIE-制止溢出中断 else /定时器1通道0数值存放器 TPM2_CHVH(CHNo)=(uint8)(j 8); TPM2_CHVL(CHNo)=(uint8)j; /设置定时器2通道形状和控
30、制存放器 TPM2_CHSCSTR(CHNo)=0b00101000; / | / |+-ELSA / |+-ELSB/-边沿对其方式 / |+-MSA / |+-MSB/-PWM方式,CPWMS位需求设置为0 / +-CHIE-制止中断 TPM_CSTR(2) = 0b00010011; / | | /定时器2时钟源和分频数的选择 / | |+-PS0 / | |+-PS1 -8倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKSB/-时钟源总线时钟 01:总线时钟20M 10:固定系统时钟2M / +-TOIE-制止溢出中断 /-*/函数名: PWM_Set(单个
31、PWM波输出函数) */功能: 根据所需的PWM波的周期和占空比,并设置相关存放器,输出PWM波 * /参数: */ (1)TPM_No:定时器号(1-2) */ (2)CH_No:通道号(定时器1通道号0-5,定时器2通道号0-1) */ (3)angle:舵机旋转角度 */前往:无 */说 明: 角度(): 0 45 90 180 * */ 正脉宽(ms):0.5 1.0 1.5 2.0 2.5 */-*/同样的道理,控制舵机要改动占空比,必经封锁翻开定时器这两个步骤,所以直接把它写到函数进去,防止遗忘 void PWM_Set_duoji(uint8 TPMNo,uint8 CHNo,u
32、int8 angle) uint16 duty = 0; /= /留意: 一定要加上,否那么PWM的周期和占空比不会改动 /先制止用定时器,不选择时钟即可 /= if(TPMNo 2) TPMNo = 1; else TPMNo = 2; TPM_CSTR(TPMNo) = 0 x00; if(angle=120) angle=120; duty = angle*25; /留意,这个推得的式子,要保证舵机处于高电平的时间,这和定时器形状和控制存放器 duty = (uint16)(duty/9.0); /严密联络,此关系式子推得的前提是必需 TPM_CSTR(TPMNo) = 0b000100
33、11; duty += 125; /一旦时钟源和分频变了,那么不能用这个式子 /举例,转90度,假设设通道存放器值为a,那么1/(fosc/p)振荡一次用的时间,振荡 if(TPMNo = 1) /a*(1/(fosc/p)必需等于1.5ms,即0.0015s,即高电平的时间 /定时器1 if(CHNo 5) CHNo = 5; /根据占空比,设置相应通道数值存放器 TPM1_CHVH(CHNo) = (uint8)(duty 8); TPM1_CHVL(CHNo) = (uint8)duty; /设置定时器1通道形状和控制存放器(主要为PWM对齐方式选择,时钟源选择,分频因子选择) TPM1
34、_CHSCSTR(CHNo) = 0b00101000; / | / |+-ELSA / |+-ELSB/-边沿对其方式 / |+-MSA / |+-MSB/-PWM方式,CPWMS位需求设置为0 / +-CHIE-制止中断 TPM_CSTR(1) = 0b00010011; / | | /定时器2时钟源和分频数的选择 / | |+-PS0 / | |+-PS1 -8倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKSB/-时钟源系统固定时钟 01:总线时钟20M 10:固定系统时钟2M / +-TOIE-制止溢出中断 else /定时器2 if(CHNo 1) CH
35、No = 1; /根据占空比,设置相应通道数值存放器 TPM2_CHVH(CHNo) = (uint8)(duty 8); TPM2_CHVL(CHNo) = (uint8)duty; /设置定时器2通道形状和控制存放器(主要为PWM对齐方式选择,时钟源选择,分频因子选择) TPM2_CHSCSTR(CHNo) = 0b00101000; / | / |+-ELSA / |+-ELSB/-边沿对其方式 / |+-MSA / |+-MSB/-PWM方式,CPWMS位需求设置为0 / +-CHIE-制止中断 TPM_CSTR(2) = 0b00010011; / | | /定时器2时钟源和分频数的
36、选择 / | |+-PS0 / | |+-PS1 -8倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKSB/-时钟源系统固定时钟 01:总线时钟20M 10:固定系统时钟2M / +-TOIE-制止溢出中断 /函数名: ECT_Init */功能: 输入捕捉模块 * /参数: */ (1)TPM_No:定时器号(1-2) */ (2)CH_No:通道号(定时器1 通道号05,定时器2通道号01) */前往: 无 */阐明: 无 */-*void ECT_Init(uint8 TPM_No,uint8 CH_No) if(TPM_No 2) TPM_No = 2; i
37、f(TPM_No 5) CH_No = 5; TPM1_CHSCSTR(CH_No) = 0b01000100; / | / |+-0: / |+-0: / |+-ELSnA: 跳变沿/输出电平选择位 01上升沿捕捉 / |+-ELSnB: / |+-MSnA: 通道方式选择位 00 01 1x / |+-MSnB: 输入捕捉 输出比较 PWM方式 / |+-CHnIE: 通道中断允许位 1 允许中断 0 制止中断 / +-CHnF: 通道捕捉标志位 1 发生捕捉 if(TPM_No = 2) if(CH_No 1) CH_No = 1; TPM2_CHSCSTR(CH_No) = 0b010
38、00100; / | / |+-0: / |+-0: / |+-ELSnA: 跳变沿/输出电平选择位 01上升沿捕捉 / |+-ELSnB: / |+-MSnA: 通道方式选择位 00 01 1x / |+-MSnB: 输入捕捉 输出比较 PWM方式 / |+-CHnIE: 通道中断允许位 0 制止中断 1 允许中断 / +-CHnF: 通道捕捉标志位 1 发生捕捉 /设置定时器形状和控制存放器 TPM_CSTR(TPM_No) = 0b00001000; / | | / | |+-PS0 / | |+-PS1 -0倍分频 / | |+-PS2/ / | |+-CLKSA / | +-CLKS
39、B/-时钟源选择系统固定时钟 / +-TOIE-制止溢出中断 /-*/ 文件名: timer.c */ 说 明: 定时器驱动文件 */-*/定时器头文件#include timer.h/-*/函数名: TPMinit */功 能: 对定时器初始化,制止定时器1溢出中断,设置为1s发生1次定时器溢出中断 */参 数: TPMNo为定时器号(12) */返 回: 无 */说 明: 无 */-*void TPMinit(uint8 TPMNo) /参数溢出处置 if(TPMNo2) TPMNo=2; else if(TPMNo= 60) /秒溢出 *(p+2) = 0; /清秒 *(p+1) +=
40、1; /分加1 if (*(p+1) = 60) /分溢出 *(p+1) = 0; /清时 *p += 1; /时加1 if (*p = 24) /时溢出 *p = 0; /清时 /-*/函数名:timerSet10MS() */功 能: 设置定时10ms 中断 */参 数: 定时器号 TPMNo */返 回: 无 */说 明: 用定时器1 */-* void timerSet10MS(uint8 TPMNo) /参数溢出处置 if(TPMNo2) TPMNo=2; else if(TPMNo255)rb=255;/判别RGB值能否合法 /*求B值* tcs230_s2=0; tcs230_s
41、3=1;/选择蓝色滤光器 / timerSet10MS(1);/10毫秒开场计时 开中断 TPM_CNTH(2)=0; TPM_CNTL(2)=0;/开场计数 DelayMs(10); / while(flag=0);/等待定时器溢出 bb=(unsigned long)(TPM_CNTH(2)*256+TPM_CNTL(2)*255/byz; / DisabletimerInt(1);/关定时器1中断 if(bb255)bb=255;/判别RGB值能否合法 /*求G值* tcs230_s2=1; tcs230_s3=1;/选择绿色滤光器 / timerSet10MS(1);/10毫秒开场计时
42、 开中断 TPM_CNTH(2)=0; TPM_CNTL(2)=0;/开场计数 DelayMs(10); / while(flag=0);/等待定时器溢出 gb=(unsigned long)(TPM_CNTH(2)*256+TPM_CNTL(2)*255/gyz; / DisabletimerInt(1);/关定时器1中断 tcs230_en=1; if(gb255)gb=255;/判别RGB值能否合法 /*/白平衡子程序void baipingheng() /*求取红色因子* tcs230_s2=0; tcs230_s3=0;/选择红色滤光器 tcs230_en=0; / timerSet10MS(1);/10毫秒开场计时 开中断 / EnableInterrupt(); TPM_CNTH(2)=0; TPM_CNTL(2)=0;/开场
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44887.10-2024IPv6演进技术要求 第10部分:支持IP网络切片的增强型虚拟专用网(VPN+)
- 2025年教学检查通报 教学计划检查通报
- 开咖啡屋的创业计划书
- 基层派出所宣传工作计划行政工作计划
- 2025年急诊护理工作计划024年门急诊工作计划
- 初二数学教学计划
- 医院业务宣传年度工作计划范文
- 2025年中小学课件中心组活动计划
- 企业经理工作计划报告大全
- 《欧美简约美模板》课件
- 这么写网约车事故索赔误工费的起诉状更容易胜诉
- GB/T 38119-2019邵氏硬度计的检验
- GB/T 31856-2015废氯气处理处置规范
- 珠宝领域:周大生企业组织结构及部门职责
- 中药配方颗粒
- 如何理解欧盟MDR临床评价要求
- 课题工作方案范文模板及进度计划3篇
- 养老机构医护服务管理制度
- DB4405-T 293-2022《红螯螯虾池塘养殖技术规范》-(高清现行)
- 档案袋密封条模板
- 最新版护理常规
评论
0/150
提交评论