




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
永州职业技术学院课程设计课程名称: EDA技术实用教程 题 目:基于FPGA的数字钟设计系、专业: 电子技术系应用电子 年级、班级: 07级电子大专 学生姓名: 冯 苗 指导老师: 龙 安 国 时 间: 2008年12月 目 录一、系统设计. 1.1设计要求 1.1.1任务. 1.1.2要求. 1.1.3题目分析二方案论证与比较 2.1方案一 2.2 方案二 2.3 方案三 三、设计思路 3.1硬件模块 3.2软件模块.四、调试情况.五、系统调试六、心得体会. 附:参考文献. 用VHDL语言编写的数字钟程序摘要:本设计要求一个12进制或24进制的具有时、分、秒计时功能的数字钟,并要求能进行时、分、秒调整,每逢时有报时功能。数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。本设计基于FPGA芯片的数字钟的设计,通过多功能数字钟的设计思路,详细叙述了整个系统的硬件、软件实现过程,实现了时间的显示和修改功能、报时功能等,并尽可能的减少误差,使得系统可以达到实际数字钟的允许误差范围内。关键词:FBGA、数码管、按键一、系统设计11 设计要求111 任务设计并制作一个数字钟,通过设计,掌握电子设计的一般思路,学习电子设计的一般方法。112要求(1)基本要求计时功能:这是数字钟的基本功能,每隔一秒钟计时一次,并在显示屏上显示当前时间。校时功能:能设置实时时间作为数字钟的当前时间,具有小时、分钟的手动校准时间功能。 (2)发挥部分计时进制的选择功能:十二小时制或二十四小时制可选择控制;整点报警功能:每逢整点自动报警;其他创新功能。二方案论证与比较 2.1、方案一:采用74LS163和CD4046设计数字钟图1.1.1 方案一电路图晶体振荡器电路给数字钟提供一个频率稳定准确的32768z的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。由CD4046组成的分频器电路将32768z的高频方波信号经32768(214)次分频后得到2Hz的方波信号经过D触发器二分频得到秒信号供秒计数器进行计数。分频器实际上也就是计数器。时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。时间计数器由74LS163组成.译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。2、方案二:采用AT89C52单片机、数码管设计数字钟图1.1.2 方案二电路图本方案采用AT89C52单片机,单片机的P1口接数码管显示电路,P0口接键控制数码管的显示,P2.0口接入整点报时电路,RESET接入复位和晶振电路。该电路能否成功,关键在于程序的编写而对元器件的要求不太高。用汇编编写得数字钟电路,采用分支结构编写,利用跳转指令与大量的中断指令.当没有按键扫描没有按键按下时,程序正常计数,当检测到有键按下时,程序运转到相应中断程序进行响应处理.从而实现了分支程序的处理.方案三:采用FPGA制成的数字钟 图1.1.3 方案三电路图 市电经过降压电路为FPGA芯片提供3.3V的直流电压,12MHZ的晶振信号加入到FPGA芯片的内定义PORT,切换键、调时键,输出的8个四位的BCD码,经过数据选择器使得某一位信号的BCD码被选中,被选中的信号经过3/8译码电路,送到数码管的进行段码显示.而数码管的位选端也有内部软件编程实现位选.而由时、分,信号为蜂鸣器提供闹钟信号.并口端为程序输入端.三.设计思路 3.1硬件模块采用ALTER公司的ACE1K系列的EP1K10TC100-3芯片,通过Quartus软件编译各个管脚的功能及特性.接入12MHZ时钟信号,经过内部软件分频.得到1HZ和1000HZ信号,得到的1HZ时钟信号作为内部秒个位计数模块的时钟信号,秒个位进行十进制计数,到9进位,为秒十位提供6进制时钟信号,当秒为59时,为分钟提供时钟信号.当秒进位信号作为低位十进制分计数器时钟.分钟计数器为59时,为小时计数器的个位提供时钟信号,当小时计数器、分钟计数器输出信号与闹钟预设信号一样时,扬声器发声.输出信号经过数据选择器选择1位BCD码输出到译码电路,译码后送到数码管显示.位选择信号为数码管显示提供条件.而分频得到的1KHZ的时钟频率作为位选计数器的时钟信号.由于该方案简单而且可靠性高,故采用此种方案.该数字钟可以实现3个功能:计时功能、整点报时功能和重置时间功能,因此有3个子模块:计时、报时(alarm1)、重置时间(s1、m1、h1、d1)。其中计时模块有4部分构成:秒计时器(second1)、分计时器(minute1)、时计时器(hour1)和星期计时器(day1)。该数字钟可以实现3个功能:计时功能、整点报时功能和重置时间功能,因此有3个子模块:计时、报时(alarm1)、重置时间(s1、m1、h1、d1)。其中计时模块有4部分构成:秒计时器(second1)、分计时器(minute1)、时计时器(hour1)和星期计时器(day1)。3.2软件模块1)、分频器模块 其实是一个计数器,外加信号频率为12MHZ时,在内部定义了一个信号从0到11999999的整数型计数信号count1,当内部信号计数为11999999时,count1计数为0,产生进位信号CLK1为1,其余时间计数器正常计数.CLK为0,从而实现了12000000次分频.得到1HZ的时钟信号.内部定义了一个从0到11999的整数性信号countf,当内部信号计数为11999时,countf计数为0,产生进位信号CLK1为1,其余时间计数器正常计数.CLK为0,从而实现了12000次分频.得到1KHZ的时钟信号的位选信号.2) 、秒计数模块 内部定义时钟其余时刻均为为秒计时器(second1)是由一个60进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,秒计时器清0;set 为置数信号,当set为0时,秒计时器置数,置s1的值。clk为驱动秒计时器的时钟,sec为秒计时器的输出,ensec为秒计时器的进位信号,作为下一级的时钟输入信号。3) 、分计时器(minute1)是由一个60进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,分计时器清0;set 为置数信号,当set为0时,分计时器置数,置m1的值。 clkm为驱动分计时器工作的时钟,与ensec相连接;min为分计时器的输出;enmin为分计时器的进位信号,作为下一级的时钟输入信号。4) 、时计时器(hour1)模块 是由一个24进制的计数器构成的,具有清0、置数和计数功能。其中reset为清0信号,当reset为0时,时计时器清0;set 为置数信号,当set为0时,时计时器置数,置h1的值。 clkh为驱动时计时器工作的时钟,与enmin相连接;hour为时计时器的输出;enhour为时计时器的进位信号,作为下一级的时钟输入信号。图7 5)、报时模块(alarm1)的功能是当整点(将min作为该模块的输入信号,min=00)时,alarm输出高电平,并且持续1分钟。清0端(reset)前面一小段(200ns)为低电平,后面均为高电平;设置min的值,使其分别为58分、59分、00分、01分、02分、03分,保存波形图,进行仿真,产生如下波形:见由上述波形可以清楚的看到:alarm在0分时输出高电平,并且持续至1min不为0。6)、去抖模块定义变量fb范围0到29999,当外部时钟信号来临时候,fp计数,只有当FP为29999时,fp赋值为0.内部5ms信号反向输出.输出5ms时钟信号,该信号送到内部的D触发器中,只有按键按下且5ms时钟信号来临时,按键信号才被送到触发器.从而实现了去抖.7)、系统总调试(topclock)(Endtime为10us 在秒计时器的clk输入一个周期为5ns的时钟信号;清0端(reset)前面一小段(40ns)为低电平,后面均为高电平;置数端(set)前面一小段(60ns)为低电平,后面均为高电平;秒重置端(s1)可设置数值为50秒,分重置端(m1)可设置数值为57分, 时重置端(h1)可设置数值为23时, 星期重置端(d1)可设置数值为6(星期六);保存波形图,进行仿真,产生如下波形”图8由上述波形可以清楚的看到:当reset为0时,数字钟清0;当set为1时,数字钟置数图9由上述波形可以清楚的看到:秒计时器开始计时,当到达59秒后,秒计时器sec又从0开始计时,同时分钟min加了1,为58分。 由上述波形可以清楚的看到:分计时器开始计时,当到达59分后,分计时器min又从0开始计时,同时小时hour加了1,为24时,即时计时器hour也又从0开始计时,而此时星期计时器day也由6加1后回0,又从0开始计时。当分计时器min为0时,alarm输出一个高电平,持续直到分计时器min的值为1。 图108)、用经过ms去抖程序后,使得keyout输出一个脉冲,将此信号作为按键代码计数电路为每一种按键代码赋已一定功能从而实现一键控制程序流程图如下:详细程序见附录。程序控制过程如下说明:四、产品调试与结果分析1) 书写遗漏 错误提示在305行和307行附近有一个错误,没有加IF.查看后发现由于自己的疏忽,在结束时,没有加END IF.将307行中加入一行结束语句,问题解决.2) 数码管显示时有闪烁检查扫描信号时钟时,发现扫描信号时钟为100HZ,扫描频率过低,引起闪烁.检查分频部分程序,发现扫描信号频率设为100HZ,将扫描信号频率改为1000KHZ.然后发现无闪烁.修改有效.3) 数码管秒个位显示时无2、8字符检查后发现秒个位译码部分字符书写错误.将秒个位字符2、8赋值错误修改观察,有显示. 五、心得体会 转眼一学期就要悄悄走远,感觉这些天是我学的最多的.通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字钟开始计数,但是始终看不到小时、星期的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于小时、星期来说太短了。经过屡次调试,终于找到了比较合适的输入数值:分钟的初始值可以设为57(58、59都可以),小时的初始值可以设为23,星期的初始值可以设为6,这样,仿真之后,就能清楚的看出分钟、小时的循环计数。另外,Endtime的值需要设置的长一点:10us左右,输入的时钟周期值要设置的短一点:5ns左右。总的来说,这次设计的数字钟还是比较成功的,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。 附:参考文献1、黄仁欣主编EDA技术实训教程,清华大学出版社,2006年第2版。2、杨志忠主编数字电子技术,北京高等教育出版社,2003年12第2版。3、潘松、黄继业主编单片机实训教程,科学出版社,2005年5月第2版。附件程序: library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity clock is port(clk:in std_logic;-12M时钟 keyin:in std_logic; speak:out std_logic;-蜂鸣器 dout:out std_logic_vector(7 downto 0);-段码 selout:out std_logic_vector(2 downto 0);-位选end clock;architecture one of clock is signal count:integer range 0 to 11999999;-1HZ秒信号 signal counf:integer range 0 to 11999;-1000HZ SIGNAL CP_5ms : STD_LOGIC; SIGNAL Q1,Q2,Q3: STD_LOGIC; SIGNAL keyout: STD_LOGIC; SIGNAL CJ:STD_LOGIC_VECTOR(2 DOWNTO 0); signal sel:std_logic_vector(2 downto 0);-位选 signal hou1:std_logic_vector(3 downto 0);-计数中小时的十位 signal hou2:std_logic_vector(3 downto 0);-小时的个位 signal min1:std_logic_vector(3 downto 0);-分钟的十位 signal min2:std_logic_vector(3 downto 0);-分钟的个位 signal sec1:std_logic_vector(3 downto 0);-秒的十位 signal sec2:std_logic_vector(3 downto 0);-秒的个位 signal seth1:std_logic_vector(3 downto 0);-设时中小时的十位 signal seth2:std_logic_vector(3 downto 0);-小时的个位 signal setm1:std_logic_vector(3 downto 0);-分钟的十位 signal setm2:std_logic_vector(3 downto 0);-分钟的个位 signal h1:std_logic_vector(3 downto 0); -显示小时十位 signal h2:std_logic_vector(3 downto 0);-小时的个位 signal m1:std_logic_vector(3 downto 0);-分钟的十位 signal m2:std_logic_vector(3 downto 0);-分钟的个位 signal s1:std_logic_vector(3 downto 0);-秒的十位 signal s2:std_logic_vector(3 downto 0);-秒的个位 signal clk1,clkk,beep:std_logic; begin-分频fp:process(clk) begin if rising_edge(clk) then count=count+1; counf=counf+1; if count=11999999 then clk1=1;-1Hzcount=0;beep5999999 then beep=0;-2Hz else clk1=0;end if; if counf=11999 then clkk=1;-1000HZcounf=0; else clkk=0; end if; end if;end process fp;-位扫描choice:process(clkk)-位选 扫描 begin if rising_edge(clkk)then if sel=111 then sel=000; else sel=sel+1; end if; end if;end process choice;-秒个位s220:process(clk1,cj) begin if clk1event and clk1=1 then if sec2=1001 then -其中sec2是秒的个位 sec2=0000; elsif cj=010 then sec2=sec2; else sec2=sec2+1; end if; end if;if cj=001 then sec2=0000; -秒个位复位end if;end process s220;-秒十位s110:process(clk1,cj) begin if clk1event and clk1=1 then if (sec1=0101 and sec2=1001)then-其中sec1是秒钟的十位 sec1=0000; elsif cj=010 then sec1=sec1; else if sec2=1001then sec1=sec1+1; end if; end if;end if;if cj=001 then sec1=0000; -秒十位复位end if;end process s110;-分钟个位m220:process(clk1,sec1,sec2,cj) begin if clk1event and clk1=1 then if min2=1001and (sec1=0101 and sec2=1001)then-其中min2是分钟的个位 min2=0000; elsif min2=1001and (cj=011 and cj=100)then- min2=0000; else if (sec1=0101 and sec2=1001) or(cj=011 and cj=100)then min2=min2+1; end if; end if;end if;if cj=001 then min2=0000; end if; end process m220;-分钟十位m110:process(clk1,min2,sec1,sec2,cj) begin if clk1event and clk1=1 then if (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001)then min1=0000; elsif min1=0101and min2=1001and (cj=011 and cj=100)then min1=0000; elsif (min2=1001and (sec1=0101 and sec2=1001) or (min2=1001and cj=011 and cj=100)then min1=min1+1; end if; end if;-end if;if cj=001 then min1=0000; end if;end process m110;-小时个位h220:process(clk1,min1,min2,sec1,sec2,cj,hou1) begin if clk1event and clk1=1 then if (hou1=0010 and hou2=0011)and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then hou2=0000; elsif hou2=1001and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then hou2=0000; elsif (hou2=1001and cj=110)or (hou1=0010and hou2=0011and cj=110) then hou2=0000;-md=1; elsif (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001)or (cj=110) then hou2=hou2+1;-speak=clk; end if; end if;if cj=001 then hou2=0000; end if;end process h220;-小时十位h110:process(clk1,hou2,min1,min2,sec1,sec2,cj) begin if clk1event and clk1=1 then if (hou1=0010 and hou2=0011)and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) then hou1=0000; elsif hou1=0010and hou2=0011and cj=110 then-当时间为23点且处于校时状态时 hou1=0000; elsif (hou2=1001and(min1=0101 and min2=1001) and (sec1=0101 and sec2=1001)or (hou2=1001and cj=110) then hou1=hou1+1; end if; end if;if cj=001 then hou1=0000; end if;end process h110;-时间设置小时部分sethour1:process(clk1,seth1,seth2,cj) begin if clk1event and clk1=1 then if seth1=0010and seth2=0011 then seth1=0000; elsif seth2=1001 then seth1=seth1+1; end if; end if;if cj=001 then seth1=0000; end if;end process sethour1;-sethour2:process(clk1,seth1,cj) begin if clk1event and clk1=1 then if (seth1=0010and seth2=0011)or seth2=1001 then -其中seth1,seth2分别是调时的小时部位的十位与个位 seth2=0000; elsif cj=111 then seth2=seth2+1; end if; end if;if cj=001 then seth2=0000; end if;end process sethour2;-时间设置分钟部分setmin1:process(clk1,setm2,cj) begin if clk1event and clk1=1 then if setm1=0101and setm2=1001 then setm1=0000; elsif setm2=1001 then setm1=setm1+1; end if; end if;if cj=001 then setm1=0000; end if;end process setmin1;-setmin2:process(clk1,cj) begin if clk1event and clk1=1 then if setm2=1001 then setm2=0000; elsif cj=101 then setm2=setm2+1; end if; end if;if cj=001 then setm2=0000; end if;end process setmin2;-闹铃speaker:process(clkk,hou1,hou2,min1,min2,cj) begin if clkkevent and clkk=1then if seth1=hou1 and seth2=hou2 and setm1=min1 and setm2=min2 then speak=beep; else speak=0; end if; end if;if cj=001 then speak=0; end if;end process speaker;-disp:process(sel,cj,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)-显示 begin if sel=010 then seloutdoutdoutdoutdout=00000000;-不显示 end case; elsif sel=011 then seloutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=10000000;-不显示 end case; elsif sel=100 then seloutdoutdoutdoutdoutdoutdoutdout=00000000; end case; elsif sel=101 then seloutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=10000000; end case; elsif sel=110 then seloutdoutdoutdoutdoutdoutdoutdout=00000000; end case; elsif sel=111 then seloutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=00000000; end case; end if; if cj=011 then-计时时间显示和设置模式 h1=hou1;h2=hou2; m1=min1;m2=min2; s1=sec1;s2=sec2; else -闹铃时间现实和设置模式 h1=seth1;h2=seth2; m1=setm1;m2=setm2; s1=1111;s2=1111; end if;end process disp;-yanshi:process(clk)variable fp:integer range 0 to 29999;beginif clkevent and clk=1 thenif fp=29999 then fp:=0; CP_5ms= not CP_5ms;else fp:=fp+1;end if;end if;end process;-quout:process(CP_5ms,keyin)beginif CP_5msevent and CP_5ms=1 thenQ1=keyin; Q2=Q1; Q3=Q2;end if;end process;-process(Q1,Q2,Q3)beginif (Q1=0 and Q2=0 and Q3=0) then keyout=0;elsekeyout=1;end if;end process;process(keyout,CJ)beginif Rising_edge(keyout) thenif cj=111 then cj=000; else CJ=CJ+1;end if;end if;end process;end one; 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年飞机盒项目发展计划
- 2025年营养强化剂项目建议书
- 抛光工安全培训
- 2025年法人大数据项目发展计划
- 福建省莆田市某校2024-2025学年五年级上学期第一次月考语文试题
- 抗浮锚杆施工工艺
- 自卑案例的题目及答案
- 高中必修考试例题及答案
- 2025年饮料灭菌乳项目建议书
- tcp协议的特点与特征
- 保密观考试题及答案2025保密观知识竞赛试题及答案
- 老年髋部骨折围手术期衰弱护理管理专家共识解读
- 2025版农业合作社成员个人借款合同范本
- 2025年乒乓球裁判证考试试题及答案
- 活动成都热波zebra音乐节营销策划方案5月1日5月3日
- 八年级历史上学期(2025版)导言课课件
- 混凝土施工示范样板制作方案
- 酒店房卡管理制度与操作流程
- 2024年(IPA)国际注册对外汉语教师资格认证考试真题卷(含答案)
- 2025一建《水利水电工程管理实务》思维导图
- 2025-2026学年外研版(三起)(2024)小学英语三年级上册教学计划及进度表
评论
0/150
提交评论