




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选文档唐 山 学 院 EDA课 程 设 计 题 目 简易数字频率计设计 系 (部) 信息工程系 班 级 12自动化 姓 名 陈帅 学 号 4120219124 指导老师 郭耀华 2014 年12月 21日 至 12 月 26 日 共 1 周2014年 12 月 26 日目 录1 引言12 试验2 2.1 试验原理22.1.1基本原理32.1.2原理框图3 2.2各模块程序的设计32.2.1分频定时模块的设计32.2.2待测信号计数模块的设计42.2.3显示编译模块的设计82.2.4顶层模块的设计12 .2.2.5 封装图152.2.6.引脚锁定154 结论17参考文献18附 录19精选文档1
2、 引言数字频率计是通讯设备、计算机、电子产品等生产领域不行缺少的测量仪器。由于硬件设计的器件增加,使设计更加简单,牢靠性变差,延迟增加,测量误差变大。通过使用EDA技术对系统功能进行描述,运用VHDL语言,使系统简化,提高整体的性能和牢靠性。接受VHDL编程设计的数字频率计,除了被测信号的整形部分,键输入和数码显示以外,其他都在一片FPGA上实现,从而让整个系统格外精简,让其具有机敏的现场更改性,在不转变硬件电路的基础上,进一步改进提高系统的性能,使数字频率计具有高速,精确度高,牢靠性强,抗干扰等优点,为数字系统进一步的集成制造了条件。传统的硬件设计接受自下至上(bottom_up)的设计方法
3、。这种设计方法在系统设计的后期进行仿真和调试,一旦考虑不周,系统设计存在较大缺陷,就有可能要重新设计系统,使设计周期大大增加。现代硬件设计利用电子设计自动化(EDA)技术,接受并行工程和自上至下(top_down)的设计方法,从系统设计入手,在顶层进行功能方框图的划分和结构设计,在方框图一级进行仿真和纠错,并用vhdl等硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,最终再用规律综合优化工具生成具体的门级规律电路的网表,其对应的物理实现是专用集成电路(ASIC)。Vhdl即超高速集成电路硬件描述语言,主要用于描述数字系统的结构、行为、功能和接口。vhdl对设计的描述具有相对独立性,
4、因此设计者可以不懂硬件结构,降低了硬件电路设计难度。以4位十进制数字频率计的设计来说明vhdl语言在现代硬件设计中的应用。信号频率计的测量有测频法和周期测量法。本文接受测频法,即直接计算每秒钟内信号脉冲的个数。2 试验2.1 简易数字频率计设计原理 设计内容:(1)设计四位十进制的简易数字频率计,对1HZ-10MHZ的方波信号进行测量;(2)测量的方波频率值要在4位数码管上进行显示;(3)依据不同的待测方波信号,频率计分为4个量程进行测量,四个量程分别为乘 1乘10,乘100,乘1000量程。 (4)此频率计要设有一个整体复位把握;2.1.1基本原理数字频率计的主要功能是测量周期信号的频率。频
5、率计的基本原理是用一个频率稳定度高的频率源作为基准时钟,对比测量其他信号的频率。频率是单位时间(1秒)内方波信号发生周期变化的次数。在给定的1秒时间内对方波信号波形计数,并将所计数值显示出来,就能读取被测信号的频率。数字频率计首先必需获得相对稳定与精确的时间,然后通过计数器计算这一段时间间隔内的方波脉冲个数并显示出来。这就是数字频率计的基本原理。脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为fNT,其中f为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。本设计要求基准时钟的频率为1HZ,所以需要分频设计产生脉宽为1秒的脉冲。再利用这个脉宽为1秒的脉冲计数,计
6、数器所记录的结果,就是被测信号的频率。由于待测方波信号的频率在1HZ-10MHZ,所以仅用四位7段数码管无法完全正确显示,所以需要选择恰当的量程来显示待测风波信号的频率,当量程选择不当或者频率超出10MHZ时,用一个LED灯点亮来警告测量有错误。2.1.2原理框图本设计要求用基准时钟信号(f=1HZ)的把握完成对1HZ-10MHZ的方波信号进行测量,使得所测量的方波频率值在4位7段数码管上进行显示,并依据不同的待测方波信号,将频率计分为4个量程进行测量,四个量程分别为乘1,乘10,乘100,乘1000量程,量程的选择分为手动和自动两种。当手动选择量程时,自动量程显示为零,手动量程部分依手动所选
7、量程而定;当手动选择信号不工作时,频率计自动选择比较合适的量程进行显示,手动量程部分显示为零。而且此频率计具有记忆功能,在测量过程中不刷新数据,等数据测量过程结束后才显示测量值,显示测量的频率值,并保存到下一次测量结束。数字频率计还有一个整体的异步清零端,随时可以进行清零操作。此外,数字频率计还有一个不能正确显示待测方波信号频率时的警告灯。数字频率计通过测频把握发生器将基准信号转换成所需要的把握信号clk1和en,待测信号计数器在en的把握下对待测信号进行测量并通过锁存器在clk1的把握下按要求进行显示,数字频率计包括测频把握发生器ctr、待测信号计数器counter、锁存器regist三个功
8、能模块,其原理框图如图所示。b测频把握发生器待测信号计数器锁存器d(27:0)sel(3:0)a(3:0)clkrstrstclkclk1enclkinrstclkinenba(3:0)rstclk1d(27:0)sel(3:0)zd(3:0)zd(3:0)sd(3:0)sd(3:0)q1(3:0)q1(3:0)q2(3:0)q2(3:0)q3(3:0)q3(3:0)q4(3:0)q4(3:0)其中a是手动选择量程输入端,sd代表手动量程的显示,rst是整体异步清零输入端,clk是频率为1HZ的基准时钟,clkin是待测的方波信号,b是显示是否超出了频率计的测量范围,zd是在手动选择量程不工作
9、时频率计进行的自动选择合适的量程显示,q1q4是四位数值从高位到低位的显示结果。2.2 各模块程序及仿真此设计运用元件例化的方法进行功能的实现,所以各个模块即使相互独立又是彼此联系的,三个模块共同完成方波信号的测量。2.2.1测频把握发生器ctr模块的设计本设计要求为该模块ctr供应的基准信号频率为1 HZ,所以要做一个2分频器把握产生一个脉宽为1秒的周期信号en和一个锁存信号clk1。rst为高电平常进行整体异步清零。当en处于高电平的时候对输入的待测方波信号进行计数测量,当en处于低电平的时候停止计数,并保持所计数值。当clk1是上升沿的时候将所保持的数值输出显示。此测频把握发生器的程序如
10、下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity ctr isport(clk,rst: in std_logic; clk1,en: buffer std_logic);end ctr;architecture bhv of ctr isbeginprocess(clk,rst)variable c:integer range 0 to 2beginif rst='1' thenen<='0&
11、#39;elsif clk'event and clk='1' thenc:=c+1;if c=1 thenc:=0;en<=not en;end if;end if;clk1<=not(clk or en);end process;end bhv;此测频把握发生器的仿真结果如图所示。此模块假如仿真12M分频器很困难,为了看到仿真效果,改成20倍分频器,得到了此仿真结果。假如按程序下载,在硬件上能很清楚的看到由6MHZ的基准信号得到了脉宽为1秒的把握信号en和把握输出信号clk1,rst实现了整体异步清零的功能。2.2.2待测信号计数器counter模块的设
12、计该模块通过ctr模块所产生的脉宽为1秒的en信号来对待测信号进行计数。用28位二进制数d进行对待测信号的计数,同时用sel表示自动量程依据所得数值d变化,sel为“0001”时代表乘1,sel为“0010”时代表乘10,sel为“0100”时代表乘100,sel为“1000”时代表乘1000。假如测量选择量程太小或者待测方波信号频率超出10MHZ,均无法正确显示测量结果,则将b置高电平进行警告。此待测信号计数器的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_
13、logic_arith.all;entity counter isport(en,clkin,rst:in std_logic;a:in std_logic_vector(3 downto 0);sel:out std_logic_vector(3 downto 0);d :out std_logic_vector(27 downto 0);b:out std_logic);end counter;architecture bhv of counter issignal dd: std_logic_vector(27 downto 0);beginprocess(rst,en,clkin)be
14、ginif rst='1' thendd<=(others=>'0');b<='0'elsif en='1' then if clkin'event and clkin='1' thenif dd(27 downto 0)="1001100110011001100110011001" thendd<=(others=>'0'); b<='1'elsif dd(23 downto 0)="100110011001
15、100110011001" then dd<=dd+"011001100110011001100111"elsif dd(19 downto 0)="10011001100110011001" thendd<=dd+"01100110011001100111"elsif dd(15 downto 0)="1001100110011001" thendd<=dd+"0110011001100111"elsif dd(11 downto 0)="10011001
16、1001" thendd<=dd+"011001100111"elsif dd(7 downto 0)="10011001" then dd<=dd+"01100111"elsif dd(3 downto 0)="1001" thendd<=dd+"0111"elsedd<=dd+'1'end if;end if;if dd(27 downto 24)>"0000" thensel<="1000"
17、;elsif dd(23 downto 20)>"0000" thensel<="0100"elsif dd(19 downto 16)>"0000" thensel<="0010"elsesel<="0001"end if;elsedd<=(others=>'0');end if;if dd(27 downto 24)>"0000" thenif a="1000" thenb<=
18、9;0'elsif a="0000" thenb<='0'elseb<='1'end if; elsif dd(23 downto 20)>"0000" thenif a="1000" thenb<='0'elsif a="0100" thenb<='0'elsif a="0000" thenb<='0'elseb<='1'end if; elsif
19、dd(19 downto 16)>"0000" thenif a="1000" thenb<='0'elsif a="0100" thenb<='0'elsif a="0010" thenb<='0'elsif a="0000" thenb<='0'elseb<='1'end if; elseb<='0' end if;end process;process(
20、en)beginif en'event and en='0' thend<=dd;end if;end process;end bhv;此待测信号计数器的仿真结果如图3所示。 该模块实现了在en为高电平常对输入的待测信号clkin进行测量,当en为低电平常停止测量并将所计数值输出,即在1秒内待测信号的脉冲数,也就是待测信号的频率值。sel为依据所计数值自动合理选择的量程,此时sel为“0001”,代表乘1HZ的量程,即所测方波信号的频率在9999HZ之内。2.2.3 锁存器regist模块的设计该模块用于实现记忆显示,在测量过程中不刷新新的数据,直到测量过程结束后
21、,锁存显示测量结果,并且保存到下一次测量结束。其功能是对四位BCD码进行锁存并且转换成为对应的4组七段码,用于驱动数码管。其中rst为高电平常对锁存器进行异步清零。rst为低电平常正常工作。输入信号a对锁存器进行把握即手动选择量程,当a为“0001”时,代表选择乘1档,自动量程显示为零,手动量程显示乘1HZ,只输出计数所得值d的低四位并显示在四个十进制数码管上;当a为“0010”时,代表选择乘10档,自动量程显示为零,手动量程显示乘10HZ,只输出计数所得值d的次低四位并显示在四个十进制数码管上;当a为“0100”时,代表选择乘100档,自动量程部分清零,手动量程显示乘100HZ,只输出计数所
22、得值d的次高四位并显示在四个十进制数码管上;当a为“1000”时,代表选择乘1000档,自动量程部分清零,手动量程显示乘1000HZ,只输出计数所得值d的高四位并显示在四个十进制数码管上。当a为“0000”时,代表不进行手动选择,则手动量程显示为零,自动量程部分依据所计数值进行合理选择。sel为“0001”代表所测得的频率值在09999HZ之内,则自动量程显示乘1HZ,输出所测数值的有效部分并显示在四个十进制数码管上;sel为“0010”代表所测得的频率值在1000099999HZ之内,则自动量程显示乘10HZ,输出所测数值的有效部分的高四位并显示在四个十进制数码管上;sel为“0100”代表
23、所测得的频率值在100000999999HZ之内,则自动量程显示乘100HZ,输出所测数值的有效部分的高四位并显示在四个十进制数码管上;sel为“1000”代表所测得的频率值在10000009999999HZ之内,则自动量程显示乘1000HZ,输出所测数值的有效部分的高四位并显示在四个十进制数码管上。此锁存与译码器的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity regist isport(clk1,rst:in s
24、td_logic; d:in std_logic_vector(27 downto 0); sel,a:in std_logic_vector(3 downto 0); zd,sd:out std_logic_vector(3 downto 0); q1,q2,q3,q4:out std_logic_vector(3 downto 0);end regist;architecture bhv of regist isbeginprocess(rst,clk1) begin if rst='1' then q1<=(others=>'0'); q2&l
25、t;="0000" q3<="0000" q4<="0000" zd<="0000" elsif(clk1'event and clk1='1') then if(a="0000") then if sel="1000" then q1<=d(27 downto 24); q2<=d(23 downto 20); q3<=d(19 downto 16); q4<=d(15 downto 12); zd<=
26、"1000" sd<="0000" elsif sel="0100" then q1<=d(23 downto 20); q2<=d(19 downto 16); q3<=d(15 downto 12); q4<=d(11 downto 8); zd<="0100" sd<="0000" elsif sel="0010" then q1<=d(19 downto 16); q2<=d(15 downto 12); q3&l
27、t;=d(11 downto 8); q4<=d(7 downto 4); zd<="0010" sd<="0000" elsif sel="0001" then q1<=d(15 downto 12); q2<=d(11 downto 8); q3<=d(7 downto 4); q4<=d(3 downto 0); zd<="0001" sd<="0000" end if; elsif(a="0001") then q
28、1<=d(15 downto 12); q2<=d(11 downto 8); q3<=d(7 downto 4); q4<=d(3 downto 0); zd<="0000" sd<="0001" elsif(a="0010") then q1<=d(19 downto 16); q2<=d(15 downto 12); q3<=d(11 downto 8); q4<=d(7 downto 4); zd<="0000" sd<="0
29、010" elsif(a="0100") then q1<=d(23 downto 20); q2<=d(19 downto 16); q3<=d(15 downto 12); q4<=d(11 downto 8); zd<="0000" sd<="0100" elsif(a="1000") then q1<=d(27 downto 24); q2<=d(23 downto 20); q3<=d(19 downto 16); q4<=d(15 d
30、ownto 12); zd<="0000" sd<="1000" end if; end if; end process;end bhv;此锁存与译码器的仿真结果如图所示。该模块的仿真为了将各个功能都清楚的显示出来将sel进行了提前设置,并不是依据所测频率值进行的自动选择。Sel是输入信号,前提我们已经知道sel和a不能同时工作,所以为了使用a,将sel人为的提前设成“0000”了,不过如此提前将sel的值进行设定并不影响整体的功能。此仿真图中a为“0001”代表乘1量程,只显示所计数值d的低四位,即十六进制的“0” “3” “6” “8”“
31、9”,此时手动量程sd显示为“0001”,自动量程zd显示“0000”代表不工作。2.2.4顶层模块的设计该模块用元件调用(元件例化语句)实现本设计要求的整体功能。顶层文件的作用是将三个底层文件联系到一起,共同实现该简易数字频率计数器的功能。此处定义了en0,d0,sel0,clko等四个信号进行底层文件之间以及底层与顶层之间的连接。此模块的程序如下所示:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity pin isport(r
32、st,clk,clkin:in std_logic; q1,q2,q3,q4:out std_logic_vector(3 downto 0); sd,zd:out std_logic_vector(3 downto 0); a:in std_logic_vector(3 downto 0); b:out std_logic);end pin;architecture bhv of pin iscomponent ctrport(clk,rst : in std_logic; clk1,en : buffer std_logic);end component;component counter
33、port(en,clkin,rst :in std_logic;a:in std_logic_vector(3 downto 0); sel :out std_logic_vector(3 downto 0); d :out std_logic_vector(27 downto 0); b :out std_logic);end component;component registport(clk1,rst:in std_logic; d:in std_logic_vector(27 downto 0); sel,a:in std_logic_vector(3 downto 0); zd,sd
34、:out std_logic_vector(3 downto 0); q1,q2,q3,q4:out std_logic_vector(3 downto 0);end component;signal clk0: std_logic;signal en0: std_logic;signal d0: std_logic_vector(27 downto 0);signal sel0: std_logic_vector(3 downto 0);beginU1:ctr port map(clk,rst,clk0,en0);U2:counter port map(en0,clkin,rst,a,sel
35、0,d0,b);U3:regist port map(clk0,rst,d0,sel0,a,zd,sd,q1,q2,q3,q4);end bhv;此模块的仿真结果如图所示:由于顶层模块调用ctr模块,所以仿真时遇到类似的问题,我们改用12倍分频器来仿真,则在6个基准信号周期时间内对待测信号计数,所以得到的数值除以6就是待测信号与基准信号的频率倍数关系。所以整体功能仿真结果显示,基准信号周期为200ns,即频率为5MHZ,所以此待测信号的频率为50MHZ。当a为“0001”时,代表选择乘1HZ的量程,即显示低四位,此时,手动量程显示为“0001”表示乘1HZ量程,自动量程显示为“0000”表示不
36、工作。当a为“0010”时,代表选择乘10HZ的量程,即显示次低四位,此时,手动量程显示为“0010”表示乘10HZ量程,自动量程显示为“0000”表示不工作。当rst为高电平常,输出均为0,则进行了整体异步清零。2.2.6 封装图2.2.5 引脚锁定硬件下载前,进行引脚锁定,各引脚锁定状况如图6所示。引脚锁定完成后,再次对设计文件进行编译。重新编译完成后,将配置文件下载到系统的目标芯片上,下载适配后,按动键1到键4进行手动选择量程,查看各个部分是否能够完成其功能。可以按键8进行异步清零。最右边四个数码管从左向右是从高位到低位的显示的频率。最左边数码管显示手动选择的量程数值,左边其次个是自动默
37、认选择的量程数值。硬件电路简捷,体积小,全部电路都在一块芯片里,因此性能稳定。3 总结 通过这学期学的EDA技术,再加上这几天际查资料边请教老师,最终理清了头绪,完成了此次课程设计。刚开头拿到本次程序设计题的时候的确有点儿兴奋,心想着尽量要独立快速而又高质量的完成这次课程设计。但是或许思路有了,觉得特殊简单,我可怕了,一阵慌乱后,最终定下心来了最终找到了一个比较类似的VHDL程序的简易数字频率计设计。这也使得我今日的程序颇有类同的感觉。看了几遍课题设计要求和书上给的源程序后对如何写这一方面的程序有了肯定的了解,于是就尝试着自己开头作起了这个系统的总体框图。平常觉得老师讲课时都特殊简洁清楚,但是
38、现在自己拿到一个设计要求时,乱阵脚了,但是经过努力,先把封装图画了出来,最终把原理框图画出来了。时间过得真快,马上到周四了,要进试验室做仿真和下载的时候了,刚开头在试验室有点焦急,但是老师的新要求提出时,我冷静了,修改程序,做调试,在最终最终成功的完成了符合设计要求的程序,下载后仍有点小问题需要修改。但是到底得到了老师的确定,我的信念更足了。下午又重新整理了自己的思路,功夫不负有心人,最终把问题都解决了。通过这次EDA课程设计,我对课堂上所学到的理论学问的理解加深了很多, 自己动脑、动手设计的力量也得到了较大提高。在这次课程设计的过程中,我对 VHDL 语言有了更深的生疏。通过查阅相关资料和动
39、手设计我发觉我以前对 VHDL 语言的生疏太过肤浅,认为 VHDL 语言只能用于设计小型的电路系统。但有了更深刻的生疏之后我发觉学好 VHDL 语言可以设计出大规模的、功能简单的电路系统。我发觉了动手实践的重要性。动手实践是理论学问得以机敏运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并依据自己对课堂上获得的专业学问的理解来解决才能真正的提高自己的力量。这也提示我在平常的学习生活中不能一味埋头于课本学问,当今社会竞争越来越激烈,社会对人才的要求越来越全面,只有理论学问是远远不够的,必需靠实践作支撑。虽然课设完成了,但是我意识到,我对FPGA 技术仅仅
40、只是停留在入门的阶段,想要有更大的进展,更深化的争辩,还需要更多的努力与实践。参考文献1 Voknei A.Pedroni.VHDL数字电路设计教程.电子工业出版社,2008.52 潘松,黄继业.EDA技术有用教程(其次版).科学出版社,2005.23 焦素敏.EDA应用技术.清华高校出版社,2002.44曾繁泰,陈美金.VHDL程序设计M.北京:清华高校出版社,2001.5潘松,黄继业.EDA技术有用教程M.北京:科学出版社,2002.6宋万杰,罗丰.CPLD 技术及其应用M.西安:西安电子科技高校出版社,1999附 录library ieee;use ieee.std_logic_1164
41、.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity cs3 isport(rst,clk,clkin:in std_logic; a:in std_logic_vector(3 downto 0); q1,q2,q3,q4:out std_logic_vector(3 downto 0); sd:out std_logic_vector(3 downto 0); zd:out std_logic_vector(3 downto 0); b:out std_logic);end cs3;architec
42、ture bhv of cs3 issignal clk1:std_logic;signal en:std_logic;signal bb:std_logic;signal dd:std_logic_vector(27 downto 0);signal d:std_logic_vector(27 downto 0);signal sel:std_logic_vector(3 downto 0);beginprocess(clk,rst)variable c:integer range 0 to 2;beginif rst='1' then clk1<='0'
43、;en<='0'elsif clk'event and clk='1' thenc:=c+1;if c=1 thenc:=0; en<=not en;end if;end if; clk1<= not ( clk or en); end process; process(rst,en,clkin) begin if rst='1' then dd<=(others=>'0'); bb<='0' elsif en='1' then if clkin'
44、event and clkin='1' then if dd(27 downto 0)="1001100110011001100110011001" then dd<=(others=>'0'); bb<='1' elsif dd(23 downto 0)="100110011001100110011001" then dd<=dd+"011001100110011001100111" elsif dd(19 downto 0)="10011001100
45、110011001" then dd<=dd+"01100110011001100111" elsif dd(15 downto 0)="1001100110011001" then dd<=dd+"0110011001100111" elsif dd(11 downto 0)="100110011001" then dd<=dd+"011001100111" elsif dd(7 downto 0)="10011001" then dd<=
46、dd+"01100111" elsif dd(3 downto 0)="1001" then dd<=dd+"0111" else dd<=dd+'1' end if;end if; if dd(27 downto 24)>"0000" then sel<="1000" elsif dd(23 downto 20)>"0000" then sel<="0100" elsif dd(19 downto 16
47、)>"0000" then sel<="0010" else sel<="0001" end if; else dd<=(others=>'0');bb<='0'end if;if dd(27 downto 24)>"0000" thenif a="1000" thenbb<='0'elsif a="0000" thenbb<='0'elsebb<=
48、39;1'end if;elsif dd(23 downto 20)>"0000" thenif a="1000" thenbb<='0'elsif a="0100" thenbb<='0'elsif a="0000" thenbb<='0'elsebb<='1'end if;elsif dd(19 downto 16)>"0000" thenif a="1000" t
49、henbb<='0'elsif a="0100" thenbb<='0'elsif a="0010" thenbb<='0'elsif a="0000" thenbb<='0'elsebb<='1'end if;elsebb<='0'end if; end process; process(en) begin if en'event and en='0' then d<=dd; b<=bb; end if; end process; process(rst,clk1) begin if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 检测仪器设备校准与维护服务补充协议
- 互联网企业SPV股权并购协议书
- 培训课程创新研发补充协议
- 《医药论坛杂志》投稿须知官方认证
- 2025年四年级英语教师教学总结模版
- 译林版必修三英语《Unit 3 The world online》Grammar and usage课课件
- 江西理工大学《文艺演出策划》2023-2024学年第二学期期末试卷
- 2025年档案管理个人工作总结模版
- 泉州师范学院《果树育种技术》2023-2024学年第一学期期末试卷
- 新媒体运营与推广协议
- 2025至2030中国电化学储能行业发展现状及趋势前景预判研究报告
- 2025年公共卫生与预防医学知识考试试题及答案
- 离婚协议书原版
- 2025年高考地理复习 大单元八 人口、城镇与大都市辐射 题库
- 新人教版数学五年级下册3.3 练习五课件
- 中央2025年陆军面向社会公开招考专业技能类文职人员笔试历年参考题库附带答案详解
- 2025年天津市滨海新区中考数学一模试卷
- 湖北省武汉市2025届高中毕业生四月调研考试化学试题及答案(武汉四调)
- 2025年杭州市高三语文二模作文题目“科技与相互理解”写作指导
- 小学生摄影课件
- 2025(标准)承包清工劳务合同协议书范本
评论
0/150
提交评论