版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数字电路与逻辑设计实验报告2012年数字电路与逻辑设计实验报告题目:简易地铁自动售票系统学 院:信息与通信工程学院班 级:2010211122姓 名: 陈大文学 号:10210332班内序号:05指导教师:袁东明 老师摘 要: VHDL 语言对于复杂的数字系统的设计,它有独特的作用。它的硬件描述能力强,能轻易的描述出硬件的结构和功能。这种语言的应用至少意味着两种重大的改变:电路的设计可以通过文字描述的方式完成;电子电路可以当作文件一样来存储。随着现代技术的发展,这种语言的效益与作用日益明显,每年均能够以超过 30的速度快速成长。这次课程设计就是利用 VHDL 语言设计地铁售票系统的核心功能
2、QuartusII软件作为发平台,设计城市地铁售票系统程序并进行仿真。使其实现选票种、选择张数、出票、找零等功能。关键词: 地铁,售票,VHDL 语言,QuartusIIAbstract: VHDL language is used to describe the behavior and structure of electronic systems but isparticularly suited as a language to describe the structure and behavior of digital electronichardware designs. The
3、application of it means two changes: electro circuitdesign can be done by the kind of file description. and electro circuit canbe stored as a file.It is used to lower the cost and reduce the design cycle.It can supply designers needs easily. With the development of moderntechnology it grows more tha
4、n 30 every year.The Graduation Project just simulate tickedsales system of metro use VHDL language and it under the platform of Quartus II. The functions style select, numbers select ,ticket out ,bids all will be showing in the emulator.Key word: Subway,ticked sales,VHDL,QuartusII目录一实验任务要求11基本要求12.
5、提高要求1二系统设计11.设计思路12.系统总体框图23.分模块设计6三仿真波形及波形分析91.a)系统复位92.b)选择车票种类103.c)选择车票数量114.d)-f)投币125.g)系统自动出票146.h)系统自动找零157.i)再次购买158.j)取消操作169.k)整个购票过程结束16四源程序171主程序SubwayAutoTicketSellSystem.vhd1722k分频模块div_2k.vhd303500k分频模块div_500k.vhd324投币按键防抖模块keyin.vhd34五功能说明351.a)系统复位352.b)选择车票种类363.c)选择车票数量374.d)-f)
6、投币385.g)系统自动出票406.h)系统自动找零417.i)再次购买428.j)取消操作439.k)整个购票过程结束43六元器件清单及资源利用情况441a).数码管442b).LED灯453c).拨码开关454d).按钮465e).管脚47七故障及问题分析471数码管显示472按键防抖47八总结与结论481主程序SubwayAutoTicketSellSystem.vhd482鸣谢49一、实验任务要求设计制作一个简易地铁自动售票系统。基本要求:a) 地铁票价统一为每张两元,只能投入币值为五元的人民币进行购票。b) 能够开机自检,检验显示器件正常。c) 通过按键开关BTN输入购票张数和投入的
7、人民币张数并恰当显示相应信息。d) 设置适当的声音提示或显示提示表示取票和找零。e) 一次购票成功后系统能够恰当地转入下一次购票等待状态。f) 系统能够复位。提高要求:将投币种类增加为1元、5元和10元三种。二、 系统设计2、 设计思路a) 购买车票时,乘客按“开始购票”按钮开始购票;接着,选择车票的种类,即单价,分2元、4元、6元;选择购票数量,一次购票数限制在3张以内,选择1张、2张、3张;然后,进入投币阶段,投入钱币,投入的钱币设计为1元、5元、10元币种;当投入的钱币达到所需金额时,系统进入出票以及找零状态,售票机自动出票,并自动找出余额;然后,再次点击“开始购票”进行另一次购票。b)
8、 选择出站口或投币过程中,乘客都可以按“取消”按钮取消该次交易。选择出站口的过程中,若按“取消”按钮,则售票机直接进入到找零状态;投币过程中,若按“取消”,则售票机将乘客已经投入的钱币全部退出,即进入找零状态,。c) 客人一次只能选择一个车票种类。3种票类型用3位二进制向量编码表示,即001表示选择2元车票,010表示选择2元车票,100选择2元车票。实验之前设计的是3种票类型用2位二进制码表示,因为考虑到仿真及下载到实验板模拟的方便,遂将之改为3位,使之每一个类型用一个按键控制。d) 票机的进币口可识别三种纸币,仿照c)中模式,拟用长度为3的二进制表示。乘客可以连续多次投入钱币,并且可以以任
9、意顺序投入。纸币最多可以投入27元。e) 用5位二进制数表示5个状态,分别是状态程序标示代表状态00001Selstyle等待选择票种状态00010Selticket等待选择购票数量状态00100Inputmoney等待放入钱币状态01000Ticketout出票状态10000Givechagne找零状态3、 系统总体框图图1图2图3图4图5图64、 分模块设计经过分析, 本地铁自动售票系统的设计需要实现以下几项主要功能: 票种选择, 票数选择, 投币处理, 出票及余额找零.本系统可以采用模块化设计和有限状态机的设计方案来实现。 采用模块化设计方法即从整个系统的功能出发, 将系统的整体逐步分解
10、为若干个子系统和模块,然后用VHDL语言对各个模块进行编程,最后形成顶层文件,在Quartus环境下进行编译与仿真,检查所编程序是否运行正确。如果出现错误,需要进行修改,直到完全通过为止。 采用模块化设计的优点在于:对设计的描述从上到下逐步由粗略到详细,符合常规的逻辑思维习惯。便于由多个设计者同时进行设计从而加速整个项目的开发进度;每个子模块都能够灵活使用综合和实现工具独立进行优化,从而达到更好的优化结果;调试、更改某个子模块时,不会影响其他模块的实现结果,保证了整个设计的稳定性与可靠性。 有限状态机(Finite State Machine,简称FSM)是指输出向量不仅依赖于当前输入向量,也
11、依赖于过去输入向量序列的电路.一个有限状态机电路由寄存器逻辑(时序逻辑)和组合逻辑组成. 有限状态机是数字逻辑电路以及数字系统的重要组成部分,尤其应用于数字系统核心部件的设计,以实现高效率高可靠性的逻辑控制。一般有限状态机的VHDL组成 :说明部分:主要是设计者使用TYPE语句定义新的数据类型,如: TYPE states IS (st0, st1, st2, st3, st4, st5); SIGNAL present_state, next_state: states;主控时序逻辑部分:任务是负责状态机运转和在外部时钟驱动下实现内部状态转换的进程。时序进程的实质是一组触发器,因此,该进程中
12、往往也包括一些清零或置位的输入控制信号,如Reset信号。 主控组合逻辑部分:任务是根据状态机外部输入的状态控制信号(包括来自外部的和状态机内部的非进程的信号)和当前的状态值current_state来确定下一状态next_state的取值内容,以及对外部或对内部其他进程输出控制信号的内容。 辅助逻辑部分:辅助逻辑部分主要是用于配合状态机的主控组合逻辑和主控时序逻辑进行工作,以完善和提高系统的性能。 无论与基于VHDL的其它设计方案相比,还是与可完成相似功能的CPU相比,状态机都有其难以逾越的优越性,它主要表现在以下几方面: 由于状态机的结构模式相对简单,设计方案相对固定,特别是可以定义符号化
13、枚举类型的状态,这一切都为VHDL综合器尽可能发挥其强大的优化功能提供了有利条件。而且,性能良好的综合器都具备许多可控或不可控的专 门用于优化状态机的功能。 状态机容易构成性能良好的同步时序逻辑模块,这对于对付大规模逻辑电路设计中令人深感棘手的竞争冒险现象无疑是一个上佳的选择,加之综合器对状态机的特有的优化功能,使的状态机解决方案的优越性更为突出。 状态机的VHDL设计程序层次分明,结构清晰,易读易懂,易排错和修改。 在高速运算和控制方面,状态机更有其巨大的优势。由于在VHDL中,一个状态机可以由多个进程构成,一个结构体中可以包含多个状态机,而一个单独的状态机(或多个并行运行的状态机)以顺序方
14、式的所能完成的运算和控制方面的工作与一个CPU类似。 就运行速度而言,状态机状态变换周期只有一个时钟周期,而且,由于在每一状态中,状态机可以完成许多并行的运算和控制操作,所以,一个完整的控制程序,即使由多个并行的状态机构成,其状态数也是十分有限的。因此有理由认为,由状态机构成的硬件系统比CPU所能完成同样功能的软件系统的工作速度要高出两个数量级。 就可靠性而言,状态机的优势也是十分明显的。首先是由于状态机的设计中能使用各种无懈可击的容错技术;其次是当状态机进入非法状态并从中跳出所耗的时间十分短暂,通常只有2个时钟周期,约数十个ns,尚不足以对系统的运行构成损害.应用VHDL 设计状态机的具体步
15、骤如下:(1)根据系统要求确定状态数量、状态转移的条件和各状态输出信号的赋值,并画出状态转移图;(2)按照状态转移图编写状态机的VHDL 设计程序;(3)利用EDA 工具对状态机的功能进行仿真验证。 经过综合比较,决定采用状态机来实现本系统的设计,这样不仅思路很清楚而且可读性也非常强. 利用状态机实现售票功能。 需要首先把整个系统的所有状态都给罗列出来,然后实现每个状态的内容,最后再利用一些变量将各个状态连接起来,实现整个系统的基本功能.Kinin模块是用来防抖的,由于按键动作的时刻和按下的时间长短是随机的。并且存在由开关簧片反弹导致的电平抖动,抖动的时间一般小于20mS,因此必须为每个按键开
16、关设置一个消抖和同步电路,此电路可有多种形式。按一次键,只产生一个脉冲,脉冲宽度为防抖动时钟的脉宽。在投币的时候,由于要多次投币,多次按键,使之在按键的时候,每按一次,程序只会执行一次。防抖动时钟的频率为100HZ左右,接下来得为其设置一个分频系数为500k的分频。div_500k是系数为500k的分频,为的是把实验板50mHz的频率分为100Hz,使防抖电路正常工作。div_2k是系数为2k的分频,为的是把实验板50mHz的频率分为25000Hz,每个数码管工作频率到2000Hz左右。三、 仿真波形及波形分析a). 系统复位图7系统复位, Restart='1';系统进入第一
17、个状态state=00001,系统所有数据清零,Selstyle,等待选择票种状态,6个数码管显示000000;b). 选择车票种类图8选择车票种类,style=“100“代表买单价为6元的车票,系统进入第二个状态state=00010,Selticket,等待选择购票数量状态,6个数码管显示600000;c). 选择车票数量图9选择车票数量,Tnum=“100“代表购票 3张,系统进入第三个状态state=00100, Inputmoney,等待放入钱币状态,MoneyInputAlarm=1代表钱币不足,6个数码管显示630000;d). 投入钱币图10投入钱币,Money=”010”代表
18、投入 5元,钱币不足,系统依旧停留在第三个状态state=00100, MoneyInputAlarm=1代表钱币不足,6个数码管显示630500,等待放入钱币;e). 第二次投入钱币图11第二次投入钱币,Money=”100”代表投入10元,但钱币依旧不足(6*3=18>5+10=15),判断Castmoney<Totalmoney,系统依旧停留在第三个状态state=00100, MoneyInputAlarm=1代表钱币不足,6个数码管显示631500,等待放入钱币;f). 第三次投入钱币图12第三次投入钱币,Money=“010“代表投入5元,钱币足够(6*3=18<
19、5+10+5=20),判断Castmoney>Totalmoney,MoneyInputAlarm=0代表钱币已足,系统进入第四个状态, state=01000, Ticketout,出票状态;g). 系统自动出票系统自动出票,Tout=1显示在3个周期代表出票3张,系统进入第五个状态, state=10000,Givechagne,找零状态。h). 系统自动找零系统自动找零,Mout0=1持续两个周期代表检测restmoney>1,依次找出2张1元的纸币,找零结束,6个数码管显示632032,State=”10000”代表状态停留在找零阶段。i).再次购买图13之后, Rebuy
20、=1,代表再次购票,进入第一个状态state=00001,系统数据清零,Selstyle,等待选择票种状态,6个数码管显示000000;j). 取消操作图14在c),d),e)之后,如果想取消交易,cancelkey=1,系统进入找零状态,如,在d)之后取消,自动找零,Mout1=1代表检测到restmoney>5,找出一张5元的纸币,找零结束,6个数码管显示630505;k). 整个购票过程结束。四、 源程序1.主程序SubwayAutoTicketSellSystem.vhd-File Name : SubwayAutoTicketSellSystem.vhd-Description
21、 : Achieve the function of auto ticket selling-Limition : None-System : Vhdl9.0-Soft : Quartus2-9.0-Author : ChenDawen-Revision : Version 1.0 ,2012-10-31-library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity SubwayAutoTicketSellSystem is port( Restart:in std_logic; - 系统复位
22、信号 Rebuy:in std_logic; -开始购票操作 Clk:in std_logic; - 系统时钟 Cancelkey: in std_logic; - 取消操作键 Style: in std_logic_vector(2 downto 0); - 车票种类 Tnum:in std_logic_vector(2 downto 0); - 所购票数 Money: in std_logic_vector(2 downto 0); -投币口 MoneyInputAlarm:out std_logic; - 投币不足报警信号 Tout:out std_logic; - 出票 Mout:ou
23、t std_logic_vector(1 downto 0); - 余额找出 State:out std_logic_vector(4 downto 0);- 系统状态指示- beep:out std_logic; -蜂鸣器信号 SG:out std_logic_vector(6 downto 0); -段码 BT:out std_logic_vector(5 downto 0) -位码 ); end SubwayAutoTicketSellSystem;architecture behave of SubwayAutoTicketSellSystem iscomponent div_2K -
24、引入div_2k分频模块 port(clk_in: in std_logic; clk_out: out std_logic);end component;component div_500K -引入div_500k分频模块 port(clk_in2: in std_logic; clk_out2: out std_logic);end component; component keyin -引入keyin防抖模块 port(clk_in1:in std_logic; reset:in std_logic; resetn:out std_logic);end component;type TT
25、 is (selstyle,selticket,inputmoney,ticketout,givechange) ; - 定义系统转换状态 (等待选择票种状态, 等待选择购票数量状态, 等待放入钱币状态, 出票状态, 找零状态)signal clk_tmp:std_logic;-临时时钟signal clk_tmp2:std_logic;-临时时钟2signal CNT6:INTEGER RANGE 0 TO 5;signal A:INTEGER RANGE 0 TO 5;signal Tstyle:std_logic_vector(6 downto 0);-车票单价显示signal Tnum
26、ber:std_logic_vector(6 downto 0); -车票数量显示signal Minput1:std_logic_vector(6 downto 0); -投入金额十位显示signal Minput2:std_logic_vector(6 downto 0); -投入金额个位显示signal Minput:std_logic_vector(4 downto 0); -投入金额计数signal Toutnum0:std_logic_vector(6 downto 0); -出票数量显示signal Toutnum:std_logic_vector(1 downto 0); -出
27、票数量计数signal Changeout0:std_logic_vector(6 downto 0); -输出零钱数显示signal Changeout:std_logic_vector(3 downto 0); -输出零钱数量计数signal Moneyn:std_logic_vector(2 downto 0); -防抖之后实际投币输入 beginu1:div_2k port map(clk_in=>CLK,clk_out=>clk_tmp); -各种映射u2:div_500k port map(clk_in2=>CLK,clk_out2=>clk_tmp2);
28、u4:keyin port map(clk_in1=>CLK_tmp2,reset=>money(0),resetn=>moneyn(0);u5:keyin port map(clk_in1=>clk_tmp2,reset=>money(1),resetn=>moneyn(1);u6:keyin port map(clk_in1=>clk_tmp2,reset=>money(2),resetn=>moneyn(2);-以下为数码管显示程序模块-process(CNT6) begin case CNT6 is -3线至6线译码器 when 0
29、 => BT <= "011111" ; A <= 0 ; -A为位码 when 1 => BT <= "101111" ; A <= 1 ; when 2 => BT <= "110111" ; A <= 2 ; when 3 => BT <= "111011" ; A <= 3 ; when 4 => BT <= "111101" ; A <= 4 ; when 5 => BT <= &qu
30、ot;111110" ; A <= 5 ; when others => NULL ; end case ; end process;process(clk_tmp)beginif clk_tmp'event and clk_tmp= '1' then -实现模6计数器 if CNT6 = 5 then CNT6 <= 0;else CNT6 <= CNT6+1;end if; end if; end process;process(A) begin case A is -实现数码管的显示功能 when 0 => SG <=
31、 Tstyle ; when 1 => SG <= Tnumber ; when 2 => SG <= Minput1 ; when 3 => SG <= Minput2 ; when 4 => SG <= Toutnum0 ; when 5 => SG <= Changeout0 ;when others => NULL ; end case ; end process; process(Minput) -投入金额数码管显示begincase Minput iswhen "11011" => Minp
32、ut1 <="1101101"Minput2 <="1110000"-27when "11010" => Minput1 <="1101101"Minput2 <="1011111"-26when "11001" => Minput1 <="1101101"Minput2 <="1011011"-25when "11000" => Minput1 <=&qu
33、ot;1101101"Minput2 <="0110011"-24when "10111" => Minput1 <="1101101"Minput2 <="1111001"-23when "10110" => Minput1 <="1101101"Minput2 <="1101101"-22when "10101" => Minput1 <="1101101&q
34、uot;Minput2 <="0110000"-21when "10100" => Minput1 <="1101101"Minput2 <="1111110"-20when "10011" => Minput1 <="0110000"Minput2 <="1111011"-19when "10010" => Minput1 <="0110000"Minput2
35、<="1111111"-18when "10001" => Minput1 <="0110000"Minput2 <="1110000"-17when "10000" => Minput1 <="0110000"Minput2 <="1011111"-16when "01111" => Minput1 <="0110000"Minput2 <="1
36、011011"-15when "01110" => Minput1 <="0110000"Minput2 <="0110011"-14when "01101" => Minput1 <="0110000"Minput2 <="1111001"-13when "01100" => Minput1 <="1111110"Minput2 <="1101101"
37、-12when "01011" => Minput1 <="0110000"Minput2 <="0110000"-11when "01010" => Minput1 <="0110000"Minput2 <="1111110"-10when "01001" => Minput1 <="1111110"Minput2 <="1111011"-09when &quo
38、t;01000" => Minput1 <="1111110"Minput2 <="1111111"-08when "00111" => Minput1 <="1111110"Minput2 <="1110000"-07when "00110" => Minput1 <="1111110"Minput2 <="1011111"-06when "00101"
39、; => Minput1 <="1111110"Minput2 <="1011011"-05when "00100" => Minput1 <="1111110"Minput2 <="0110011"-04when "00011" => Minput1 <="1111110"Minput2 <="1111001"-03when "00010" => Minp
40、ut1 <="1111110"Minput2 <="1101101"-02when "00001" => Minput1 <="1111110"Minput2 <="0110000"-01when "00000" => Minput1 <="1111110"Minput2 <="1111110"-00when others => null ;end case;end process;
41、 process(Changeout) -找零金额数码管显示begincase Changeout iswhen "1001" => Changeout0 <="1111011"-09when "1000" => Changeout0 <="1111111"-08when "0111" => Changeout0 <="1110000"-07when "0110" => Changeout0 <="
42、1011111"-06when "0101" => Changeout0 <="1011011"-05when "0100" => Changeout0 <="0110011"-04when "0011" => Changeout0 <="1111001"-03when "0010" => Changeout0 <="1101101"-02when "0001"
43、; => Changeout0 <="0110000"-01when "0000" => Changeout0 <="1111110"-00when others => null ;end case;end process; process(Toutnum) -出票数量数码管显示begincase Toutnum iswhen "11" => Toutnum0 <="1111001"-03when "10" => Toutnum
44、0 <="1101101"-02when "01" => Toutnum0 <="0110000"-01when "00" => Toutnum0 <="1111110"-00when others => null ;end case;end process;-以上为数码管显示程序模块- process(clk_tmp,restart) -下载时候所用时钟频率 -process(clk,restart) -仿真时候所用时钟频率 variable next_st
45、ate: TT; variable Tm: integer range 0 to 6; - 车票单价 variable totalmoney,castmoney,restmoney: integer range 0 to 27; - 车票总额,投币总额,找零总额variable num : integer range 0 to 3; - 所购票数 variable empty:std_logic; - 找零结束标志 beginif (clk_tmp 'event and clk_tmp='1') then -下载时候所用时钟频率 - if (clk_tmp 'e
46、vent and clk_tmp='1') then-仿真时候所用时钟频率 State<="00001" -系统等待状态 if Restart='1' then-以下为系统复位初始化- Tout<='0' Mout<="00" MoneyInputAlarm<='0' totalmoney:=0; castmoney:=0; restmoney:=0; Tstyle <="1111110" -数码管显示0 Tnumber <="
47、;1111110" -数码管显示0 Minput<="00000" -数码管显示0 Toutnum<="00" -数码管显示0 Changeout<="0000" ; -数码管显示0-以上为系统复位初始化- next_state:=selstyle; - 系统复位,回到初始选站状态 else case next_state is when selstyle => - 选择出票种 case style is - 共3种车票类型 when "000" => Tm:=0; Tsty
48、le <="1111110" - 000代表未选择 when "001" => Tm:=2;Tstyle <="1101101" -001代表选择单价2元车票 when "010" => Tm:=4;Tstyle <="0110011" -010代表选择单价2元车票 when "100" => Tm:=6; Tstyle <="1011111" -100代表选择单价2元车票 when others =>nul
49、l;end case; if Tm/=0 then next_state := selticket; - 选票种结束,进入选票数状态 elsenext_state := selstyle; - 未选票种,停留在选票种状态 end if ; when selticket => - 选择票数State<="00010" -等待选择购票数量状态 if (Cancelkey='1') then next_state:=givechange;- 选票期间取消操作,直接进入找零状态 else case Tnum is when "001"
50、 => -001代表选择1张车票 totalmoney := totalmoney+ 1*Tm; - 计算票价 num:=1; Tnumber <="0110000" -数码管显示1when "010" => -010代表选择2张车票 totalmoney := totalmoney+ 2*Tm; num:=2; Tnumber <="1101101" -数码管显示2when "100" => -100代表选择3张车票 totalmoney := totalmoney+ 3*Tm; n
51、um:=3; - 最多购3张票 Tnumber <="1111001" -数码管显示3 when others =>null; end case; if totalmoney /=0 then next_state := inputmoney; - 选票结束,进入投币状态 elsenext_state := selticket; - 未选票,停留在选票状态 end if ; end if; when inputmoney => - 进行投币State<="00100" -等待放入钱币状态if Moneyn(0)='1
52、9; then -下载时所用投币按键1元- if Money(0)='1' then -仿真时所用投币按键1元castmoney := castmoney+1; -投币钱数计数增加1Minput<=minput+"00001" -投币数码管显示增加1elsif Moneyn(1)='1' then -下载时所用投币按键5元- elsif Money(1)='1' then -仿真时所用投币按键5元castmoney := castmoney+5; -投币钱数计数增加5Minput<=minput+"001
53、01" -投币数码管显示增加5 elsif Moneyn(2)='1' then -下载时所用投币按键10元- elsif Money(2)='1' then -仿真时所用投币按键10元castmoney := castmoney+10;-投币钱数计数增加10Minput<=minput+"01010" -投币数码管显示增加10 - 连续投币,并进行累加 end if; if (Cancelkey='1') then - 投币期间取消操作,直接进入找零状态退还所投钱币 MoneyInputAlarm<=&
54、#39;0' restmoney:=castmoney; next_state:=givechange; elseif (castmoney<totalmoney)then - 比较投币总额与车票总额 MoneyInputAlarm <='1' -投币不足警报亮next_state :=inputmoney; - 投币不足,继续进入投币状态 else MoneyInputAlarm<='0' -投币不足警报灭next_state :=ticketout; - 投币足够,进入出票状态 end if ; end if; when ticketout => - 出票 State<="01000" -等待出票状态 case num is when 0 =>null; when 1 => Tout <=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于二零二四年度的服务器硬件租赁合同3篇
- 新员工消防安全知识培训
- 空调采购安装合同范本
- 培训课件模板
- 疱疹病毒病人的护理
- 农作物种子购销合同
- 南京市房产交易合同(2024版)
- 百纳行渠道培训
- 公司清洁钟点工劳务合同
- 烫发后的护理日常
- 结核病防治知识健康讲座总结
- 业主授权租户安装充电桩委托书
- 医院内急诊重症快速反应小组建设专家共识1
- 形象与礼仪智慧树知到期末考试答案2024年
- 2024年黑龙江检察机关法院书记员招聘笔试参考题库附带答案详解
- 中考命题作文预测及导写:“一步一步往前走”
- 口腔消毒灭菌知识培训课件
- 针刺治疗颈椎病
- 室内设计大学生职业生涯规划模板
- 工程人员服务意识培训课件
- 儿童视力保护培训课件
评论
0/150
提交评论