版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于FPGA的萬(wàn)年歷</p><p><b> 目錄</b></p><p><b> 1 目的1</b></p><p> 1.1硬件實(shí)訓(xùn)目的:1</p><p> 1.2軟件實(shí)訓(xùn)目的:1</p><p><b> 2 實(shí)
2、訓(xùn)意義2</b></p><p><b> 3 實(shí)訓(xùn)內(nèi)容4</b></p><p> 3.1 硬件實(shí)訓(xùn)內(nèi)容:4</p><p> 3.2 軟件實(shí)訓(xùn)內(nèi)容:4</p><p> 3.2.1 功能說明:4</p><p> 3.2.2 軟件設(shè)計(jì)詳細(xì)內(nèi)容:4&l
3、t;/p><p> 4 疑難解答17</p><p><b> 5 心得18</b></p><p><b> 參考文獻(xiàn)20</b></p><p><b> 1 目的</b></p><p> 1.1硬件實(shí)訓(xùn)目的:</p>
4、<p> 1. 熟悉EDA實(shí)驗(yàn)箱的基本工作原理。</p><p> 2. 熟悉并掌握EDA實(shí)驗(yàn)箱各個(gè)模式的功能。</p><p> 3. 提高學(xué)生的動(dòng)手能力。</p><p> 1.2軟件實(shí)訓(xùn)目的:</p><p> 熟悉并掌握Max+plus2軟件的使用。</p><p> 熟練
5、的使用原理圖輸入設(shè)計(jì)方法,VHDL語(yǔ)言編寫程序,進(jìn)一步了解和掌握各個(gè)程序語(yǔ)言,提高編程的熟練程度。</p><p> 掌握年、月、日、時(shí)、分、秒程序的原理,進(jìn)而理解萬(wàn)年歷的設(shè)計(jì)原理。</p><p> 拓寬學(xué)生知識(shí)面,增強(qiáng)工程意識(shí),培養(yǎng)學(xué)生的分析和解決實(shí)際問題的能力。</p><p> 提高學(xué)生的動(dòng)手能歷。</p><p><b&
6、gt; 2 實(shí)訓(xùn)意義</b></p><p> 該數(shù)字時(shí)鐘實(shí)現(xiàn)了調(diào)時(shí)、年、月、日、時(shí)、分、秒的顯示功能,無(wú)需接譯碼器,可直接接八段共陰極數(shù)碼管,總體結(jié)構(gòu)如下圖所示:</p><p> 第一部分 第二部分 第三部分 </p><p> D8(l5) D7(l2) D6 D
7、5 (l4) D4(l1) D3 D2(l3) D1</p><p> 8個(gè)LED數(shù)碼管為了顯示清楚只用了6個(gè)數(shù)碼管,分為3個(gè)部分。采用的是EDA試驗(yàn)箱上的模式7。</p><p> 軟件Max+plus2方面:</p><p> 在顯示程序中,k3控制分屏。當(dāng)k3=‘1’時(shí),3部分?jǐn)?shù)碼管顯示年、月、日;當(dāng)k3=‘0’時(shí),3部分?jǐn)?shù)碼管顯示
8、時(shí)、分、秒。萬(wàn)年歷正常工作時(shí),D1~D8都不亮。</p><p> 調(diào)時(shí)時(shí),秒的變化不需控制,故需調(diào)時(shí)有年、月、日、時(shí)、分5個(gè)量。數(shù)碼管每部分右邊燈亮?xí)r,即l5亮、l4亮、l3亮分別控制的是年、月、日的變化;每部分左邊亮?xí)r,即l2亮、l1亮分別控制的是時(shí)、分的變化。若控制其中一個(gè)量變化時(shí),其余4個(gè)量均不變,也不向高位進(jìn)位。</p><p> 調(diào)時(shí)、顯示、年、月、日、時(shí)、分、秒的VHDL
9、語(yǔ)言分別生成各自的模塊(Symbol),在頂層文件wannianli中調(diào)用這些底層模塊——CNT60模塊,CNT24模塊,tian模塊,yue模塊,nian模塊,tiaoshi模塊,xianshi模塊,然后鏈接各個(gè)模塊,構(gòu)成所需要的電子日歷的原理圖。</p><p> 硬件EDA試驗(yàn)箱方面:</p><p> 電子日歷電路圖根據(jù)要求采用的是EDA試驗(yàn)箱上的模式7。對(duì)萬(wàn)年歷電路圖上的引腳
10、在電腦軟件Max+plus2進(jìn)行綁定,然后編譯,在進(jìn)行下載,下載到硬件EDA試驗(yàn)箱上。在EDA試驗(yàn)箱上就可以觀察到上述變化。</p><p><b> 引腳綁定如圖所示:</b></p><p><b> 3 實(shí)訓(xùn)內(nèi)容</b></p><p> 3.1 硬件實(shí)訓(xùn)內(nèi)容:</p><p>
11、在電腦上通過軟件Max+plus2對(duì)萬(wàn)年歷電路圖的引腳進(jìn)行綁定,編譯, 然后與EDA試驗(yàn)箱連接,把wannianli .sof文件配置通過JTAG口載入FPGA中,選擇實(shí)驗(yàn)電路模式No.7進(jìn)行硬件測(cè)試。通過學(xué)習(xí),理論上學(xué)習(xí)了EDA試驗(yàn)箱的原理,對(duì)試驗(yàn)箱內(nèi)部的組件,以及組件之間的鏈接有了一定的了解,為以后的實(shí)訓(xùn)打下了良好的基礎(chǔ)。</p><p> 3.2 軟件實(shí)訓(xùn)內(nèi)容:</p><p>
12、 3.2.1 功能說明:</p><p> (1)顯示準(zhǔn)確的北京時(shí)間(年、月、日、時(shí)、分、秒,年號(hào)只顯示最后兩位)</p><p> ?。?)隨時(shí)可以調(diào)校時(shí)間即可以控制年、月、日、時(shí)、分的變化,可以跳到指定的時(shí)間。</p><p> 3.2.2 軟件設(shè)計(jì)詳細(xì)內(nèi)容:</p><p> ?。?).秒、分:秒和分都是從0計(jì)數(shù)到59,可以用
13、六十進(jìn)制表示。</p><p> CNT60程序如下:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity CNT60 is
14、</p><p> port(CLK :in std_logic;</p><p> cq1,cq2:out std_logic_vector(3 downto 0);</p><p> cout:out std_logic);</p><p> end entity;</p><p> architect
15、ure one of CNT60 is</p><p> signal q1,q2:std_logic_vector(3 downto 0); </p><p> begin </p><p> process(CLK) <
16、/p><p><b> begin</b></p><p> if CLK'event and CLK='1' then ––檢測(cè)時(shí)鐘上升沿</p><p> q2<=q2+1; ––q2開始計(jì)數(shù)</p><p> if q
17、2=9 then q1<=q1+1;</p><p> q2<="0000";</p><p> end if; </p><p> if q2=9 and q1=5 then </p><p> q1<="0000";q2&
18、lt;="0000"; </p><p> cout<='1'; ––q2=9,q1=5時(shí),q1,q2清零并輸出進(jìn)位信號(hào)</p><p> else cout<='0';</p><p><b> end if;</b>
19、</p><p><b> end if;</b></p><p> end process;</p><p> cq1<=q1; cq2<=q2;</p><p><b> end;</b></p><p> CNT60波形仿真如圖: </p
20、><p> CNT60模塊如圖:</p><p> ?。?).時(shí):時(shí)是從0計(jì)數(shù)到23,可以用二十四進(jìn)制表示。</p><p> CNT24程序如下:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p>
21、use ieee.std_logic_unsigned.all;</p><p> entity CNT24 is</p><p> port(CLK :in std_logic;</p><p> cq1,cq2:out std_logic_vector(3 downto 0);</p><p> cout:out std_log
22、ic);</p><p> end entity;</p><p> architecture one of CNT24 is</p><p> signal q1,q2:std_logic_vector(3 downto 0);</p><p> begin
23、</p><p> process(CLK)</p><p> begin </p><p> if CLK'event and CLK='1' then ––檢測(cè)時(shí)鐘上升沿</p><p> q2<
24、;=q2+1; ––q2開始計(jì)數(shù)</p><p> if q2=9 then q1<=q1+1;</p><p> q2<="0000";</p><p> end if; ––q2=9時(shí),q1開始計(jì)數(shù)且q2清零</p>&
25、lt;p> if q2=3 and q1=2 then q1<="0000";</p><p> q2<="0000";</p><p> cout<='1'; ––q2=3,q1=2時(shí),q1,q2清零并輸出進(jìn)位信號(hào)</p><p>
26、 else cout<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> cq1<=q1; cq2<=q2;</p>&
27、lt;p><b> end; </b></p><p> CNT24波形仿真如圖: </p><p> CNT24模塊如圖:</p><p> ?。?).天:一個(gè)月可能有31天或者30天;當(dāng)該年為閏年,二月有29天,否則二月有28天。</p><p> library ieee;</p>
28、;<p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity tian is</p><p> port(clk:in std_logic;</p><p> pan:in std_logic_v
29、ector(1 downto 0);</p><p> T1,T2:out std_logic_vector(3 downto 0);</p><p> cout:out std_logic);</p><p> end tian; </p><p> architecture one of tian is
30、 </p><p> signal q1,q2:std_logic_vector(3 downto 0);</p><p> signal ab:std_logic_vector(1 downto 0);</p><p> begin </p><p> pr
31、ocess(clk,pan) </p><p> begin </p><p> if clk'event and clk='1' ––檢測(cè)時(shí)鐘上升沿</p><p> the
32、n q1<=q1+1; ––q1開始計(jì)數(shù)</p><p> if q1=9 then q1<="0000";</p><p> q2<=q2+1; ––q1=9時(shí),q2開始計(jì)數(shù)且q1清零 </p><p><b> end if;
33、</b></p><p> case pan is</p><p> when "00"=></p><p> if q2=3 and q1=1 then q2<="0000" ;q1<="0001";cout<='1';</p>&l
34、t;p> else cout<='0'; ––當(dāng)pan=“00”時(shí),如果q2=3,q1=1,q2清零,q1從1開始計(jì)數(shù),并輸出進(jìn)位信號(hào)</p><p><b> end if;</b></p><p> when "01"=></p><p>
35、 if q2=3 and q1=0 then q2<="0000" ;q1<="0001";cout<='1';</p><p> else cout<='0'; ––當(dāng)pan=“01”時(shí),如果q2=3,q1=0,q2清零,q1從1開始計(jì)數(shù),并輸出進(jìn)位信號(hào)</p>
36、<p><b> end if;</b></p><p> when "10"=></p><p> if q2=2 and q1=8 then q2<="0000" ;q1<="0001";cout<='1';</p><p&g
37、t; else cout<='0'; ––當(dāng)pan=“10”時(shí),如果q2=2,q1=9,q2清零,q1從1開始計(jì)數(shù),并輸出進(jìn)位信號(hào)</p><p><b> end if;</b></p><p> when "11"=></p><p> if q
38、2=2 and q1=9 then q2<="0000" ;q1<="0001";cout<='1';</p><p> else cout<='0'; ––當(dāng)pan=“11”時(shí),如果q2=2,q1=8,q2清零,q1從1開始計(jì)數(shù),并輸出進(jìn)位信號(hào)</p><p&
39、gt;<b> end if;</b></p><p> when others=>null;</p><p><b> end case;</b></p><p><b> end if;</b></p><p> end process;</p>
40、<p> T1<=q1;T2<=q2;</p><p><b> end;</b></p><p> tian程序波形仿真如圖:</p><p><b> tian模塊如圖:</b></p><p> ?。?).月:一,三,五,七,八,十,十二月有31;四,六,九,
41、十一月有30天;當(dāng)該年為閏年,二月有29天,否則二月有28天。</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity yue is</p>
42、<p> port(clk,run:in std_logic;</p><p> cout:out std_logic;</p><p> pan:out std_logic_vector(1 downto 0);</p><p> Y1,Y2:out std_logic_vector(3 downto 0));</p><p
43、><b> end yue;</b></p><p> architecture behav of yue is</p><p> signal q1,q2:std_logic_vector(3 downto 0);</p><p> signal q3:std_logic_vector(7 downto 0);</p>
44、;<p><b> begin</b></p><p> process(clk,run)</p><p><b> begin</b></p><p> if clk'event and clk='1' then ––檢測(cè)時(shí)鐘上升沿</p><
45、;p> q1<=q1+1; ––q1開始計(jì)數(shù)</p><p> if q1=9 then q1<="0000"; </p><p> q2<=q2+1; </p><p> end if; ––q1=9時(shí),q2開始計(jì)數(shù)且q1清零
46、 </p><p> if q1=2 and q2=1 then</p><p> q1<="0001";q2<="0000";cout<='1';</p><p> else cout<='0'; ––q1=2,q2=1時(shí),q
47、2清零,q1從1開始計(jì)數(shù)并輸出進(jìn)位信號(hào)</p><p><b> end if;</b></p><p> q3<=q2&q1;</p><p> case q3 is </p><p> when "00000001"=>pan<="00";
48、 ––當(dāng)q3為1月時(shí)pan=“00”可知1月為31天</p><p> when "00000010"=>if run='1' then pan<="11";else pan<="10";</p><p> end if; ––當(dāng)q3為2月時(shí)
49、,若輸入信號(hào)run=‘1’為閏年則pan=“11”即2月是29天;否則2月為28天</p><p> when "00000011"=>pan<="00"; ––當(dāng)q3為3月時(shí)pan=“00”可知3月為31天</p><p> when "00000100"=>pan<="01"
50、;;</p><p> when "00000101"=>pan<="00";</p><p> when "00000110"=>pan<="01"; ––當(dāng)q3為6月時(shí)pan=“01”可知6月為30天</p><p> when "000
51、00111"=>pan<="00";</p><p> when "00001000"=>pan<="00";</p><p> when "00001001"=>pan<="01";</p><p> when &
52、quot;00001010"=>pan<="00";</p><p> when "00001011"=>pan<="01";</p><p> when "00001100"=>pan<="00";</p><p>
53、 when others=>null;</p><p><b> end case;</b></p><p><b> end if;</b></p><p> Y1<=q1;Y2<=q2;</p><p> end process;</p><p&g
54、t; end behav; </p><p> yue程序波形仿真如圖: </p><p><b> yue模塊如圖:</b></p><p> (5).年:由于年號(hào)只顯示最后兩位,故為0~99,是100進(jìn)制。但每四年為一閏年。故nian程序是二者結(jié)合。</p>
55、<p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity nian is</p><p> port(clk :in std_logic;</
56、p><p> q1,q2:out std_logic_vector(3 downto 0); </p><p> run:out std_logic);</p><p> end entity;</p><p> architecture one of nian is</p><p> sign
57、al cq1,cq2:std_logic_vector(3 downto 0);</p><p> signal q3:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> PRO1:process(clk)
58、 </p><p><b> begin</b></p><p> if clk'event and clk='1' then ––檢測(cè)時(shí)鐘上升沿 </p><p> cq1<=cq1+1; ––cq1開始計(jì)數(shù)<
59、;/p><p> if cq1=9 then cq2<=cq2+1;cq1<="0000";</p><p> end if; ––cq1=9時(shí),cq2開始計(jì)數(shù)且cq1清零 </p><p> if cq1=9 and cq2<=9 then cq1<="00
60、00";cq2<="0000";</p><p> end if; ––cq1=9,cq2=1時(shí),cq1,cq2清零</p><p><b> end if;</b></p><p> end process;</p><p>
61、PRO2:process(clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' then ––檢測(cè)時(shí)鐘上升沿</p><p> q3<=q3+1; ––q3開始計(jì)數(shù)</p><
62、p> if q3=3 then q3<="0000";run<='1'; </p><p> else run<='0';</p><p><b> end if;</b></p><p> end if; ––q3=
63、3后q3清零且輸出信號(hào)run=‘1’</p><p> end process;</p><p> q1<=cq1;q2<=cq2;</p><p><b> end;</b></p><p> nian程序波形仿真如圖:</p><p><b> nian???l
64、t;/b></p><p> ?。?).調(diào)時(shí):調(diào)時(shí)只需調(diào)年、月、日、時(shí)、分這5個(gè)量,故tiaoshi程序就是一個(gè)五選一程序。</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;&
65、lt;/p><p> entity tiaoshi is</p><p> port(k1,k2:in std_logic;</p><p> m1,m2,m3,m4,m5:in std_logic;</p><p> n1,n2,n3,n4,n5:out std_logic;</p><p> l1,l2,l3
66、,l4,l5:out std_logic);</p><p> end entity;</p><p> architecture one of tiaoshi is</p><p> signal q:std_logic_vector(3 downto 0); </p><p><b> begin</b>&l
67、t;/p><p> process(k1) </p><p> begin </p><p> if k1'event and k1='1' then q<=q+1; ––檢測(cè)時(shí)鐘上升沿,q開始計(jì)數(shù)</p><p> if q=5
68、then q<="0000"; ––q=5后q清零</p><p><b> end if;</b></p><p> end if; </p><p> case q is
69、 </p><p> when"0000"=>n1<=m1;n2<=m2;n3<=m3;n4<=m4;n5<=m5;l1<='0';l2<='0';l3<='0';l4<='0';l5<='0'; ––當(dāng)q=“
70、0000”時(shí),把miao的輸出給fen的輸入,fen的輸出給shi的輸入,shi的輸出給tian的輸入,tian的輸出給yue的輸入,yue的輸出給nian的輸入,此時(shí)燈全滅,正常走時(shí)</p><p> when"0001"=>n1<=k2;n2<='0';n3<='0';n4<='0';n5<='0
71、';l1<='1';l2<='0';l3<='0';l4<='0';l5<='0'; ––當(dāng)q=“0001”時(shí),控制fen的變化,燈l1亮</p><p> when"0010"=>n1<='0';n2<=
72、k2;n3<='0';n4<='0';n5<='0';l1<='0';l2<='1';l3<='0';l4<='0';l5<='0'; ––當(dāng)q=“0010”時(shí),控制shi的變化,燈l2亮</p><p>
73、; when"0011"=>n1<='0';n2<='0';n3<=k2;n4<='0';n5<='0';l1<='0';l2<='0';l3<='1';l4<='0';l5<='0';
74、 ––當(dāng)q=“0011”時(shí),控制tian的變化,燈l3亮</p><p> when"0100"=>n1<='0';n2<='0';n3<='0';n4<=k2;n5<='0';l1<='0';l2<='0';l3<='0&
75、#39;;l4<='1';l5<='0'; ––當(dāng)q=“0100”時(shí),控制yue的變化,燈l4亮</p><p> when"0101"=>n1<='0';n2<='0';n3<='0';n4<='0';n5<=k
76、2;l1<='0';l2<='0';l3<='0';l4<='0';l5<='1'; ––當(dāng)q=“0101”時(shí),控制nian的變化,燈l5亮</p><p> when others=>NULL;</p><p><b> en
77、d case;</b></p><p> end process;</p><p><b> end;</b></p><p> tiaoshi模塊如圖:</p><p><b> (7).顯示</b></p><p> library ieee;<
78、;/p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity xianshi is</p><p> port(k3:in std_logic;</p><p> ns,ng,ts,t
79、g,ys,yg,ss,sg,fs,fg,ms,mg:in std_logic_vector(3 downto 0);</p><p> q1,q2,q4,q5,q7,q8:out std_logic_vector(3 downto 0); </p><p> l:out std_logic);
80、 </p><p> end entity;</p><p> architecture one of xianshi is</p><p><b> begin</b></p><p> process(k3)</p><p><b> begin</b><
81、;/p><p> if k3 ='1' then</p><p> q8<=ns;q7<=ng;q5<=ys;q4<=yg;q2<=ts;q1<=tg;l<='1'; ––k3=‘1’時(shí),三部分?jǐn)?shù)碼管從左至右分別顯示年、月、日,l輸出信號(hào)為1</p><p> else q8
82、<=ss;q7<=sg;q5<=fs;q4<=fg;q2<=ms;q1<=mg;l<='0'; ––k3=‘0’時(shí),三部分?jǐn)?shù)碼管從左至右分別顯示時(shí)、分、秒,l輸出信號(hào)為1</p><p><b> end if;</b></p><p> end process;</p><p&g
83、t;<b> end one;</b></p><p> xianshi模塊如圖:</p><p> ?。?)萬(wàn)年歷原理圖:由底層文件生成的模塊即CNT60模塊,CNT24模塊,tian模塊,yue模塊,nian模塊,tiaoshi模塊,xianshi模塊鏈接構(gòu)成。</p><p><b> 萬(wàn)年歷的實(shí)體如下:</b>
84、;</p><p> entity wannianli is</p><p> port(clk:in std_logic;</p><p> k1,k2,k3 :in std_logic;</p><p> q1,q2,q4,q5,q7,q8:out std_logic_vector(3 downto 0);
85、 </p><p> l,l1,l2,l3,l4,l5:out std_logic); </p><p> end entity;</p><p> 輸入信號(hào):clk是最底層文件秒的時(shí)鐘信號(hào)</p><p> k1是tiaoshi程序的時(shí)鐘信號(hào)</p>
86、<p> k2是控制調(diào)時(shí)中年、月、日、時(shí)分的變化</p><p><b> k3是控制分屏。</b></p><p> 輸出信號(hào):q7,q8顯示的是年(時(shí))</p><p> q4,q5顯示的是月(分)</p><p> q1,q2顯示的是日(秒)</p><p> l輸
87、出高電平‘1’,q8<=ns;q7<=ng;q5<=ys;q4<=yg;q2<=ts;q1<=tg;</p><p> l輸出低電平‘0’,q8<=ss;q7<=sg;q5<=fs;q4<=fg;q2<=ms;q1<=mg;</p><p> l5輸出高電平‘1’,控制的是年的變化</p><p
88、> l4輸出高電平‘1’,控制的是月的變化</p><p> l3輸出高電平‘1’,控制的是日的變化</p><p> l2輸出高電平‘1’,控制的是時(shí)的變化</p><p> l1輸出高電平‘1’,控制的是分的變化</p><p><b> 4 疑難解答</b></p><p>
89、; 在EDA實(shí)訓(xùn)過程中,剛開始時(shí)不知如何著手,就是老師把程序講的很清楚了,最后還是出現(xiàn)很多錯(cuò)誤。不過幸運(yùn)的是,我找到解決的方法。</p><p><b> 錯(cuò)誤: </b></p><p> 1.CNT24程序編譯無(wú)錯(cuò)誤,但波形仿真時(shí)只有0~13,20~23這幾個(gè)數(shù)。原因:CNT24是在CNT60的基礎(chǔ)上改的,CNT60程序波形仿真正確,認(rèn)為CNT24程序也因該
90、正確,但卻不曾考慮24進(jìn)制與60進(jìn)制的不同。在日常生活中個(gè)位9的后面就是個(gè)位0。CNT60的個(gè)位q2=9時(shí),隨后清零,但CNT24的個(gè)位q2=3,隨后清零,但3的后面是4。因此出現(xiàn)了上述問題。</p><p> 2.CNT60程序,CNT24程序編譯正確,波形仿真也正確,但把CNT 60和CNT24組成一個(gè)時(shí)間程序時(shí),秒位對(duì)應(yīng)的數(shù)碼管從0~59變化正常,但分、時(shí)位所對(duì)應(yīng)的數(shù)碼管卻都為00。原因:CNT60程序中
91、第一個(gè)59到達(dá)后,輸出進(jìn)位信號(hào)cout<=1,但之后卻未清零,以致cout一直保持高電平,所以cout失去了進(jìn)位的功能,即秒位不能向高位進(jìn)位,使分位時(shí)位的數(shù)碼管保持零不變。</p><p> 3.一,三,五,七,八,十,十二月有31;四,六,九,十一月有30天;當(dāng)run=‘1’時(shí),即該年為閏年,二月有29天,否則二月有28天。tian程序比較復(fù)雜,由于不細(xì)心在編譯過程出現(xiàn)了很多errors。</p&
92、gt;<p> 4.在nian程序中,因?yàn)橹挥袃蓚€(gè)數(shù)碼管來(lái)顯示,故年號(hào)只顯示最后兩位,即0~99。但nian程序還要輸出是否為閏年,對(duì)這一塊不是很明白,不知道咋樣編寫。最后在老師的指導(dǎo)下,引入一個(gè)中間信號(hào)q3,程序如下:</p><p> if clk'event and clk='1' then q3<=q3+1;</p><p> i
93、f q3<=3 then q3<="0000";run<='1'; else run<='0';。</p><p> nian程序編譯無(wú)錯(cuò)誤,但其仿真波形中q1,q2總保持為低電平0,run保持高電平1。原因:nian程序中的9,3都是用十進(jìn)制表示的,若給q賦一個(gè)十進(jìn)制的值,應(yīng)是q=9,但若給q賦以一個(gè)二進(jìn)制的值,應(yīng)是q<=&qu
94、ot;1001"。故nian程序不能計(jì)數(shù),也不能判斷閏年。</p><p> 5.在引腳綁定過程中,對(duì)萬(wàn)年歷整體程序的了解出現(xiàn)了問題。k3是控制分屏,k2是控制調(diào)試。k3綁定錯(cuò)誤,應(yīng)該與pin-24相連,k2與pin-7相連,k1與pin-143相連。原因:沒有分析萬(wàn)年歷原理圖輸入信號(hào)k1,k2,k3,的功能,k1應(yīng)是脈沖信號(hào),k2,k3是布爾數(shù)據(jù)類型。</p><p><
95、;b> 5 心得</b></p><p> 正如古人云:“一分付出,一分收獲”,雖然萬(wàn)年歷實(shí)訓(xùn)期間很忙也很累,但是每個(gè)人都感到很充足,收獲很大。</p><p> 我們電子信息工程技術(shù)專業(yè)有了比較全面的認(rèn)識(shí)和理解,但在校期間,一直忙于理論知識(shí)的學(xué)習(xí),沒能有機(jī)會(huì)走出校園,沒能真正切身感受本專業(yè)的實(shí)際應(yīng)用。所以在實(shí)訓(xùn)之前,電信專業(yè)對(duì)我來(lái)說是比較抽象的。</p&g
96、t;<p> 但通過這次實(shí)訓(xùn),在硬件方面,使我們對(duì)EDA試驗(yàn)箱有了很多的了解,彌補(bǔ)了我們的知識(shí)的缺陷,同時(shí)對(duì)EDA試驗(yàn)箱內(nèi)部的工作原理,以及EDA試驗(yàn)箱各個(gè)實(shí)驗(yàn)?zāi)J降墓δ芎茏饔糜辛艘欢ǖ牧私?,學(xué)習(xí)了硬件引腳綁定過程,以及綁定的一些基本常識(shí),并動(dòng)手完成了綁定,這樣不僅拓寬我們的知識(shí)面,增強(qiáng)動(dòng)手能力和實(shí)踐能力,同時(shí)還培養(yǎng)我們的分析和解決實(shí)際問題的能力。</p><p> 在軟件方面,我們通過分組在軟
97、件Max+plus2上獨(dú)立完成老師給我們的實(shí)訓(xùn)題目——萬(wàn)年歷。從開始分析萬(wàn)年歷原理,在定義底層文件名稱,編寫底層文件程序,生成模塊——CNT60模塊,CNT24模塊,tian模塊,yue模塊,nian模塊,tiaoshi模塊,xianshi模塊,然后鏈接各個(gè)模塊,到最終完成測(cè)試,并運(yùn)行成功,這些加強(qiáng)了我們的分析問題的能力,提高了我們編程的能力,同時(shí)還培養(yǎng)了我們獨(dú)立完成任務(wù)和查閱資料刪選資料的能力,雖然完成的軟件在實(shí)際運(yùn)用中還有很多不足,
98、比如軟件運(yùn)行的環(huán)境有限,程序的效率不高,在老師的要求上也不能全部到達(dá)預(yù)期的最好效果,等等一些問題,這都需要我們以后更深層次的加以修改,使其更加簡(jiǎn)單更加方便更加通俗易懂。</p><p> 電子日歷一路編來(lái)可謂是坎坎坷坷,但大家都沒有放棄項(xiàng)目的開發(fā),積極主動(dòng)的找老師、找同學(xué)幫忙解決難題。后來(lái),我們又重新分析原理,重復(fù)操作,遇到困難馬上向老師提問,及時(shí)解決問題,這樣的效果很明顯,例如,CNT60程序,CNT24程序
99、中的秒位不向分位進(jìn)位,達(dá)不到實(shí)訓(xùn)要求。我們?cè)谝黄鹩懻揅NT60程序,CNT24程序的VHDL語(yǔ)言程序,并觀察CNT60程序,CNT24程序的波形仿真,最終發(fā)現(xiàn)進(jìn)位信號(hào)cout給予高電平后卻未清零,導(dǎo)致秒位不向分位進(jìn)位。</p><p> 在這次實(shí)訓(xùn)中,組員之間的配合也是相當(dāng)重要的。每個(gè)學(xué)生對(duì)老師課堂上講的內(nèi)容的接收都是不一樣的,只有組員間互相配合——提出問題,然后討論問題,最后解決問題,實(shí)訓(xùn)才能得以成功。<
100、;/p><p> 從整體看這次實(shí)訓(xùn)是很成功的,讓我們都有很大的收獲,同時(shí)也非常感謝在實(shí)訓(xùn)過程中給予我們很大幫助的老師,在老師的指導(dǎo)下,我們才能很好的完成實(shí)訓(xùn)認(rèn)務(wù)。</p><p> 此外,這次實(shí)訓(xùn)告訴我們:在學(xué)校課堂上學(xué)到的東西和在實(shí)訓(xùn)中學(xué)到的東西是不完全一致的。實(shí)訓(xùn)是符合社會(huì)的,社會(huì)是發(fā)展的,是進(jìn)步的,每時(shí)每刻都在發(fā)生著變化,你要適應(yīng)社會(huì),而不是要社會(huì)來(lái)適應(yīng)你,所以你就得不斷地學(xué)習(xí),不斷
101、地充電。另外,我們還應(yīng)具備著團(tuán)隊(duì)精神和良好的溝通能力。實(shí)訓(xùn)是對(duì)每個(gè)人綜合能力的檢驗(yàn),是讓我們能更好的鞏固專業(yè)知識(shí)、積累工作經(jīng)驗(yàn)、掌握工作技能。讓我深深地體會(huì)到要想做好每一件事,除了自己平時(shí)要有一定的專業(yè)知識(shí)外,還需要有一定的實(shí)踐動(dòng)手能力,操作能力。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 黃正瑾.在系統(tǒng)編程技術(shù)及其應(yīng)用.南京:東南大
102、學(xué)出版社,1997</p><p> [2] 彭介華.電子技術(shù)課程設(shè)計(jì)指導(dǎo).北京:高等教育出版社,1997</p><p> [3] 李國(guó)麗,朱維勇.電子技術(shù)實(shí)驗(yàn)指導(dǎo)書.合肥:中國(guó)科技大學(xué)出版社,2000</p><p> [4] 潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程.北京:科學(xué)出版社,2002</p><p> [5] 鄭家龍,
103、王小海,章安元.集成電子技術(shù)基礎(chǔ)教程.北京:高等教育出版社,2002</p><p> [6] 宋萬(wàn)杰,羅豐,吳順君.CPLD技術(shù)及其應(yīng)用.西安:西安電子科技大學(xué)出版社,1999</p><p> [7] 張昌凡,龍永紅,彭濤.可編程邏輯器件及VHDL設(shè)計(jì)技術(shù).廣州:華南工學(xué)院出版社,2001</p><p> [8] 盧杰,賴毅.VHDL與數(shù)字電路設(shè)計(jì)
104、.北京:科學(xué)出版社,2001</p><p> [9] 王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL.北京:電子工業(yè)出版社,2002 </p><p> [10] 張明.Verilog HDL實(shí)用教程.成都:電子科技大學(xué)出版社,1999</p><p> [11] 欒銘,高明倫.工業(yè)控制芯片中狀態(tài)機(jī)的描述方法.合肥:第三屆全球智能與自動(dòng)化大會(huì),2
105、000</p><p> [12] J.Bhasker著,徐振林等譯.Verilog HDL硬件描述語(yǔ)言.北京:機(jī)械工業(yè)出版社,2000</p><p> [13] 劉明業(yè),將敬旗,刁嵐松等譯.硬件描述語(yǔ)言Verilog.北京:清華大學(xué)出版社,2001</p><p> [14] 侯伯亨,顧新.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì).西安:西安電子科技大
106、學(xué)出版社,1999</p><p> 附件1: 大學(xué)本科畢業(yè)論文(設(shè)計(jì))工作程序</p><p> 注:1.提前或推延進(jìn)行畢業(yè)論文(設(shè)計(jì))的,各階段要求相同,日程自定;</p><p> 2.畢業(yè)論文(設(shè)計(jì))工作三個(gè)階段時(shí)間安排,可根據(jù)各專業(yè)特點(diǎn)適當(dāng)調(diào)整。 </p&g
107、t;<p> 附件2: 大學(xué)本科畢業(yè)論文(設(shè)計(jì))撰寫規(guī)范</p><p> 一、畢業(yè)論文(設(shè)計(jì))文本結(jié)構(gòu)</p><p> 畢業(yè)論文(設(shè)計(jì))主要由8個(gè)部分組成:①封面;②目錄;③題目;④中外文摘要;⑤正文;⑥參考文獻(xiàn);⑦謝辭;⑧附錄。</p><p> 二、畢業(yè)論文(設(shè)計(jì))各部分規(guī)范</p><p><b&g
108、t; 1. 封面</b></p><p> 封面按學(xué)校規(guī)定的格式填寫,包括論文(設(shè)計(jì))題目、作者姓名、指導(dǎo)教師姓名、學(xué)科專業(yè)等內(nèi)容。</p><p><b> 2. 目錄</b></p><p> 目錄由畢業(yè)論文(設(shè)計(jì))各部分內(nèi)容的順序號(hào)、名稱和頁(yè)碼組成,目次中的內(nèi)容一般列出二級(jí)標(biāo)題即可。目錄應(yīng)該用“…………”連接名稱與頁(yè)碼
109、。</p><p><b> 3. 題目</b></p><p> 論文(設(shè)計(jì))題目要恰當(dāng)、簡(jiǎn)明、凝練,能夠反映論文的主題及其內(nèi)容,做到文、題貼切。題目中不使用非規(guī)范的縮略詞、符號(hào)、代號(hào)和公式,通常不采用問話的方式。題目所使用的詞語(yǔ)應(yīng)當(dāng)考慮到有助于選擇關(guān)鍵詞和編制題錄、索引等。</p><p> 題目的中文字?jǐn)?shù)一般不超過20個(gè)字,外文題目
110、不超過10個(gè)實(shí)詞,中外文標(biāo)題應(yīng)一致,居中編排格式。</p><p> 4. 中外文摘要及關(guān)鍵詞 摘要是對(duì)畢業(yè)論文(設(shè)計(jì))內(nèi)容不加注釋和評(píng)論的簡(jiǎn)短陳述。摘要主要是說明研究工作的目的、方法、結(jié)果和結(jié)論。摘要應(yīng)具有獨(dú)立性和自含性,即不閱讀全文,就能獲得畢業(yè)論文(設(shè)計(jì))必要的信息,使讀者確定有無(wú)必要閱讀全文。摘要中應(yīng)用第三人稱的方法記述論文的性質(zhì)和主題,不使用“本文”、“作者”等作為主語(yǔ),應(yīng)采用“對(duì)…進(jìn)行了研究”、
111、“報(bào)告了…現(xiàn)狀”、“進(jìn)行了…調(diào)查”等表達(dá)方式。排除在本學(xué)科領(lǐng)域已成為常識(shí)的內(nèi)容,不得重復(fù)題目中已有的信息。語(yǔ)句要合乎邏輯關(guān)系,盡量同正文的文體保持一致。結(jié)構(gòu)要嚴(yán)謹(jǐn),表達(dá)要簡(jiǎn)明,語(yǔ)義要確切,一般不再分段落。對(duì)某些縮略語(yǔ)、簡(jiǎn)稱、代號(hào)等,除了相鄰專業(yè)的讀者也能清楚理解的以外,在首次出現(xiàn)處必須加以說明。摘要中通常不用圖表、化學(xué)結(jié)構(gòu)式以及非公知公用的符號(hào)和術(shù)語(yǔ)。</p><p> 畢業(yè)論文(設(shè)計(jì))的摘要包含中文摘要和外文
112、摘要。中文摘要字?jǐn)?shù)約為200~300字,外文摘要約為200~300個(gè)實(shí)詞。</p><p> 關(guān)鍵詞(Keywords)是為了文獻(xiàn)標(biāo)引,從《漢語(yǔ)主題詞表》或論文中選取出來(lái),用以表示全文主題內(nèi)容信息的詞語(yǔ)或術(shù)語(yǔ)。關(guān)鍵詞不宜用非通用的代號(hào)和分子式。</p><p> 關(guān)鍵詞一般為3~6個(gè)。關(guān)鍵詞的排序,通常應(yīng)按研究的對(duì)象、性質(zhì)(問題)和采取的手段排序。中文關(guān)鍵詞兩詞之間應(yīng)留出一個(gè)漢字的空間
113、,不加任何標(biāo)點(diǎn)符號(hào);外文關(guān)鍵詞之間用分號(hào)隔開。</p><p><b> 5. 正文</b></p><p> 畢業(yè)論文(設(shè)計(jì))的正文包括前言(引言)、正文、結(jié)論三個(gè)部分。外語(yǔ)類專業(yè)畢業(yè)生必須用所學(xué)專業(yè)外語(yǔ)撰寫。</p><p> 畢業(yè)論文(設(shè)計(jì))的篇幅一般6000字左右。</p><p><b> (
114、1)前言(引言)</b></p><p> 前言(引言)主要說明研究工作的目的、范圍,對(duì)前人的研究狀況進(jìn)行評(píng)述分析,闡明研究設(shè)想、研究方法、實(shí)驗(yàn)設(shè)計(jì)、預(yù)期結(jié)果、成果的意義等。</p><p><b> (2)正文</b></p><p> 正文是對(duì)研究工作與研究?jī)?nèi)容的詳細(xì)表述,一般由標(biāo)題、文字、表格或公式等部分組成。該部分要運(yùn)
115、用選定的研究方法分析問題、論證觀點(diǎn),盡量反映出研究能力和學(xué)術(shù)水平。正文是畢業(yè)論文(設(shè)計(jì))的核心部分,占據(jù)主要篇幅。</p><p> 正文是論文的主體,要求觀點(diǎn)清晰、論點(diǎn)正確、論據(jù)可靠、論證嚴(yán)密、層次清楚。</p><p> 正文中的圖表和計(jì)量單位要規(guī)范。圖須有序號(hào)、圖題、圖例、量和單位,圖序號(hào)須用阿拉伯?dāng)?shù)字,與圖題空 1 格,寫在圖下方;表格采用 3線表,表頭線和表尾線為粗黑線,表兩
116、邊不要串寫文字,表序號(hào)須用阿拉伯?dāng)?shù)字,與標(biāo)題空 1格,寫在表上方;一律使用法定計(jì)量單位。</p><p><b> (3)結(jié)論</b></p><p> 結(jié)論是對(duì)整個(gè)研究工作進(jìn)行歸納和總結(jié)。結(jié)論應(yīng)當(dāng)準(zhǔn)確、完整、明確、精練。如不可能導(dǎo)出應(yīng)有的結(jié)論,也可以沒有結(jié)論而進(jìn)行必要的討論,闡述本課題研究中存在的問題及進(jìn)一步開展研究的建議。</p><p&g
117、t;<b> 6. 謝辭(致謝)</b></p><p> 謝辭(致謝)是對(duì)給予各類資助、指導(dǎo)和協(xié)助完成科研工作,以及提供各種條件的單位和個(gè)人表示的感謝。謝辭應(yīng)實(shí)事求是。</p><p><b> 7. 參考文獻(xiàn)</b></p><p> 文后參考文獻(xiàn),是論文的重要組成部分,按順序和規(guī)定的格式列在正文之后。所列出的
118、文獻(xiàn),應(yīng)當(dāng)是作者親自閱讀或引用過的,出處要翔實(shí),要進(jìn)行核實(shí)查對(duì)。所引用的文獻(xiàn)應(yīng)是公開出版的刊物或著作,內(nèi)部刊物一般不引用。</p><p> 正文中參考文獻(xiàn)的標(biāo)注方法,是在引用文字(即所引用的詞組、句子、段落等)結(jié)束處的右上角標(biāo)出參考文獻(xiàn)序號(hào)。全文參考文獻(xiàn)的序號(hào)要按照從小到大的次序排列,某一文獻(xiàn)多次引用時(shí),要用同一序號(hào)標(biāo)出。</p><p> 文后參考文獻(xiàn)的編寫方式,是依正文中參考文獻(xiàn)
119、序號(hào)的次序排列所有的參考文獻(xiàn),且一個(gè)參考文獻(xiàn)只能出現(xiàn)一次。</p><p><b> 8. 附錄</b></p><p> 凡不宜收入正文中而又有價(jià)值的內(nèi)容,可編入畢業(yè)論文的附錄中。附錄內(nèi)容主要包括:①正文中所使用公式的推導(dǎo)與證明過程;②使用的主要符號(hào)、單位、縮寫、程序全文及其說明等;③在正文中無(wú)法列出的實(shí)驗(yàn)數(shù)據(jù);④重復(fù)性數(shù)據(jù)圖表;⑤調(diào)查問卷等。</p>
120、;<p> ?。旑^空2行)目 錄(4號(hào)黑體,居中)</p><p> 摘要……………………………………………………………………………………1</p><p> 關(guān)鍵詞…………………………………………………………………………………1</p><p> Abstract………………………………………………………………………………1</p&g
121、t;<p> Key words……………………………………………………………………………1</p><p> 引言(或緒論)………………………………………………………………………1</p><p> 1□材料與方法………………………………………………………………………Y</p><p> 1.1□材料 ……………………………………………………
122、………………………Y</p><p> 1.2□方法 ……………………………………………………………………………Y</p><p> 1.2.1□×××××…………………………………………………………………Y</p><p> 1.2.2□×××××………………
123、…………………………………………………Y</p><p> 1.2.3□×××××…………………………………………………………………Y</p><p> 1.2.4□×××××…………………………………………………………………Y</p><p> 2□×
124、;×………………………………………………………………………………Y</p><p> 2.1□×××××……………………………………………………………………Y</p><p> 3□×××…………………………………………………………………………… Y</p><p> …
125、…………………………………………………………(略)</p><p> X ×××××(正文第X章)…………………………………………………………Y</p><p> 致謝……………………………………………………………………………………Y</p><p> 參考文獻(xiàn)………………………………………………………………
126、………………Y</p><p> 附錄A ××××(必要時(shí))………………………………………………………Y</p><p> 附錄B ××××(必要時(shí))………………………………………………………Y</p><p> 圖1 ××××(必要時(shí)
127、)…………………………………………………………Y</p><p> 圖2 ××××(必要時(shí))…………………………………………………………Y</p><p> 表1 ××××(必要時(shí))……………………………………………………………Y</p><p> 表2 ××
128、××(必要時(shí))……………………………………………………………Y</p><p> 注:1. 目次中的內(nèi)容一般列出“章”、“節(jié)”、“條”三級(jí)標(biāo)題即可;</p><p> 2.X、Y表示具體的阿拉伯?dāng)?shù)字;</p><p> 畢業(yè)論文(設(shè)計(jì))題目(3號(hào)黑體)</p><p> ×××
129、5;專業(yè)學(xué)生 學(xué)生姓名</p><p> 指導(dǎo)教師 指導(dǎo)教師姓名(小四仿宋體)</p><p> 摘要:××××××××××××××××××(200—300字,五號(hào)宋體)××&
130、#215;××××××××××××××……</p><p> 關(guān)鍵詞:××× ×××× ××××× ×××(3-5個(gè),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于fpga的萬(wàn)年歷說明書
- 基于cj萬(wàn)年歷
- 電子萬(wàn)年歷
- 萬(wàn)年歷課程設(shè)計(jì)--萬(wàn)年歷電子時(shí)鐘
- 萬(wàn)年歷java課程設(shè)計(jì)說明書
- 電子萬(wàn)年歷設(shè)計(jì)
- 萬(wàn)年歷開題報(bào)告
- 萬(wàn)年歷畢業(yè)設(shè)計(jì)---基于stc89c52萬(wàn)年歷的設(shè)計(jì)
- 數(shù)碼萬(wàn)年歷的使用說明
- 電子萬(wàn)年歷外文翻譯
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 數(shù)碼萬(wàn)年歷專用ic
- 數(shù)字萬(wàn)年歷設(shè)計(jì)論文
- 萬(wàn)年歷設(shè)計(jì)制作[任務(wù)書]
- 基于javascript的萬(wàn)年歷設(shè)計(jì)【任務(wù)書】
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
- 萬(wàn)年歷課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論