




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式探月小车作品设计报告广东科贸职业学院信息工程系 开发小组成员:黄文哲、欧信、杨毅英 指导老师: 滕泓虬、禹涛2011年5月目 录1.原创性声明12.摘要23.嵌入式探月小车系统方案33.1概述33.2系统方案33.3嵌入式探月小车43.4功能与指标44.探月小车硬件设计54.1硬件框图54.2MINI2440开发板简介54.3主要I/O口说明64.4直流电机驱动模块74.4.1电机驱动模块实物图74.4.2L298N驱动原理图84.4.3H桥控制方案84.5超声波测距模块(避障)94.6无线通讯模块104.7摄像头模块115嵌入式探月车软件设计115.1软件整体设计125.2驱动程序设计
2、125.3添加MINI2440 GPIO LED灯支持125.4电机控制子程序135.5无线通讯子程序165.6摄像头控制程序175.7Openwrt嵌入式系统的移植175.8嵌入式小车的PC客户端设计226系统测试方案256.1直流电机驱动模块(l298n)测试256.2无线通信模块测试267创新性描述278附录11. 原创性声明参赛作品原创性声明本人郑重声明:所呈交的参赛作品报告,是本人和队友独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果,不侵犯任何第三方的知识产权或其他权利。本人完全意识到本声明的法律结果由本人承担。 参
3、赛队员签名: 日期: 年 月 日2. 摘要探月小车实现了全方位自主移动及避障,行走中的图像采集、无线数据传输。采用ARM处理器S3C2440作为主板控制器。选择一种独特的嵌入式LINUX发行版 OpenWrt作为操作系统。小车系统采用两层架构,上层以S3C2440为核心,负责图像采集,并将图像通过wifi方式发送给PC机;下层以51单片机为核心,负责运动控制,传感器数据处理。两层架构在控制、用户扩展方面有明显优势。下层单片机接口上可接多个扩展模块。选择OpenWrt作为操作系统,也是作品的一个大胆创新之处。关键词:ARM 嵌入式 linux S3C2440 OpenWrt 智能 wifi 摄像
4、3. 嵌入式探月小车系统方案3.1 概述近年来随着人工智能技术、计算机技术等相关技术的发展,对移动机器人的研究越来越多。嵌入式探月小车实际上是一种移动机器人,它可实现多种不同功能,如探测险情、巡视、图像采集、定位、无线通信等。它还可以作为各种智能控制方法(包括动态避障、路径规划、群体协作策略) 的良好载体,开展研究。3.2 系统方案“履带式探月小车”采用两层架构。上层以ARM处理器S3C2440为核心,选用MINI2440开发板作为上层的主板,负责图像采集,并将图像通过wifi方式发送给远端的PC机。wifi无线通信是利用PC机与无线路由器搭配环境平台共同实现的。下层是以51单片机为核心的单片
5、机控制板,由作者手工焊接单片机芯片及外围电路而成。下层负责小车运动控制,传感器数据处理。51单片机通过IO口输出PWM信号控制直流电机的转速,实现小车的前进、停止、左转和右转。单片机接口电路上挂接了1个超声波测距模块、1个人体红外感应模块、1个步进电机模块。超声波测距模块用来实现小车避障。在探月小车的前端安装了一个步进电机,而超声波测距模块安置在步进电机的转轴上,步进电机不停地来回转动,随之转动,这样用1个超声波测距模块就可实现多方位测距,大大减少了超声波测距模块的数量。小车主要由硬件系统和软件系统构成。硬件系统主要包括:ARM处理器、单片机、外围接口电路、外设、小车车体以及电源等,其中ARM
6、处理器是上层的核心,51单片机是下层的核心;软件包括:嵌入式LINUX操作系统、外设驱动程序、LINUX应用程序以及单片机应用程序等。我们并没有选用平常的嵌入式LINUX版本,而是另辟蹊径,选用一种独特的嵌入式LINUX发行版之 OpenWrt 作为操作系统。OpenWrt提供了一个完全可写的文件系统及软件包管理,它通过简单易用的方式,极大地降低了嵌入式linux开发的门槛,它允许开发者使用软件包的概念来定制嵌入式设备,简化了嵌入软件开发的工序。我们由于选择了OpenWrt,在开发过程中,我们发现,定制linux的内核变成了一件相当容易的事情。探月小车的工作流程为:车载传感器模块实时采集周围环
7、境信息,将此数据信息传输到小车控制系统中,单片机通过数据分析获取有效数据,从而获知小车与障碍物的相对位置,然后根据此位置信息产生控制信号,单片机会产生PWM信号控制直流电机来控制小车转向,从而达到小车自主“行走”的目的。下层的单片机与上层的ARM处理器通过串口来通信,ARM主板可将下层单片机控制板的工作数据通过无线wifi的方式传输到远端的PC机。ARM主板平时不间断地将USB摄像头采集的清晰现场图片发给PC机。3.3 嵌入式探月小车3.4 功能与指标探月小车的功能特点: 小车直线行走和转弯行走 履带式小车,履带底盘长180mm,宽135mm,高58mm,可成功越障3040mm,爬坡能力:40
8、度 USB摄像头图像采集 无线图像传输,可达每秒15帧 超声波测距及避障,最大测距80CM 摄像头带云台,转动范围360度 主板采用S3C2440处理芯片,系统主频稳定400MHz,可以轻松应对视频采集,视频处理,无线传输,联网和语音控制等功能。 可扩展能力强:多种传感器模块,并支持传感器扩展 Linux操作系统支持,可扩展高级网络和图形应用 通过WebUI的方式对小车上的嵌入式linux系统进行配置4. 探月小车硬件设计4.1 硬件框图4.2 MINI2440开发板简介MINI2440开发板基于三星S3C2440芯片,如下图所示:主要接口说明:电源接口:输入电压不能大于7伏电压,标准电源试配
9、器为5伏。音频接口:红色为音频输入接口,另一个为音频输出接口。USB接口:主要用于传输数据。串口接口:串口接口主要是它能使PC机和开发板直接进行交换操作和数据传送,完成调试。SB网卡接口:在启动操作系统后,接上无线网卡,就可以对小车发送无线信号。J tag接口:J tag接口主要作用是当Nand Flash或 Nor Flash 中没有bootloader时,使用J tag接口进行烧写。4.3 主要I/O口说明主控芯片为三星S3C2440芯片,如图:主要用到的I/O口包括:1. 用COM2 IO与单片机通讯。2. 用GPIO nLED1、nLED2、nLED3、nLED4来显示当前系统状态.4
10、.4 直流电机驱动模块4.4.1 电机驱动模块实物图驱动板主要采用了L298N芯片,它具有带载能力强的特点。4.4.2 L298N驱动原理图驱动电路芯片外围电路主要用由二极管构成的电桥电路,两组电机并联而成。4.4.3 H桥控制方案 小车通过采用L298N芯片可以达到目的,整体控制方案如图电机共有四4路PWM输出分别作为左右轮的驱动,而通过两路PWM输出可控制一个电机,两电机为并联即可。 当使能信号 ENABLE 为高时 输出才随输入变化,否则为高阻态,所以焊接时,ENABLE及VS均接VCC。具体驱动过程为:1. 通过编程由控制芯片经PWM发出驱动信号,PWM输出作为L298N的输入,经L2
11、98N转换输出控制信号使电机转动,从而实现电动机的驱动。2. PWM输出信号的高低则可以控制直流电机转速,当占空比大时,转速高,占空比小时,转速低,所以当PWM信号输出占空比为0时可控制电机的停止。3. 当左轮停止,右轮转时,小车左转。 当右轮停止,左轮转动时,小车右转。而两路PWM输出的正负顺序转换则可控制电机的正反转,进而控制小车的前进和后退。4.5 超声波测距模块(避障)基本工作原理:(1)采用IO口TRIG触发测距,给至少10us的高电平信号;(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从
12、发射到返回的时间。测试距离=(高电平时间*声速(340M/S)/2;与单片机连接如右图接线,VCC供5V电源,GND为地,TRIG(接单片机P10)触发控制信号输入,ECHO(接单片机P11)回响信号输出等四支线。 4.6 无线通讯模块通过无线网卡实现无线数据的传输。上图是我们在小车上使用的无线网卡模块。下面是他的具体参数:主芯片:RealTek RTL8187L网络标准IEEE 802.11g、IEEE 802.11b数据传输率54、48、36、24、18、12、11、9、6、5.5、2、1Mbps有效工作距离室内最远100米、外最远300米(环境而异)频率范围2.4-2.4835GHz信道
13、数13调制方式OFDM、DBPSK、DQPSK、CCK支持网络协议CSMA/CA with ACK传输方式直接序列扩频 (DSSS)灵敏度54:-68dBm10%PER、11M:-85dBm8% PER、6M:-88dBm10% PER、1M:-90dBm8% PER、256K:-105dBm8% PER(典型值)天线天线增益 5dBi总线接口USB.在Openwrt里面对该网卡的支持也非常简单。只需要选择上对应的驱动就可以。 4.7 摄像头模块摄像头的安装位置对小车的性能有很大的影响,主要体现在图像采样效果和对小车重心的影响两个方面。安装的低了,易导致视野不够广阔,影响寻线的有效范围;安装得
14、高了,指引线在图像坐标上会变得过窄而无法被检测到。 若安装的太高,系统会因重心抬高而稳定性变差。若安装太靠前,则小车的重心会前移,进而在前行的过程中容易出现“点头”的不稳定情况,重心前移也易导致驱动轮即后轮对地的压力减小,容易出现驱动力不足或者打滑的现象。安装位置合适的一个原则就是:摄像头的安装,首先必须满足头像采样效果的需要。控制策略简单,则所需的拍摄范围就可较小;反之策略复杂,需获得的赛道信息较多,则拍摄范围应大一些。其次,摄像头的安装对小车重心的影响不能导致小车出现运动不稳定的现象。 另外,在Openwrt对该摄像头的支持只需要选择上下面kmod-video-core. kmod-vid
15、eo-gspca-core. kmod-video-gspca-zc3xx. kmod-usb-video.内核模块。5 嵌入式探月车软件设计软件部分是小车的智能化的体现,它控制小车所有的运行状态。程序在Kubuntu CodeBlock IDE进行编写,用Openwrt编译出来的ARM eabi交叉编译工具编译,在经过终端Sercurt-CRT通过串行口向小车烧入交叉编译后的程序以及系统。应用软件控制小车的避障、摄像、发送视频等行为。此外,在主机端用vsftp软件架设FTP服务器,并通过802.11.g(RTL8187)无线网卡建立无线局域网。这样,小车就可以接收控制到达指定地点拍照并发送图
16、片,而PC机端就可以接收通过wifi传送过来的图片。5.1 软件整体设计“探月车”软件部分整体设计如下图所示:5.2 驱动程序设计驱动程序利用MINI2440开发板提供的例程进行改写,并编译进内核。5.3 添加MINI2440 GPIO LED灯支持通过参考MINI2440电路图,得知LED连接GPIO引脚:LED1 GPIO5LED1 GPIO6LED1 GPIO7LED1 GPIO8主要代码 :/LEDstatic struct gpio_led mini2440_led_pins = .name= LED1,.gpio= S3C2410_GPB(5),.active_low= true,
17、.name= LED2,.gpio= S3C2410_GPB(6) ,.active_low= true,.name= LED3,.gpio= S3C2410_GPB(7),.active_low= true,.name= LED4,.gpio= S3C2410_GPB(8),.active_low= true,;static struct gpio_led_platform_data mini2440_led_data = .num_leds= ARRAY_SIZE(mini2440_led_pins),.leds= mini2440_led_pins,;static struct plat
18、form_device mini2440_leds = .name= leds-gpio,.id= -1,.dev.platform_data= &mini2440_led_data,;/GPIO resourcestatic struct resource gpiodev_resource = .start= 0xFFFFFFFF,;5.4 电机控制子程序基本代码如下:Motor.c /电机控制#includesbit StepMotor1One=P20; /步进电机1第一相sbit StepMotor1Two=P21; /步进电机1第二相sbit StepMotor1Three=P22;
19、/步进电机1第三相sbit StepMotor1Four=P23; /步进电机1第四相sbit MotorLeft1=P12; /直流电机sbit MotorLeft2=P13;sbit MotorRight1=P14;sbit MotorRight2=P15;sbit MotorLeftEn=P16; /直流电机使能sbit MotorRightEn=P17;void delay(unsigned int s) /延时函数while(s-);void Motor(unsigned char a,unsigned char b,unsigned char c) /主电机控制函数unsigned
20、 char z=0;switch(a)case 1: /进入左右电机控制MotorLeftEn=1;MotorRightEn=1;if(b=1) /左驱电机if(c=1)MotorLeft1=1; /左驱正转MotorLeft2=0;else if(c=2)MotorLeft1=0; /左驱反转MotorLeft2=1;elseMotorLeft1=1;/停MotorLeft2=1;else if(b=2) /右驱电机if(c=1)/右驱正转MotorRight1=0;MotorRight2=1;elseif(c=2)/右驱反转MotorRight1=1;MotorRight2=0;elseM
21、otorRight1=1;/停MotorRight2=1;break;case 2: /进入步进电机控制P2=0xFF;if(b=1) /StepMotor1if(c=1) z=135;while(z)z-;StepMotor1One=0; delay(300);StepMotor1One=1;StepMotor1Two=0; delay(300);StepMotor1Two=1;StepMotor1Three=0; delay(300);StepMotor1Three=1;StepMotor1Four=0;delay(300);StepMotor1Four=1;if(c=2)z=135;wh
22、ile(z)z-;StepMotor1Four=0; delay(300);StepMotor1Four=1;StepMotor1Three=0; delay(300);StepMotor1Three=1;StepMotor1Two=0; delay(300);StepMotor1Two=1;StepMotor1One=0;delay(300);StepMotor1One=1;P2=0xFF;break;default :break;5.5 无线通讯子程序此部分内容为Linux下socket编程,为客户端提供远程控制支持,部分代码如下:int sendstring(char *addr,int
23、 port,char *sendchar) struct sockaddr_in s_addr; int sock; int addr_len; int len,i; if (sock = socket(AF_INET, SOCK_DGRAM, 0) = -1) perror(no socket); exit(errno); else printf(create socket.nr); s_addr.sin_family = AF_INET; if (port) s_addr.sin_port = htons(port); else s_addr.sin_port = htons(10001)
24、; if (*addr) s_addr.sin_addr.s_addr = inet_addr(addr); else printf(Send a message must have a receiver!n); exit(0); addr_len = sizeof(s_addr); len = -1; for (i = 0;i4;i+) if(len 0)len = sendto(sock,sendchar, strlen(sendchar), 0,(struct sockaddr *) &s_addr, addr_len); else printf(send success!);retur
25、n 0; printf(send error!); return 0;5.6 摄像头控制程序摄像头控制软件mjpg-streamer由Openwrt以软件包形式提供。通过端口8080输出为mjpeg格式的图像。5.7 Openwrt嵌入式系统的移植我们需要通过MINI2440使小车实现下面的功能:驱动并控制摄像头,通过串口控制硬件层的C51单片机,驱动无线网卡并连接,运行服务端,提供UI界面。而实现以上的功能,我们需要首先构建一个嵌入式操作系统。经过反复地讨论研究,我们决定在MINI2440移植Openwrt,因为它可以大幅度减少我们的开发周期。OpenWrt它是一个开源的用于各种无线路由及嵌
26、入式设备的linux发行版。它可以实现与另外一个著名的固件DD-WRT相类似的功能。OpenWrt提供了一个完全可写文件系统及软件包管理,它通过简单易用的方式,最大限度地降低了嵌入式linux开发的门槛,它允许使用软件包的概念来定制嵌入式设备,这使得它能适用于绝大多数应用并实现更多的功能。对于开发人员,OpenWrt提供简单易用的环境框架来构建应用程序。Openwrt主页:经过一个星期的,如果我们使用openwrt,就可以大幅度减沙开发以及移植时间,调试也非常方便。最终,花费了将近一个星期成功在mini2440上运行了openwrt。具体请参考我们的o
27、penwrt移植文档。Openwrt的编译很简单,我们只需要获取到我们所需要的源码并进行简单的配置,执行make就可以编译了。编译完成后的Openwrt效果图:Openwrt LuCi的控制界面:5.8 嵌入式小车的PC客户端设计1. 客户端程序大致分成四大部分:初始化,显示,更新,连接2. 程序树3. 界面预览图(注:未连接目标)。完成后的JAVA客户端6 系统测试方案系统采用先分块测试,然后再整体测试的方案。先分块测试直流电机、步进电机、超声波测距、串口通信、嵌入式系统移植、无线数据传输等模块,然后再整体测试系统性能。采用直接由单片机控制和上位机通过无线数据传输控制等多种情况进行测试。下面
28、是具体的两个模块的测试方案。6.1 直流电机驱动模块(l298n)测试1. 被测模块简介通过对直流电机的控制实现小车前进后退左转右转等动作,主要是控制速度与转弯角度等指标。2. 测试目的通过两路PWM波控制两个直流电机速度,用单片机4个IO口控制两个直流电机的转向,从而控制小车前进和后退和转弯。3. 测试方法及步骤通过在两电机上安装霍耳测速传感器,从而得到电机的转速参数;调节PWM的占空比从而调节电机的转速;在不同环境下测试得出两电机转速之差与小车旋转角度的关系;4. 测试环境和工具测试工具:软件:Keil 、stc单片机isp下载软件硬件:车载stc89c52单片机的小车一部、下载器一个、霍
29、耳测速传感器二个、尺子一套。测试环境:水泥地板、平滑地面、草地、沙地等。5. 测试表格环境左电机PWM占空比右电机PWM占空比车子旋转角度(度/10s)10s内左比右快(转/10s)水泥地板50%70%10s向左转度35度-2转平滑地面50%70%10s向左转度28度-2转草地50%70%10s向左转度30度-2转沙地50%70%10s向左转度25度-2转6. 测试结论小车在不同环境下相同运行参数下,水泥地板效果最理想,沙地最不理想。PWM的占空比与转速之差的关系是:大概占空比每差10%,转速10s内大概差1转。6.2 无线通信模块测试1. 被测模块简介主芯片:RealTek RTL8187L
30、网络标准IEEE 802.11b/g数据传输率54、48、36、24、18、12、11、9、6、5.5、2、1Mbps有效工作距离室内最远100米、外最远300米(环境而异)频率范围2.4-2.4835GHz信道数13调制方式OFDM、DBPSK、DQPSK、CCK支持网络协议CSMA/CA with ACK传输方式直接序列扩频 (DSSS)灵敏度54:-68dBm10%PER、11M:-85dBm8% PER、6M:-88dBm10% PER、1M:-90dBm8% PER、256K:-105dBm8% PER(典型值)天线天线增益 5dBi2. 测试目的测试网络通信的信号强度及其效率.3.
31、 测试方法及步骤通过无线网卡的控制工具,检查测试无线模块在MINI2440的信号强度跟质量,从而得网络连通的速率跟质量;在不同环境下测试得出无线模块传输信号强度与传输距离之前的关系;4. 测试环境和工具测试工具:软件:wireles-stools硬件:无线模块,无线接入点。测试环境:教室,宿舍操场空地。5. 测试表格环境距离信号强度背景噪音连接速率空地30米-60dbm-80dbm48Mbps教室10米-19 dbm-89dbm54Mbps宿舍5米-10 dbm-75dbm54Mbps6. 测试结论在距离5到30米左右无障碍物左右的为较理想通讯距离,连接信号以及连接速率都符合正常通讯的需要。7
32、 创新性描述本设计上层通过MINI2440使小车实现下面的功能:驱动并控制摄像头,通过串口控制硬件层的C51单片机,驱动无线网卡并连接,运行服务端,提供UI界面。这样实际上实现了双重控制,既可以通过底层STC89C52单片机实现小车的运动控制,也可以在上层通过无线通讯传回图像,进行远程控制。本设计可以用于可以科学探测、消防排险等多种特殊作业场合,有一定的实际应用价值。本设计具有以下创新和特点:(1)使用MINI2440开发板,比较适合运动小车等现场控制领域。(2)在MINI2440移植Openwrt,大幅度减少我们的开发周期,大大提高了开发效率。(3)采用B/S架构,通过无线数据传输,在服务端
33、即可通过实时传回的视频图像,监控小车实际运行情况。在遇到意外情况时,可以远程控制小车。在服务器端发送命令操控小车恢复正常运行,从而增加了系统的可靠性。(4)模块化设计,分工完成各个模块,最终进行整合调试,加快了项目开发进度。(5)系统完整性强,从PC上位机软件、嵌入式操作系统搭建、各模块驱动到底层小车控制等的实现,使整个作品设计有较好的完整度。8 附录 附录1 无线小车服务端程序/*; 程序名称: 无线小车服务端程序; 文件名: server.c; 作者: lintel; 参考: 基于TCP服务器的例子; 283页*/#include #include #include #include #i
34、nclude #include #include #include #include #include #include #include #include #include #include #define PORT 1500#define MAX 10#define SUCCESS 0#define ERROR 1/*命令列表:5前2后1左3右4步进左6步进右0停8测距9返回(断续运行);*/ int speed_arr = B38400, B19200, B9600, B4800, B2400, B1200, B300, B38400, B19200, B9600, B4800, B24
35、00, B1200, B300, ; int name_arr = 38400, 19200, 9600, 4800, 2400, 1200, 300, 38400, 19200, 9600, 4800, 2400, 1200, 300, ; void set_speed(int fd, int speed) int i; int status; struct termios Opt; tcgetattr(fd, &Opt); for ( i= 0; i sizeof(speed_arr) / sizeof(int); i+) if (speed = name_arri) tcflush(fd
36、, TCIOFLUSH); cfsetispeed(&Opt, speed_arri); cfsetospeed(&Opt, speed_arri); status = tcsetattr(fd, TCSANOW, &Opt); if (status != 0) perror(tcsetattr fd1); return; tcflush(fd,TCIOFLUSH); int main(void) int sockfd,newsockfd,is_connectedMAX,fd,ser_fd,result1; struct sockaddr_in addr; int addr_len = siz
37、eof(struct sockaddr_in); fd_set myreadfds; char msgbuffer256; char msg =Welcome to Car_serv.n; ser_fd = open(/dev/s3c2410_serial1, O_WRONLY); /打开串口if (ser_fd 0) printf(无法打开串口.n); elseset_speed(ser_fd,9600);/*设置波特率*/result1 = write(ser_fd, 0, 1); /打开成功,向串口发送命令 0 即停止 write(ser_fd, 0, 1); /打开成功,向串口发送命令 5 即停
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮企业财务经理聘用合同样本
- 厂区转让及品牌使用权与销售权协议
- 出租车司机安全驾驶责任保险合同
- 车棚绿化设计与施工一体化合同
- 城市共享单车借用运营管理合同
- 车间内部承包经营与智能机器人应用合同范本
- 老兵精神班会课件
- 大使馆岗位分级考试题及答案
- 美术老师课件入场介绍
- 订货会培训课件
- 2025年辽宁、吉林、黑龙江、内蒙古四省高考物理真题(含答案)
- DB4201∕T 694-2024 押运行业安全生产标准化基本规范
- 2025年中国拉臂式车厢可卸式垃圾车市场调查研究报告
- 2024年盐城市大丰区事业单位招聘考试真题
- 2025年天津市中考语文试卷(含标准答案)
- 2025年6月浙江省高考技术试卷真题
- 2025届上海市高考英语考纲词汇表
- 2024年山西烟草专卖局考试真题试卷及答案
- 全国中小学教师职业道德知识竞赛80题及答案
- 有机化学(上)(中国药科大学)知到智慧树期末考试答案题库2025年中国药科大学
- 重症肌无力课件
评论
0/150
提交评论