已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字电路实验报告 掷骰子游戏电路的设计与实现班级:学号:姓名: 2014年11月9日一、 实验任务与要求1 实验目的 进一步掌握VHDL语言和Quartus II的使用,并且用VHDL语言实现状态机设计; 熟悉数字系统设计方法:传统的系统硬件设计方法、层次化结构设计、自顶向下设计方法; 学会使用方框图、逻辑流程图来设计有限状态机系统.2. 实验仪器(软件与硬件)及元器件(1) Quartus II;(2)计算机;(3) MAX II(EPM1270T144C5).3. 实验内容 设计并实现一个掷骰子游戏电路。基本要求:1、 电路可供甲乙二人游戏,游戏者甲使用的按键为 BTN0,游戏者乙使用的按键为BTN1 。2、 每按一次按键,代表掷一次骰子,可随机得到 16 范围内的两个数字。3、 甲乙按键产生的随机数字分别用数码管 DISP0-DISP1 、 DISP2-DISP3 显示,并用DISP7 显示比赛局数,比赛结束用 8 8 点阵显示获胜方,并伴有声音效果。4、 具体游戏规则如下:(1) 第一局比赛,甲乙依次各按一次按键,按键所得两数之和为 7 或 11 者胜;若无人取胜,则进行第二局比赛;(2) 第二局比赛,甲乙每人各按一次按键,按键所得二数之和与第一局比赛相同者获胜,若无人获胜,则进行第三局比赛,重复进行步骤(2),直到出现胜者为止。(3) 游戏局数最多进行六局。在第六局比赛时,若重复进行步骤(2)仍未出现胜者,以按键所得两数之和最大者为获胜方。提高要求:1、 增加多人游戏的功能,数码管可分时记录显示每个游戏者的骰子点数。2、 点阵显示增加游戏开机动画、结束动画,并伴有乐曲播放。3、 自拟其它功能。二、问题分析1.背景 骰子应用十分广泛,现代社会上流行有各种定位骰子、黄金骰子、感应骰子、遥控骰子等,它是娱乐游戏的一种道具,是许多游戏必不可少的工具之一,比如麻将等。早先是用骨头、木头等制成的立方体小方块,六面分别刻有一、二、三、四、五、六点,只有1,2,3,4,5,6这六个数字,有的地方叫色子。 用骨头、木头等制成的立方骰子,在使用时通常是是把骰子摇动后掷落,以上面的数作为选取的数字。在这六个数字当中,每掷一次,其中一个数出现的概率为1/6.所谓1/6的概率,就是说这六个数并不是按某个顺序出现的,而是随机的。如果不考虑骰子的形状和使用方法的约束来抽象评价它的功能,那么骰子就是一种“从16的数字,每次只随机地选择1个数字的选择装置”。 本游戏电路是模拟掷骰子,可供两人游戏。游戏者每按键可以得到16范围的两个数字,并按一定的规则决定胜负。 2.设计分析 由于按一次键产生1-6中的两个数,它们的和介于2和12之间,本实验中规定第一次如果和为7或者11者获胜,若无人获胜,需要继续进行,第二次按键后获得的数的和需要与第一次的和进行比较,所以需要保存第一次的和,如果相同,则获胜;否则,按失败处理。如果仍然没有人获胜,继续比赛。3.可行性分析 通过以上分析,此游戏可以借助MAX II(EPM1270T144C5)开发板实现,用时钟信号产生随机数,借助EDA开发板的强大的逻辑算数处理与控制能力进行用户的交互控制与处理,同时,我们已经掌握了电路、模电、数电等专业知识,并且能针对EDA开发板进行熟练的VHDL编程,加之本项目比较简单,不需要多少经费,所以本电子设计具有可行性。4.用户使用说明 游戏时,游戏者交替按键,次序不可颠倒,不可重复按键,分出胜负后,数码管显示不在变化。若要重新开始比赛,请按复位键继续。二、 系统设计1.设计思路数字系统是指由若干数字电路和逻辑部件构成的能够处理或传送数字信息设备。数字系统通常可以分为三个部分:输入/输出接口、数据处理器和控制器。其中输入/输出接口是完成将其他物理量转化为数字量或将数字量转化为其他物理量的功能部件。数据处理器按功能又可以分解成若干子处理单元,通常称为子系统,每个子系统完成一定的逻辑功能,计数器、译码器、运算器等都可作为一个子系统,控制器管理各个子系统的局部及整个系统按规定顺序工作。本游戏系统将采用自顶向下的数字系统的设计方法。可以看出,这种方法的关键在于设计控制器,其余部分只是选用不同功能模块而已,这就将一个复杂的数字系统设计简化为一个时序机的设计。而控制器的设计关键在于建立逻辑流程图,即关键是对系统初始方案的确定,这在整个设计过程中是最富有创造性的,以后各步只不过是按一定方法向下延伸。这也就是自顶向下设计方法的优越所在。2.顶层框图数码管 RESETBTN骰子控制器 8*8BEEP3.对外接口框图BEEPCLK骰子控制器CATRESET供电LED8*8DISPLAYBTN1BTN04.逻辑划分框图BEEPBTNRESET计数器防抖骰子控制器8*8点阵数码管分频器CLK5.状态转移框图6.流程框图第2到5局开始只有一人与第一局相同N=1只有一人的和为7或11第一局是N6在此处键入公式。N=N+1第6局否 是只有一人与第一局相同 是是否和相同否结束是第7局以上和相同否是7.分块设计 输入模块:输入模块主要包括BTN0,BTN1,RESET,CLK。BTN0的作用是表示玩家甲掷骰子的开始;BTN1的作用是表示玩家乙掷骰子的开始;RESET的作用是表示游戏重新开始的标志;CLK表示的是系统的源时钟频率的输入。 数码管模块:数码管模块其实就是数码管的并行排列。这里的数码管主要用来显示玩家甲乙的点数和游戏进行的局数。多个数码管动态扫描显示,是将所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环依次点亮多个数码管,利用人眼的视觉暂留现象,只要扫描频率大于50HZ,将看不到闪烁现象。 点阵模块:只要系统不断地以扫描方式给点阵的行和列发送相应的高低电平,在点阵上就可以点亮不同的二极管。当扫描频率高于一定数值时,点阵上就会出现稳定的字符或者图形。当玩家甲获胜时,点阵显示“甲”;当玩家乙获胜时,点阵显示“乙”;当玩家甲乙都不获胜时,点阵显示“X”。 音乐播放模块:此音乐播放模块分为3个主要模块,即音乐发生器模块,音符译码电路模块,数控分频模块。分好层次之后,编写每个模块的程序,分别生成项目符号,最后把生成的个项目符号用原理图的方式连接起来,然后编译、下载即可。三、 程序设计VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。VHDL采用基于库(library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放在库中,就可以在以后的设计中进行复用,可以使设计成果在设计成员之间进行交流和共享,减少硬件电路的设计。本系统程序将主要分成以下模块:分频器、随机数生成器、数码管译码器、点阵显示器和音乐播放器。1. 分频器程序代码如下:DIV_1MS:PROCESS(clk) BEGIN IF(clkevent and clk=1)THEN IF(temp1=12499)THEN temp1=0; clk_scan= NOT clk_scan; ELSE temp1=temp1+1; END IF; END IF; END PROCESS DIV_1MS; 分频器:由于EDA开发板的最大时钟频率是25MHZ,通过分频器产生时钟周期1MS的扫描信号clk_scan;最后我们用扫描信号来控制数码管和点阵的显示。2. 随机数生成器程序代码如下:RAND_NUMBER:PROCESS(clk) BEGIN IF(clkEVENT AND clk=1)THEN IF(rand1=6)THEN rand1=0; ELSE rand1=rand1+1; END IF; IF(rand_temp=5)THEN rand_temp=0; IF(rand2=6)THEN rand2=0; ELSE rand2=rand2+1; END IF; ELSE rand_tempb_tempb_tempb_tempb_tempb_tempb_tempb_tempb_tempb_tempb_tempb_temp=0000000; END CASE; END PROCESS SEG7_1;bcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_tempcol_temp= 00000000; END CASE; END IF; ELSE col_tempmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusicmusic=0; END CASE; ELSE music=0; END IF; END PROCESS MUSIC_OUT;音乐播放器:对于音调,乐曲的12平均律规定:每2个八度音之间的频率相差1倍。在2个八度音之间,又可以分为12个半音,每2个半音的频率比为2开12次方。另外,音符A的频率为440HZ,音符B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每个音符的频率。不同音符对应频率见表: 音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。例如,如果全音符的持续时间为1S,曲谱中最短的音符为四分音符,需要提供一个4HZ的时钟频率即可产生四分音符的时长。要实现曲谱中个音符依次演奏,需设置一个计数器,计数器的每个值,对应曲谱中的每一个音符。演奏时,计数器自动增加。该计数器的时钟频率的选择要考虑乐曲中各音符的节拍,也就是每个音符的持续时间。四、仿真波形及波形分析1.数码管显示从上图,我们可以看出玩家甲乙两人的点数变化。2.点阵显示从上图,我们可以看出点阵的扫描方式为行扫描,这个扫描方式比列扫描更加完美,原因是行扫描能够保证二极管的亮度一致,而列扫描会导致二极管的亮度不一致。从上图我们可以看出当游戏进行时,如果比赛没有产生获胜者,那么点阵就会显示“X”,表示这一局比赛是平局。从上图,我们可以看出列信号会产生一些“毛刺”,既系统会产生冒险与竞争。从理论情况来看,这些毛刺的确会在系统中产生,但是从实际情况来看,这些毛刺的持续时间极短,以至于肉眼无法辨别出二极管的亮灭变化。从上图,我们可以看出当游戏进行时,如果玩家甲获胜,那么点阵就会显示“甲”,表示获胜者是玩家甲。从上图,我们可以看出列信号会产生一些“毛刺”,既系统会产生冒险与竞争。从理论情况来看,这些毛刺的确会在系统中产生,但是从实际情况来看,这些毛刺的持续时间极短,以至于肉眼无法辨别出二极管的亮灭变化。从上图,我们可以看出当游戏进行时,如果玩家乙获胜,那么点阵就会显示“乙”,表示获胜者是玩家甲。从上图,我们可以看出列信号会产生一些“毛刺”,既系统会产生冒险与竞争。从理论情况来看,这些毛刺的确会在系统中产生,但是从实际情况来看,这些毛刺的持续时间极短,以至于肉眼无法辨别出二极管的亮灭变化。3.随机数生成器从上图,我们可以看出从上到下分别表示玩家甲和乙的点数。图中玩家甲和乙的点数出现的概率接近于1/6,说明此随机数生成器完全符合系统的要求,既保证了玩家甲乙的公平性。五、功能说明及资源利用情况如图所示:功能说明:1、当游戏开始前5秒钟,点阵会显示:“3”、“2”、“1”、“GO”等标志,而且“3”、“2”、“1”、“GO”等标志的颜色会随着时间的变化而变化;2、当游戏开始时,玩家甲按BTN0后,数码管DISP0-DISP1显示玩家甲的两个点数;玩家乙按BTN1后,数码管DISP2-DISP3显示玩家乙的两个点数。同时,在DISP5显示游戏局数;3、当游戏进行时,若玩家甲获胜,则点阵会显示“甲”,同时会播放音乐;若玩家乙获胜,则点阵会显示“乙”,同时会播放音乐;若玩家甲乙都不获胜,则点阵会显示“X”,不会播放音乐;4、如果游戏进行当中出现“死机”等问题或者游戏结束,我们都可以通过复位键RESET来实现游戏重新开始。资源利用情况: 从上图,我们可以看出本系统总共占用了43个管脚,百分比为37%;共占用逻辑单元446个,百分比为35%。六、故障分析 实践证明,数字系统出现故障的原因是多方面的,它包括接线错误、接点接触不良、元器件性能不稳定或损坏、电路参数选择不合理、信号源或电源不合要求以及外部和内部噪声的影响等。1.较好的RTL代码风格(1)可综合用VHDL语言编程,应时刻牢记所写代码能否反映期望的硬件及其功能,而且电路结构是可实现的。为保证设计的可综合,代码中的指令和数据类型必须是综合工具所支持的,同时代码的结构也必须使综合得到的硬件功能和代码所体现的功能一致。(2)简洁清晰,易于理解 最易懂的写法也就是效率最高的写法。使用一致的命名规则。(3)注释清楚(4)模块化程度高,易于修改、移植和复用 需要将代码中的常数写成参数化的形式。(5)模块例化时,为清楚起见,使用显示的端口说明(6)为了避免很大的路径延时,不要使用特别长的嵌套的if结构(7)资源共享 资源共享的主要思想是通过数据缓冲器或多路选择的方法来共享数据通路中工作单元(为了提高速度,对于关键路径不要使用该技术。一般在算术单元和关键路径中不采用资源复用。(8)避免使用门限时钟门限时钟可能会引入短脉冲干扰,增加时钟延时、时钟扭曲以及其他一些后果。(9)代码中不要带有延时信息(10)进行数学运算时,要有好的顺序和分组。好的顺序及分组可能影响综合结果。(11)代码中不要带初始化赋值语句综合工具会忽略掉这种初始化的语句,所以会导致综合前后仿真结果不一致。2.常见故障分析(1)行为描述中常见问题在VHDL语言中,一条信号带入语句就可以创建一个驱动器。当同一赋值目标处于不同进程中时,其赋值结果就比较复杂。这可以看成是多个信号驱动源连在一起,可以发生线或、线与或者三态等不同结果。若处理不当,则会出现驱动器冲突。所以应避免在不同的进程中对同一个信号赋值,即多重源赋值问题。(2)RTL描述中常见问题2.1在一个进程中,禁止使用两个寄存器描述,对两个寄存器的描述是不允许的;2.2在进程中,对变量要先读后写,因为变量值是立即获得的,所以如果先写后读就会产生长的组合逻辑和锁存器(或寄存器)。因此在编写代码过程中,对变量要先读后写;2.3用IF语句描述寄存器功能时,禁止使用ELSE项。对于RTL描述方式中的IF语句在其描述寄存器功能时,禁止采用ELSE项,因为这种赋值方式相当于检测如果没有时钟信号时,则赋新值,而实际上不可能有这样的硬件电路与之对应;2.4在组合逻辑进程中,其敏感向量表中要包含所有要读取得信号,以防止出现不必要的锁存器。(3)语言描述中常见的语法错误3.1在程序头中,应该列出程序中所有使用到的程序库及库中什么程序包。例如,在程序中使用“”运算,那么程序头必须列出程序行“useIEEE.std_logic_arith.all;”;3.2实体名不能使用VHDL语言中的关键字,必须符合VHDL的文字规则。例如实体名不能以数字开头,名字中不能出现“-”、“#”等;3.3必须正确标出端口模式及其数字类型,不要在代码中使用buffer类型的端口读取输出数据,要使用out类型,再增加另外变量或信号,以获取输出值。因为buffer类型的端口不能连接到其他类型的端口上,因此buffer类型就会在整个设计的端口中传播下去。3. QuartusII常见错误(1)Found clock-sensitive change during active clock edge at time on register “”原因:vectorsourcefile中时钟敏感信号(如:数据,允许端,清零,同步加载等)在时钟的边缘同时变化。而时钟敏感信号是不能在时钟边沿变化的。其后果为导致结果不正确。措施:编辑vectorsourcefile(2)VerilogHDLassignmentwarningat:truncatedwithsizetomatchsizeoftarget()原因:在HDL设计中对目标的位数进行了设定,如:reg4:0a;而默认为32位,将位数裁定到合适的大小。措施:如果结果正确,无须加以修正,如果不想看到这个警告,可以改变设定的位数。(3)Error:Cantnamelogicscfifo0ofinstanceinst-hassamenameascurrentdesignfile原因:模块的名字和project的名字重名了。措施:把两个名字之一改一下,一般改模块的名字。七、实验总结和结论本学期的数电实验,我主要学会了通过有限状态机的方法来设计一个小系统。有限状态机及其设计技术是实用数字系统设计中重要组成部分,是实现高效率高可靠逻辑控制的重要途径。有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。状态机的工作方式是根据控制信号按照预先设定的状态进行顺序运行的,状态机是纯硬件数字系统中的顺序控制电路,因此状态机在其运行方式上类似于控制灵活和方便的CPU,而在运行速度和工作可靠性方面都优于CPU。状态机容易构成性能良好的同步时序逻辑模块,这对于大规模逻辑电路设计中令人深感棘手的竞争冒险现象无疑是一个上佳的选择。本系统,我是通过状态机实现的。由于在VHDL中,一个状态机由多个进程构成,一个结构体中可以包含多个状态机,而一个单独的状态机(或多个并行运行的状态机)以顺序方式所能完成的运算和控制方面的工作与一个CPU的功能类似。因此,一个设计实体的功能便类似于一个含有并行运行的多个CPU的高性能微处理器的功能。我通过本次综合实验的学习,我的收获颇多。首先,我更加了解到VHDL编程的技巧与意义;然后,方框图的设计师一个自顶向下、逐步细化的层次化设计过程。在总体结构设计(以框图表示)中,任何优化设计的考虑要比逻辑电路设计过程中优化设计产生大得多的效益;最后,我通过VHDL编程对本来枯燥无味的硬件实验产生浓厚的兴趣。八、源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY Game IS PORT(clk,reset,btn0,btn1:IN STD_LOGIC; cat: OUT STD_LOGIC_VECTOR(5 DOWNTO 0);-数码管显示 b:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);-数码管需要显示的数值段码的二进制表示; row:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-行 col:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);-列 music:OUT STD_LOGIC );END Game;ARCHITECTURE GameState OF Game IS TYPE state_type IS(s0,s1,s2,s3,s4); -用户自定义的可枚举类型 -s0代表第一局;s1代表第二至五局;s2代表第六局;s3代表第七局以上;s4代表游戏结束 SIGNAL current_state,next_state:state_type:=s0; -定义两个信号用于指定的状态机的状态 SIGNAL judge1,judge2To5,judge3,judge4:STD_LOGIC:=0;-定义判断条件 -judge1表示第一局的判断条件:只有一人的和为7或11 -judge2To5表示游戏在2到5局时,是否决出胜负; -judge3表示第六局的判断条件:游戏中出现最大点数和; -judge4表示第七局以上的判断条件:游戏中出现最大点数和; SIGNAL sum1,sum2:INTEGER RANGE 0 TO 20;-表示甲乙两人点数之和; SIGNAL num1_1,num1_2,num2_1,num2_2:INTEGER RANGE 0 TO 6;-表示甲乙两人的两个骰子的点数; SIGNAL first_sum1,first_sum2:INTEGER RANGE 0 TO 20;-表示第一局的点数和; SIGNAL game_counter:INTEGER RANGE 0 TO 50;-表示游戏进行的总局数; SIGNAL game_counter_shiwei:INTEGER RANGE 0 TO 9; SIGNAL game_counter_gewei:INTEGER RANGE 0 TO 9; -SIGNAL counter_2,counter_1:STD_LOGIC_VECTOR(3 DOWNTO 0);-counter_2,counter_1分别表示counter的BCD码的十位和个位的二进制形式 SIGNAL btn0_counter:INTEGER RANGE 0 TO 20;-表示btn0按下时:btn0的上升沿的次数; SIGNAL btn1_counter:INTEGER RANGE 0 TO 20;-表示btn1按下时:btn1的上升沿的次数; -SIGNAL btn_over:STD_LOGIC:=0;-甲乙两人是否按完,按完为1,否则为0; SIGNAL win_name:INTEGER RANGE 0 TO 2;-显示获胜者的姓名; SIGNAL clk_scan:STD_LOGIC; SIGNAL temp1:INTEGER RANGE 0 TO 12499; SIGNAL temp2:INTEGER RANGE 0 TO 499; SIGNAL cat_temp:STD_LOGIC_VECTOR(5 DOWNTO 0); SIGNAL row_temp:STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL col_temp:STD_LOGIC_VECTOR(7 DOWNTO 0);-列 SIGNAL a_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);-数码管需要显示的数值的二进制表示; SIGNAL b_temp:STD_LOGIC_VECTOR(6 DOWNTO 0);-数码管需要显示的数值段码的二进制表示; SIGNAL rand_temp:INTEGER RANGE 0 TO 7; SIGNAL rand1,rand2:INTEGER RANGE 0 TO 6; SIGNAL do_temp:INTEGER RANGE 0 TO 47800; SIGNAL clk_do:STD_LOGIC; SIGNAL re_temp:INTEGER RANGE 0 TO 42588; SIGNAL clk_re:STD_LOGIC; SIGNAL mi_temp:INTEGER RANGE 0 TO 37935; SIGNAL clk_mi:STD_LOGIC; SIGNAL fa_temp:INTEGER RANGE 0 TO 35815; SIGNAL clk_fa:STD_LOGIC; SIGNAL so_temp:INTEGER RANGE 0 TO 31886; SIGNAL clk_so:STD_LOGIC; SIGNAL beat_temp:INTEGER RANGE 0 TO 2499999; SIGNAL clk_beat:STD_LOGIC; SIGNAL pace:INTEGER RANGE 0 TO 60; SIGNAL timecounter:INTEGER RANGE 0 TO 59; BEGIN - -第一个进程P1中描述次状态逻辑,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士考编真题及答案
- 2025年整形外科主治医师理论考核历年真题
- 三级安全教育试卷(完全答案版)
- 2025年一级建造师考试试题及答案详解(历年真题)
- 国开电大生活方式与常见疾病预防期末终结答案
- 人力资源管理十年期末考试判断题题库(分学期版)
- 安全生产风险分级管控清单编制要点解析试题
- 宣城职业技术学院教师招聘考试试题及答案
- 2025年施工技术交底执行情况评估培训试题
- 2025年安全培训试题及答案【夺冠】
- 中级消控证的试题及答案
- 4.2 地貌的观察 课件-高中地理人教版(2019)必修第一册
- 供应链总监竞聘演讲稿
- 智联网汽车技术 课件 13.2自适应巡航技术
- 睡眠质量对学习与表现的影响主题班会
- 2025-2030全球稀土掺杂光纤行业调研及趋势分析报告
- 《学生平安保险业务培训》课件
- 重庆大学《创业管理A》2023-2024学年第一学期期末试卷
- 2025年客房服务员(高级)客房服务员职业技能培训题库
- 手术患者保护性约束
- 《锂离子电池方向专业综合实验》课程教学大纲
评论
0/150
提交评论