版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)字秒表設(shè)計(jì)</b></p><p> 專 業(yè): 自動(dòng)化 </p><p> 班級(jí)學(xué)號(hào): 509</p><p> 姓 名: </p><p> 2011年 6 月14日</p><p><b> 目錄</b>&l
2、t;/p><p> 數(shù)字秒表設(shè)計(jì)實(shí)驗(yàn)任務(wù)書2</p><p> 一、設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?</p><p> 二、設(shè)計(jì)實(shí)驗(yàn)說明及要求:2</p><p> 三、數(shù)字秒表組成及功能:2</p><p> 四、系統(tǒng)硬件要求:2</p><p> 五、設(shè)計(jì)內(nèi)容及步驟:3</p>
3、;<p><b> 六、硬件實(shí)現(xiàn)3</b></p><p><b> 實(shí)驗(yàn)報(bào)告3</b></p><p> 一、數(shù)字秒表頂層設(shè)計(jì)3</p><p> 二、數(shù)字秒表內(nèi)部設(shè)計(jì)4</p><p><b> 1、分頻器4</b></p>
4、<p> 2、十進(jìn)制計(jì)數(shù)器5</p><p> 3、六進(jìn)制計(jì)數(shù)器6</p><p> 4、二十四進(jìn)制計(jì)數(shù)器8</p><p> 5、數(shù)據(jù)選擇和數(shù)碼管選擇模塊9</p><p> 6、數(shù)碼管驅(qū)動(dòng)模塊:10</p><p> 三、數(shù)字秒表仿真波形11</p><p>
5、;<b> 四、硬件驗(yàn)證12</b></p><p><b> 五、實(shí)驗(yàn)總結(jié)12</b></p><p> 數(shù)字秒表設(shè)計(jì)實(shí)驗(yàn)任務(wù)書</p><p><b> 一、設(shè)計(jì)實(shí)驗(yàn)?zāi)康模?lt;/b></p><p> 在MAX+plusII軟件平臺(tái)上,熟練運(yùn)用VHDL語言,完成
6、數(shù)字時(shí)鐘設(shè)計(jì)的軟件編程、編譯、綜合、仿真,使用EDA實(shí)驗(yàn)箱,實(shí)現(xiàn)數(shù)字秒表的硬件功能。</p><p> 二、設(shè)計(jì)實(shí)驗(yàn)說明及要求:</p><p> 1、數(shù)字秒表主要由:分頻器、掃描顯示譯碼器、一百進(jìn)制計(jì)數(shù)器、六十進(jìn)制計(jì)數(shù)器(或十進(jìn)制計(jì)數(shù)器與6進(jìn)制計(jì)數(shù)器)、十二進(jìn)制計(jì)數(shù)器(或二十四進(jìn)制計(jì)數(shù)器)電路組成。在整個(gè)秒表中最關(guān)鍵的是如何獲得一個(gè)精確的100HZ計(jì)時(shí)脈沖,除此之外,數(shù)字秒表需有清零
7、控制端,以及啟動(dòng)控制端、保持保持,以便數(shù)字時(shí)鐘能隨意停止及啟動(dòng)。</p><p> 2、數(shù)字秒表顯示由時(shí)(12或24進(jìn)制任選)、分(60進(jìn)制)、秒(60進(jìn)制)、百分之一秒(一百進(jìn)制)組成,利用掃描顯示譯碼電路在八個(gè)數(shù)碼管顯示。</p><p> 3、能夠完成清零、啟動(dòng)、保持(可以使用鍵盤或撥碼開關(guān)置數(shù))功能。</p><p> 4、時(shí)、分、秒、百分之一秒顯示準(zhǔn)
8、確。</p><p> 三、數(shù)字秒表組成及功能:</p><p> 1、分頻率器:用來產(chǎn)生100HZ計(jì)時(shí)脈沖;</p><p> 2、二十四進(jìn)制計(jì)數(shù)器:對(duì)時(shí)進(jìn)行計(jì)數(shù);</p><p> 3、六進(jìn)制計(jì)數(shù)器:分別對(duì)秒十位和分十位進(jìn)行計(jì)數(shù);</p><p> 4、十進(jìn)制計(jì)數(shù)器:分別對(duì)秒個(gè)位和分個(gè)位進(jìn)行計(jì)數(shù);<
9、/p><p> 5、掃描顯示譯碼器:完成對(duì)7字段數(shù)碼管顯示的控制;</p><p><b> 四、系統(tǒng)硬件要求:</b></p><p> 1、時(shí)鐘信號(hào)為10MHz;</p><p> 2、FPGA芯片型號(hào)EPM7128LC84—15、EP1K30TC144—3或EP1K100QC208—3(根據(jù)實(shí)驗(yàn)箱上FPGA芯片
10、具體選擇);</p><p> 3、8個(gè)7段掃描共陰級(jí)數(shù)碼顯示管;</p><p> 4、按鍵開關(guān)(清零、啟動(dòng)、保持);</p><p> 五、設(shè)計(jì)內(nèi)容及步驟:</p><p> 1、根據(jù)電路持點(diǎn),用層次設(shè)計(jì)概念。將此設(shè)計(jì)任務(wù)分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口,同時(shí)加深層次化設(shè)計(jì)概念;</p><p
11、> 2、軟件的元件管理深層含義,以及模塊元件之間的連接概念,對(duì)于不同目錄下的同一設(shè)計(jì),如何熔合;</p><p> 3、適配劃分前后的仿真內(nèi)容有何不同概念,仿真信號(hào)對(duì)象有何不同,有更深一步了解。熟悉了CPLD/FPGA設(shè)計(jì)的調(diào)試過程中手段的多樣化;</p><p> 4、按適配劃分后的管腳定位,同相關(guān)功能塊硬件電路接口連線;</p><p> 5、所有
12、模塊盡量采用VHDL語言設(shè)計(jì)。</p><p><b> 六、硬件實(shí)現(xiàn)</b></p><p> 將時(shí)序仿真正確的文件下載到實(shí)驗(yàn)箱中的EPM7128LC84—15、EP1K30TC144—3或EP1K100QC208—3中,通過合適的管腳分配,將相應(yīng)的管腳連接起來,驗(yàn)證設(shè)計(jì)是否完成設(shè)計(jì)要求;</p><p><b> 實(shí)驗(yàn)報(bào)告&
13、lt;/b></p><p> 一、數(shù)字秒表頂層設(shè)計(jì)</p><p> 外部輸入:?jiǎn)?dòng)/停止信號(hào)(start);</p><p> 10MHZ的時(shí)鐘信號(hào)(clk);</p><p> 清零信號(hào)(clr);</p><p> 外部輸出:位選控制信號(hào)(sel0、sel1、sel2);</p>
14、<p> 7段數(shù)碼管顯示信號(hào)(led0、led1、led2、led3、led4、led5、led6、led7);</p><p><b> 數(shù)字秒表頂層原理圖</b></p><p> 二、數(shù)字秒表內(nèi)部設(shè)計(jì)</p><p><b> 1、分頻器</b></p><p> 功能:將
15、10MHz的時(shí)鐘信號(hào)轉(zhuǎn)換成100Hz的計(jì)時(shí)脈沖,使秒表正常工作。</p><p><b> 圖標(biāo):</b></p><p><b> VHDL語言:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p&
16、gt;<p> entity div is</p><p> port(clr,clk: in bit;q: buffer bit);</p><p><b> end div;</b></p><p> architecture a of div is</p><p> signal count
17、er:integer range 0 to 49999;</p><p><b> begin</b></p><p> process(clr,clk)</p><p><b> begin</b></p><p> if (clk='1' and clk'even
18、t) then </p><p> if clr='1' then</p><p> counter<=0;</p><p> elsif counter=49999 then</p><p> counter<=0;</p><p> q<= not q;<
19、/p><p><b> else</b></p><p> counter<=counter+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;
20、</p><p><b> end a;</b></p><p><b> 波形仿真:</b></p><p><b> 2、十進(jìn)制計(jì)數(shù)器</b></p><p> 功能:通過在計(jì)時(shí)脈沖的作用下進(jìn)行逢十進(jìn)一,從而完成對(duì)秒個(gè)位和分個(gè)位進(jìn)行計(jì)數(shù)的功能。</p>
21、<p><b> 圖標(biāo):</b></p><p><b> VHDL語言:</b></p><p> library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigne
22、d.all;</p><p> entity count10 is</p><p> port(clr,start,clk: in bit;</p><p> cout: out bit;</p><p> daout: out std_logic_vector(3 downto 0));</p><p>
23、end count10;</p><p> architecture a of count10 is</p><p> signal temp:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> daout<=temp; </p
24、><p> process(clk,clr)</p><p><b> begin</b></p><p> if clr='1' then </p><p> temp<="0000";</p><p> cout<='0';
25、 </p><p> elsif (clk'event and clk='1') then</p><p> if start='1' then </p><p> if temp>="1001" then </p><p> temp<="0000&q
26、uot;;</p><p> cout<='1'; </p><p><b> else </b></p><p> temp<=temp+1; </p><p> cout<='0'; </p><p><b> end i
27、f; </b></p><p><b> end if; </b></p><p><b> end if; </b></p><p> end process;</p><p><b> end a;</b></p><p><
28、;b> 波形仿真:</b></p><p><b> 3、六進(jìn)制計(jì)數(shù)器</b></p><p> 功能:通過在計(jì)時(shí)脈沖的作用下進(jìn)行逢六進(jìn)一,完成秒表秒的十位部分和分的十位部分的計(jì)數(shù)功能。</p><p><b> 圖標(biāo):</b></p><p><b> VHD
29、L語言:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity count6 is</p><p> po
30、rt(clr,start,clk: in bit;</p><p> cout: out std_logic;</p><p> daout: out std_logic_vector(3 downto 0));</p><p> end count6;</p><p> architecture a of count6 is<
31、/p><p> signal temp:std_logic_vector(3 downto 0);</p><p><b> begin </b></p><p> daout<=temp; </p><p> process(clk,clr)</p><p><b> be
32、gin</b></p><p> if clr='1' then </p><p> temp<="0000";</p><p> cout<='0'; </p><p> elsif (clk'event and clk='1') t
33、hen</p><p> if start='1' then </p><p> if temp>="0101" then </p><p> temp<="0000";</p><p> cout<='1'; </p><p
34、><b> else </b></p><p> temp<=temp+1; </p><p> cout<='0'; </p><p><b> end if; </b></p><p><b> end if; </b><
35、/p><p><b> end if; </b></p><p> end process; </p><p><b> end a;</b></p><p><b> 波形仿真:</b></p><p> 4、二十四進(jìn)制計(jì)數(shù)器</p>
36、<p> 功能:通過在計(jì)時(shí)脈沖的作用下進(jìn)行逢二十四進(jìn)一,從而對(duì)時(shí)進(jìn)行計(jì)數(shù)。</p><p><b> 圖標(biāo):</b></p><p><b> VHDL語言:</b></p><p> library ieee; </p><p> use ieee.std_logic_11
37、64.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity count24 is</p><p> port(clr,start,clk:in std_logic;</p><p> hour0,hour1:out std_logic_vector(3 downt
38、o 0));</p><p> end count24; </p><p> architecture a of count24 is</p><p> begin process(clr,clk) </p><p> variable cnt1,cnt0:std_logic_vector(3 downto 0);</p>
39、<p><b> begin </b></p><p> if clr='1' then cnt0:="0000"; cnt1:="0000";</p><p> elsif clk'event and clk='1' then</p><p>
40、; if start='1' then</p><p> if cnt1="0010" and cnt0="0011"</p><p> then cnt1:="0000";</p><p> cnt0:="0000"; </p><p>
41、 elsif cnt0<"1001" then cnt0:=cnt0+1; </p><p> else cnt0:="0000";</p><p> cnt1:=cnt1+1;</p><p><b> end if;</b></p><p><b>
42、end if;</b></p><p><b> end if;</b></p><p> hour0<=cnt0;</p><p> hour1<=cnt1;</p><p> end process; </p><p><b> end a;<
43、/b></p><p><b> 波形仿真:</b></p><p> 5、數(shù)據(jù)選擇和數(shù)碼管選擇模塊</p><p> 功能:通過每個(gè)計(jì)數(shù)器輸入的dain信號(hào)對(duì)數(shù)碼管進(jìn)行選擇。</p><p><b> 圖標(biāo):</b></p><p><b> VH
44、DL語言:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity seltime is</p><p>
45、port(clk: in bit;</p><p> dain0,dain1,dain2,dain3,dain4,dain5,dain6,dain7: in std_logic_vector(3 downto 0);</p><p> sel: out std_logic_vector(2 downto 0);</p><p> daout: out std_
46、logic_vector(3 downto 0));</p><p> end seltime;</p><p> architecture a of seltime is</p><p> signal temp:integer range 0 to 7;</p><p><b> begin</b></
47、p><p> process(clk)</p><p><b> begin</b></p><p> if (clk='1'and clk'event) then </p><p> if temp=7 then temp<=0;</p><p> else
48、 temp<=temp + 1; </p><p> end if; </p><p> case temp is</p><p> when 0=>sel<="000";daout<=dain0;</p><p> when 1=>sel<="001
49、";daout<=dain1;</p><p> when 2=>sel<="010";daout<=dain2;</p><p> when 3=>sel<="011";daout<=dain3;</p><p> when 4=>sel<="1
50、00";daout<=dain4;</p><p> when 5=>sel<="101";daout<=dain5;</p><p> when 6=>sel<="110";daout<=dain6;</p><p> when 7=>sel<="
51、;111";daout<=dain7;</p><p><b> end case;</b></p><p><b> end if;</b></p><p> end process;</p><p><b> end a;</b></p>
52、<p><b> 波形仿真:</b></p><p> 6、數(shù)碼管驅(qū)動(dòng)模塊:</p><p> 功能:通過對(duì)輸入的信號(hào)進(jìn)行編碼,完成對(duì)7段數(shù)碼管的驅(qū)動(dòng),使數(shù)碼管顯示出對(duì)應(yīng)的數(shù)字。</p><p><b> 圖標(biāo):</b></p><p><b> VHDL語言:&l
53、t;/b></p><p> library ieee; </p><p> use ieee.std_logic_1164.all; </p><p> entity deled is </p><p> port(num:in std_logic_vector(3 downto 0); </p><p&g
54、t; led:out std_logic_vector(6 downto 0)); </p><p> end deled ; </p><p> architecture a of deled is </p><p><b> begin </b></p><p> process(num) </p&g
55、t;<p><b> begin </b></p><p> case num is </p><p> when"0000"=>led<="0111111";-----------3FH</p><p> when"0001"=>led<
56、="0000110";-----------06H </p><p> when"0010"=>led<="1011011";-----------5BH </p><p> when"0011"=>led<="1001111";-----------4FH &l
57、t;/p><p> when"0100"=>led<="1100110";-----------66H </p><p> when"0101"=>led<="1101101";-----------6DH </p><p> when"0110&qu
58、ot;=>led<="1111101";-----------7DH </p><p> when"0111"=>led<="0100111";-----------27H </p><p> when"1000"=>led<="1111111";--
59、---------7FH </p><p> when"1001"=>led<="1101111";-----------6FH </p><p> when others=>led<="0000000";-----------00H </p><p> end case; &
60、lt;/p><p> end process; </p><p><b> end a;</b></p><p><b> 波形仿真:</b></p><p> 三、數(shù)字秒表仿真波形</p><p><b> 四、硬件驗(yàn)證</b></p>
61、;<p> 1、選擇合適的芯片類型,進(jìn)行自動(dòng)分配管腳,在實(shí)驗(yàn)箱上將相應(yīng)的管腳連接起來;</p><p> 2、將做好的數(shù)字秒表下載到實(shí)驗(yàn)箱中;</p><p> 3、驗(yàn)證功能,當(dāng)輸入端clr撥至低電平,start撥至高電平時(shí),秒表開始計(jì)時(shí),能清楚的顯示時(shí)、分、,秒、0.01秒;當(dāng)把start撥至低電平時(shí)計(jì)時(shí),秒表暫停,當(dāng)把start再次撥回高電平時(shí),秒表繼續(xù)計(jì)時(shí);當(dāng)把c
62、lr撥至高電平時(shí),8個(gè)數(shù)碼管同時(shí)變?yōu)?,秒表停止工作。</p><p><b> 五、實(shí)驗(yàn)總結(jié)</b></p><p> 通過本次課程設(shè)計(jì),使我對(duì)MAX+plusII軟件的使用、實(shí)驗(yàn)箱的使用、VHDL語言以及一個(gè)課題從開始的分析到最后的綜合編譯和仿真也有了更深刻的認(rèn)識(shí)。</p><p> 一拿到課程設(shè)計(jì)題目時(shí)確實(shí)有些迷茫,我就到圖書館查閱
63、了相關(guān)的書籍、上網(wǎng)查了查資料、以及與同學(xué)討論了整體構(gòu)思和VHDL語言的設(shè)計(jì)。雖然大體思路有了,但是在編程的過程中還是遇到了不少問題。</p><p> 分頻器的設(shè)計(jì)就是一個(gè)難題,100HZ的周期是10MHZ的100000倍,那counter的取值不是該是100000,那就是從0to99999,但是硬件驗(yàn)證時(shí)秒表明顯走得偏慢。那counter要取什么值呢?是取0to49999?通過分析才明白,如果語句中沒有用到q
64、<= not q;語句,在0.01秒內(nèi),q很長(zhǎng)一段時(shí)間都保持低電平,只有在最后0.2us進(jìn)行高低電平的跳變;但如果用了q<= not q;語句,在0.005s時(shí),q就從電平跳變到高電平,然后一直保持到0.01s才跳變到低電平,也就是將0.01s作為一個(gè)高低電平的周期。</p><p> 數(shù)碼管驅(qū)動(dòng)模塊的輸出端口也遇到了問題,如果接線按EDA實(shí)驗(yàn)書上的接法,輸出端口有7個(gè),驗(yàn)證的時(shí)候總是有錯(cuò),最后只好
65、將輸出端口改成一個(gè)led[6..0],在功能上同樣也滿足驅(qū)動(dòng)數(shù)碼管的功能。</p><p> 雖然在實(shí)驗(yàn)中遇到了許多這樣那樣的大小問題,但是我還是積極的尋找解決問題的辦法,認(rèn)真分析問題,研究問題,解決問題,最后終于設(shè)計(jì)出了數(shù)字秒表,并能實(shí)現(xiàn)各個(gè)功能端的作用。</p><p> 課程設(shè)計(jì)不僅教會(huì)了我課本上的知識(shí),更使我自身的學(xué)習(xí)能力和遇到問題時(shí)分析思考問題的能力有了明顯提高,自身的意志和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda數(shù)字秒表課程設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字秒表
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- eda課程設(shè)計(jì)--數(shù)字秒表設(shè)計(jì)
- eda綜合課程設(shè)計(jì)-數(shù)字秒表
- eda課程設(shè)計(jì)--數(shù)字秒表的設(shè)計(jì)
- eda課程設(shè)計(jì)---數(shù)字秒表的設(shè)計(jì)
- eda課程--數(shù)字秒表設(shè)計(jì)
- eda技術(shù)及應(yīng)用課程設(shè)計(jì)--數(shù)字秒表
- eda課程設(shè)計(jì)--秒表設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)報(bào)告
- eda秒表電路課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)報(bào)告
- 數(shù)字秒表課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)--電子秒表設(shè)計(jì)
- 課程設(shè)計(jì)報(bào)告---數(shù)字秒表設(shè)計(jì)
- 數(shù)字電路課程設(shè)計(jì)報(bào)告---數(shù)字秒表
- 數(shù)字秒表課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)
- 數(shù)字秒表課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論