

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 數(shù)字邏輯</b></p><p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> — —多功能數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 姓 名: </p><p> 專業(yè)班級(jí): 通信1002 &l
2、t;/p><p> 學(xué) 號(hào): </p><p> 指導(dǎo)老師: </p><p> 設(shè)計(jì)日期: 2012.06.20~2012.06.24 </p><p><b> 一、設(shè)計(jì)目的</b></p><p> 1、學(xué)會(huì)應(yīng)
3、用數(shù)字系統(tǒng)設(shè)計(jì)方法進(jìn)行電路設(shè)計(jì);</p><p> 2、學(xué)習(xí)使用QuartusII 9.0, 進(jìn)一步提高軟件的開發(fā)應(yīng)用能力,增強(qiáng)自己的動(dòng)手實(shí)踐能力。</p><p> 3、培養(yǎng)學(xué)生書寫綜合實(shí)驗(yàn)報(bào)告的能力。 </p><p><b> 二、設(shè)計(jì)任務(wù)及要求</b></p><p> 實(shí)現(xiàn)多功能數(shù)字鐘的設(shè)計(jì),主要
4、有以下功能:</p><p> 1、記時(shí)、記分、記秒</p><p> 2、校時(shí)、校分、秒清0</p><p><b> 3、整點(diǎn)報(bào)時(shí)</b></p><p><b> 4、時(shí)間正常顯示</b></p><p> 5、鬧時(shí)功能(選做)</p><
5、p><b> 三、設(shè)計(jì)思路</b></p><p><b> 3.1 計(jì)時(shí)模塊</b></p><p> 3.1.1 設(shè)計(jì)原理</p><p> 計(jì)時(shí)模塊如圖3.1.1所示,其中計(jì)時(shí)用60進(jìn)制計(jì)數(shù)器,計(jì)分和計(jì)秒用24進(jìn)制計(jì)數(shù)器。</p><p> 圖3.1.1 計(jì)時(shí)間模塊</p
6、><p><b> 計(jì)時(shí)間過程:</b></p><p> 計(jì)秒:1HZ計(jì)數(shù)脈沖,0~59循環(huán)計(jì)數(shù),計(jì)數(shù)至59時(shí)產(chǎn)生進(jìn)位信號(hào);</p><p> 計(jì)分:以秒計(jì)數(shù)器進(jìn)位信號(hào)作為分計(jì)數(shù)脈沖,0~59循環(huán)計(jì)數(shù),59時(shí)產(chǎn)生進(jìn)位;</p><p> 計(jì)時(shí):以分計(jì)數(shù)器進(jìn)位信號(hào)作為時(shí)計(jì)數(shù)脈沖,0~23循環(huán)計(jì)數(shù),23時(shí)清0。<
7、/p><p><b> 計(jì)數(shù)器的設(shè)計(jì):</b></p><p> 3.1.2 設(shè)計(jì)程序</p><p> 編程分別設(shè)計(jì)24、60進(jìn)制計(jì)數(shù)器,計(jì)數(shù)狀態(tài)以BCD碼形式輸出。</p><p> 24進(jìn)制計(jì)數(shù)器源程序:</p><p> library ieee;</p><p&
8、gt; use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity FEN24 is</p><p> port(en,clk:in std_logic; ----高電平有效的使能信號(hào)/輸入時(shí)鐘</p><p&
9、gt; co:out std_logic; </p><p> h1,h0:out std_logic_vector(3 downto 0)); ----時(shí)高位/低位</p><p> end FEN24;</p><p> architecture behave of FEN24 is</p><p><b> begi
10、n</b></p><p> process(clk)</p><p> variable cnt1,cnt0:std_logic_vector(3 downto 0); ----記數(shù)</p><p><b> begin</b></p><p> if(en='0')then
11、 ---“使能”為0</p><p> cnt0:="0010";</p><p> cnt1:="0001";</p><p> elsif clk'event and clk='1'then ---上升沿觸發(fā)&
12、lt;/p><p> if cnt1="0010"and cnt0="0011"then</p><p> cnt0:="0000"; ----高位/低位同時(shí)為0時(shí)</p><p> cnt1:="0000";</p>&
13、lt;p><b> co<='1';</b></p><p><b> else</b></p><p><b> co<='0';</b></p><p> if cnt0="1001"then</p>&l
14、t;p> cnt0:="0000";</p><p> cnt1:=cnt1+1;</p><p><b> else </b></p><p> cnt0:=cnt0+1; -----高位記數(shù)累加 </p><p><b>
15、; end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> h1<=cnt1;</b></p><p><b> h0<=cnt0;<
16、/b></p><p> end process;</p><p> end behave;</p><p> 60進(jìn)制計(jì)數(shù)器源程序:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> u
17、se ieee.std_logic_unsigned.all;</p><p> entity FEN60 is</p><p> port(en,clk:in std_logic; ---高電平有效的使能信號(hào)/輸入時(shí)鐘</p><p> co:out std_logic; ---輸出
18、/進(jìn)位信號(hào)</p><p> s1,s0:out std_logic_vector(3 downto 0)); </p><p> end FEN60;</p><p> architecture behave of FEN60 is</p><p><b> begin</b></p><
19、;p> process(clk,en)</p><p> variable cnt1,cnt0:std_logic_vector(3 downto 0); ---計(jì)數(shù)</p><p><b> begin</b></p><p> if en='0'then
20、 ---“使能”為0 </p><p> cnt1:="0000";</p><p> cnt0:="0000";</p><p> elsif clk'event and clk='1'then</p>
21、<p> if cnt0="1001"then</p><p> cnt0:="0000";</p><p> if cnt1="0101"then ---當(dāng)計(jì)數(shù)為58(實(shí)際是經(jīng)過59個(gè)計(jì)時(shí)脈沖)</p><p> cnt1:="0000";</p&g
22、t;<p> co<='1'; ---進(jìn)位</p><p><b> else</b></p><p> cnt1:=cnt1+1; </p><p> co<='0'
23、; </p><p><b> end if;</b></p><p><b> else</b></p><p> cnt0:=cnt0+1;</p><p><b> end if; </b></p><p><b> end
24、if;</b></p><p><b> s1<=cnt1;</b></p><p><b> s0<=cnt0;</b></p><p> end process;</p><p> end behave;</p><p> 3.1.3 設(shè)
25、計(jì)仿真及生成器件</p><p> 24進(jìn)制計(jì)數(shù)器仿真波形截圖如圖3.1.2所示,其中計(jì)到23時(shí),即高位h1為2,低位h0為3時(shí)產(chǎn)生進(jìn)位。</p><p> 圖3.1.2 24進(jìn)制計(jì)數(shù)器仿真波形</p><p> 60進(jìn)制計(jì)數(shù)器仿真波形截圖如圖3.1.3所示,其中計(jì)到59時(shí),即高位s1為5,低位s0為9時(shí)產(chǎn)生進(jìn)位。</p><p>
26、圖3.1.3 60進(jìn)制計(jì)數(shù)器仿真波形</p><p> 24進(jìn)制計(jì)數(shù)器和60進(jìn)制計(jì)數(shù)器生成器件分別如圖3.1.4、圖3.1.5所示,其中en為時(shí)能信號(hào),接高電平,clk接1kHz的時(shí)鐘信號(hào),co為進(jìn)位,h1為時(shí)高位,h0為時(shí)低位,s1為秒或分高位,s0為秒或分低位。</p><p> 圖3.1.4 24進(jìn)制計(jì)數(shù)器 圖3.1.5 60進(jìn)制計(jì)數(shù)器
27、 </p><p><b> 3.2 校時(shí)模塊</b></p><p> 3.2.1 設(shè)計(jì)原理</p><p> 計(jì)、校時(shí)對(duì)模塊如圖3.2.1所示。</p><p> 圖3.2.1 計(jì)、校時(shí)對(duì)模塊</p><p> 校時(shí)模塊設(shè)計(jì)要求實(shí)現(xiàn)校時(shí)、校分以及清零的功能。</p>
28、<p> 按下校時(shí)鍵,時(shí)位迅速遞增以調(diào)至所需要的小時(shí)位,滿23清0;</p><p> 按下校分鍵,分位迅速遞增以調(diào)至所需要的分位,滿59清0;</p><p> 按下清零鍵,秒清零;</p><p> 選擇實(shí)驗(yàn)板上的三個(gè)脈沖按鍵進(jìn)行鎖定。</p><p> 對(duì)此模塊的設(shè)計(jì),需要注意兩個(gè)問題:</p>&l
29、t;p> 1. 如何實(shí)現(xiàn)校對(duì)時(shí)間時(shí),計(jì)數(shù)器快速遞增?</p><p> 按鍵校對(duì)時(shí)間時(shí),將一個(gè)頻率較高的計(jì)數(shù)脈沖信號(hào)作用于計(jì)數(shù)器,屏蔽正常計(jì)時(shí)的計(jì)數(shù)脈沖信號(hào)。</p><p> 2. “抖動(dòng)”的消除</p><p> 電路抖動(dòng):一次按鍵的彈跳現(xiàn)象,電路產(chǎn)生多個(gè)計(jì)數(shù)脈沖,導(dǎo)致一次按鍵,多次計(jì)數(shù)的誤動(dòng)作。</p><p> 抖動(dòng)產(chǎn)
30、生的原因:物理原因。</p><p> 消除抖動(dòng)簡(jiǎn)易方法:D觸發(fā)器,同步按鍵脈沖。</p><p> 原理:一個(gè)CP內(nèi),屏蔽所有抖動(dòng)脈沖。</p><p> 兩種脈沖信號(hào)用兩路選擇器進(jìn)行選擇,選擇條件為是否按鍵。按鍵輸出經(jīng)過了消抖處理。</p><p> 3.2.2 設(shè)計(jì)程序</p><p><b>
31、 二路選擇器源程序:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity MUX2 is</p><p> port(A,B,S:in bit;</p><p> Y:out bit);
32、</p><p><b> end MUX2;</b></p><p> architecture one of MUX2 is</p><p><b> begin</b></p><p> process(A,B,S)</p><p><b> beg
33、in</b></p><p> if S='0' then </p><p><b> Y<=A;</b></p><p><b> else</b></p><p><b> Y<=B;</b></p><p
34、><b> end if;</b></p><p> end process;</p><p><b> end one;</b></p><p> 3.2.3 設(shè)計(jì)仿真及生成器件</p><p> 二路選擇器生成器件如圖3.2.2所示。</p><p>
35、圖3.2.2 二路選擇器</p><p> 3.3 整點(diǎn)報(bào)時(shí)模塊</p><p> 3.3.1 設(shè)計(jì)原理</p><p> 報(bào)時(shí)模塊原理圖如圖3.3.1所示,數(shù)字鐘從59分50秒開始,每2秒一次低音報(bào)時(shí),當(dāng)達(dá)到整點(diǎn)時(shí),進(jìn)行一次高音報(bào)時(shí),其中低音報(bào)時(shí)頻率為500Hz,高音報(bào)時(shí)頻率為1kHz。</p><p> 圖3.3.1 報(bào)時(shí)模塊&l
36、t;/p><p> 進(jìn)行報(bào)時(shí)的條件是計(jì)數(shù)器計(jì)數(shù)至所要求的時(shí)間點(diǎn),因而需要實(shí)現(xiàn)一個(gè)比較模塊,如圖3.3.2所示,將分計(jì)數(shù)器和秒計(jì)數(shù)器的輸出連至比較模塊輸入端完成比較工程。</p><p> 圖3.3.2 比較模塊</p><p> 3.3.2 設(shè)計(jì)程序</p><p><b> 整點(diǎn)報(bào)時(shí)源程序:</b></p&g
37、t;<p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity ZDBS is</p><p> port(mh,ml,sh,sl:in std_lo
38、gic_vector(3 downto 0);--輸入分秒高低位信號(hào) </p><p> sig500,sig1k:out std_logic); ---頻聲控制</p><p><b> end ZDBS;</b></p><p> architecture b
39、ehave of ZDBS is</p><p><b> begin</b></p><p> process(ml)</p><p><b> begin</b></p><p> sig500<='0';</p><p> sig1k&l
40、t;='0';</p><p> if mh="0101" and ml="1001" then </p><p> if sh="0101"and (sl="0000" or sl="0010" or sl="0100"
41、or sl="0110" or sl="1000") </p><p> then sig500<='1'; ----低頻輸出為1</p><p> else sig500<='0'; --
42、--否則輸出為0</p><p><b> end if;</b></p><p><b> end if;</b></p><p> if mh="0000" and ml="0000"and sh="0000" and sl="0000&quo
43、t; -----整點(diǎn)報(bào)時(shí)</p><p> then sig1k<='1'; -----高頻輸出為1</p><p> else sig1k<='0';</p><p><b> end if;</b></p><p
44、> end process;</p><p> end behave;</p><p> 3.3.3 設(shè)計(jì)仿真及生成器件</p><p> 整點(diǎn)報(bào)時(shí)生成器件如圖3.3.3所示,器件輸入為分和秒,分別接分計(jì)數(shù)器和秒計(jì)數(shù)器的高低位,輸出為高頻聲控sig500和sig1k。</p><p> 圖3.3.3 整點(diǎn)報(bào)時(shí)</p>
45、;<p><b> 3.4 分頻模塊</b></p><p> 3.4.1 設(shè)計(jì)原理</p><p> 分頻模塊如圖3.4.1所示,系統(tǒng)需要用到多種不同頻率的脈沖信號(hào),上至高音報(bào)時(shí)信號(hào),下至1Hz的計(jì)秒脈沖,所有這些脈沖信號(hào)均可以通過一個(gè)基準(zhǔn)頻率分頻器生成,基準(zhǔn)頻率分頻器就是一個(gè)進(jìn)制很大的計(jì)數(shù)器,利用計(jì)數(shù)器的分頻功能,從不同的輸出位得到所需要的脈沖
46、信號(hào)。因此可以設(shè)計(jì)一個(gè)進(jìn)制較大的計(jì)數(shù)器,分頻產(chǎn)生各種頻率的脈沖信號(hào)。</p><p> 圖3.4.1 分頻模塊</p><p> 3.4.2 設(shè)計(jì)程序</p><p><b> 分頻器源程序:</b></p><p> library ieee;</p><p> use ieee.st
47、d_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity FPQ is</p><p> port(clk:in std_logic;</p><
48、;p> hz512:out std_logic;</p><p> hz64:out std_logic; </p><p> hz4:out std_logic;</p><p> hz1:out std_logic</p><p><b> ); </b></p><p>&l
49、t;b> end FPQ;</b></p><p> architecture behave of FPQ is</p><p> signal q:std_logic_vector(9 downto 0);</p><p><b> begin </b></p><p> process(c
50、lk)</p><p><b> begin </b></p><p> if clk'event and clk='1'then </p><p><b> q<=q+1;</b></p><p><b> end if;</b><
51、/p><p> end process; </p><p> hz512<=q(0);</p><p> hz64<=q(3);</p><p> hz4<=q(7);</p><p> hz1<=q(9);</p><p> end behave;</p&
52、gt;<p> 3.4.3 設(shè)計(jì)仿真及生成器件</p><p> 分頻器仿真波形如圖3.4.2所示,clk為時(shí)鐘輸入信號(hào),設(shè)為1024Hz,由于1Hz和4Hz頻率太小,因此在仿真波形圖上為一條直線,從圖上可以清楚看到512Hz和64Hz的頻率</p><p> 圖3.4.2 分頻器仿真波形</p><p> 分頻器生成器件如圖3.4.3所示,其
53、中左端為時(shí)鐘輸入信號(hào)clk,右端為頻率端,主要是整點(diǎn)報(bào)時(shí)用的1000Hz與500Hz的脈沖信號(hào),及鬧鐘報(bào)時(shí)的4Hz,秒輸入信號(hào)1Hz。</p><p> 圖3.4.3 分頻器</p><p> 3.5 動(dòng)態(tài)掃描顯示模塊</p><p> 3.5.1 設(shè)計(jì)原理</p><p> 由于資源不足無(wú)法完整顯示6位時(shí)間,因此采用動(dòng)態(tài)掃描的方式實(shí)
54、現(xiàn)時(shí)間顯示。在動(dòng)態(tài)掃描方式下,所有的數(shù)碼對(duì)應(yīng)同一組七段碼,每一個(gè)數(shù)碼管由一個(gè)選擇端控制點(diǎn)亮或熄滅,如果全部點(diǎn)亮,則都顯示相同數(shù)字,如要實(shí)現(xiàn)6位不同時(shí)間的顯示,則需要利用人的視覺缺陷,即利用高頻輸出,使得人眼覺察不出差別。</p><p> 簡(jiǎn)單說,就是在動(dòng)態(tài)模式下,8個(gè)數(shù)碼管連接同個(gè)七段碼,進(jìn)行分時(shí)控制的動(dòng)態(tài)掃描顯示。</p><p> 時(shí)間的顯示:24進(jìn)制與60進(jìn)制計(jì)數(shù)器的輸出分成3
55、組,每一組(8位)接BCD7段碼譯碼器,驅(qū)動(dòng)數(shù)碼管顯示,選用8個(gè)數(shù)碼管中的6個(gè)進(jìn)行時(shí)間顯示。</p><p> 3.5.2 設(shè)計(jì)程序</p><p><b> 動(dòng)態(tài)掃描源程序:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;<
56、/p><p> use ieee.std_logic_unsigned.all;</p><p> entity DTSM is</p><p> port(clk:in std_logic; ---掃描時(shí)鐘</p><p> s:in std_logic_vector(7 dow
57、nto 0);</p><p> m:in std_logic_vector(7 downto 0);</p><p> h:in std_logic_vector(7 downto 0);</p><p> selout:out std_logic_vector(2 downto 0); ---位選信號(hào)</p><p
58、> segout:out std_logic_vector(6 downto 0)); --- 輸出</p><p><b> end DTSM;</b></p><p> architecture a of DTSM is</p><p> signal temp:std_logic_vector(2 dow
59、nto 0); ---計(jì)數(shù)信號(hào)</p><p> signal seg:std_logic_vector(6 downto 0);</p><p> signal sel:std_logic_vector(2 downto 0);</p><p><b> begin</b></p><p>
60、; process(clk)</p><p> variable num:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> if (clk'event and clk='1' ) then</p><p> if
61、temp>=5 then</p><p> temp<="000";</p><p><b> else</b></p><p> temp<=temp+1;</p><p><b> end if;</b></p><p>
62、case temp is</p><p> when "101" =>num:=s(3 downto 0); </p><p> sel<="101";</p><p> when "100" =>num:=s(7 downto 4);
63、 </p><p> sel<="100";</p><p> when "011" =>num:=m(3 downto 0); </p><p> sel<="011";</p><p> when "010&q
64、uot; =>num:=m(7 downto 4); </p><p> sel<="010";</p><p> when "001" =>num:=h(3 downto 0);</p><p> sel<="001";</p>&l
65、t;p> when "000" =>num:=h(7 downto 4);</p><p> sel<="000";</p><p> when others=>sel<="111";</p><p><b> end case;</b></
66、p><p> case num is </p><p> when"0000"=>seg<="0111111"; ---輸出數(shù)字0</p><p> when"0001"=>seg<="0000110";
67、 ---輸出數(shù)字1</p><p> when"0010"=>seg<="1011011"; ---輸出數(shù)字2</p><p> when"0011"=>seg<="1001111"; ---輸出數(shù)字3&l
68、t;/p><p> when"0100"=>seg<="1100110"; ---輸出數(shù)字4</p><p> when"0101"=>seg<="1101101"; ---輸出數(shù)字5</p><p&
69、gt; when"0110"=>seg<="1111101"; ---輸出數(shù)字6</p><p> when"0111"=>seg<="0000111"; ---輸出數(shù)字7</p><p> when"1
70、000"=>seg<="1111111"; ---輸出數(shù)字8</p><p> when"1001"=>seg<="1101111"; ---輸出數(shù)字9</p><p> when others=>seg<=&qu
71、ot;0000000"; </p><p> end case; </p><p><b> end if;</b></p><p> end process;</p><p> selout<=sel;</p><p> segout<=seg;</p>
72、;<p> end architecture;</p><p> 3.5.3 設(shè)計(jì)仿真及生成器件</p><p> 動(dòng)態(tài)掃描仿真波形如圖3.5.1所示,由于h、m、s為時(shí)分秒的輸入,為設(shè)置時(shí),segout即BCD7段譯碼器沒有顯示,selout為位選信號(hào),實(shí)現(xiàn)六選一。</p><p> 圖3.5.1 動(dòng)態(tài)掃描仿真波形</p>&l
73、t;p> 動(dòng)態(tài)掃描生成器件如圖3.5.2所示,其中左端為輸入,分別接時(shí)鐘輸入信號(hào)、秒分時(shí)計(jì)數(shù)器的輸出信號(hào),右端為輸出,selout即位選信號(hào),segout即BCD7段譯碼器。</p><p> 圖3.5.2 動(dòng)態(tài)掃描</p><p> 3.6 鬧時(shí)模塊(選做)</p><p> 3.6.1 設(shè)計(jì)原理</p><p> 設(shè)置的鬧
74、時(shí)模塊需要注意一下幾點(diǎn):</p><p> 1、設(shè)定的鬧鐘的時(shí)間應(yīng)使用新的計(jì)數(shù)器進(jìn)行存儲(chǔ),與正常的計(jì)時(shí)互不干擾。</p><p> 2、與正常計(jì)時(shí)狀態(tài)的顯示切換??梢栽O(shè)定一個(gè)按鍵,用于選擇是將計(jì)時(shí)時(shí)間還是將鬧鐘時(shí)間狀態(tài)送到動(dòng)態(tài)顯示模塊。</p><p> 3、應(yīng)實(shí)現(xiàn)一個(gè)比較模塊,當(dāng)計(jì)時(shí)到與鬧鐘相等時(shí),則驅(qū)動(dòng)揚(yáng)聲器鳴叫。</p><p>
75、 4、鬧鐘響聲應(yīng)限定在一定時(shí)間內(nèi),比如一分鐘,且在這段時(shí)間內(nèi)應(yīng)隨時(shí)可以通過按鍵取消鬧時(shí)狀態(tài)(揚(yáng)聲器停止鳴叫)。</p><p> 3.6.2 設(shè)計(jì)程序</p><p><b> 六路選擇器源程序:</b></p><p> library ieee;</p><p> use ieee.std_logic_11
76、64.all;</p><p> entity MUX63 is</p><p> port(p:in bit;</p><p> sh:in std_logic_vector(7 downto 0);</p><p> nh:in std_logic_vector(7 downto 0);</p><p>
77、 sm:in std_logic_vector(7 downto 0);</p><p> nm:in std_logic_vector(7 downto 0);</p><p> ss:in std_logic_vector(7 downto 0);</p><p> h:out std_logic_vector(7 downto 0);</p>
78、<p> m:out std_logic_vector(7 downto 0);</p><p> s:out std_logic_vector(7 downto 0));</p><p> end MUX63;</p><p> architecture one of MUX63 is</p><p><b>
79、; begin</b></p><p> process(sh,nh,sm,nm,ss,p)</p><p><b> begin</b></p><p> if p='1' then </p><p><b> h<=nh;</b></p>
80、<p><b> m<=nm;</b></p><p><b> s<=ss;</b></p><p><b> else</b></p><p><b> h<=sh;</b></p><p><b>
81、m<=sm;</b></p><p><b> s<=ss;</b></p><p><b> end if;</b></p><p> end process;</p><p><b> end one;</b></p><
82、p><b> 數(shù)據(jù)比較器源程序:</b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity COMP is</p
83、><p> port(off1,open1:in std_logic;</p><p> sh:in std_logic_vector(7 downto 0);</p><p> nh:in std_logic_vector(7 downto 0);</p><p> sm:in std_logic_vector(7 downto 0);
84、</p><p> nm:in std_logic_vector(7 downto 0);</p><p> d:out std_logic);</p><p><b> end COMP;</b></p><p> architecture behave of COMP is</p><p&
85、gt;<b> begin</b></p><p> process(off1,open1,sh,nh,sm,nm)</p><p><b> begin</b></p><p> if off1='1' then d<='0';</p><p> e
86、lsif open1='1' then</p><p> if (sh=nh and sm=nm )then d<='1';</p><p> else d<='0';</p><p> end if; </p><p><b> end if;</b&g
87、t;</p><p> end process;</p><p> end behave;</p><p> 3.6.3 設(shè)計(jì)仿真及生成器件</p><p> 六路選擇器和數(shù)據(jù)比較器生成器件分別如圖3.6.1、圖3.6.2所示。</p><p> 選擇器的左端為輸入,接正常時(shí)間和鬧鐘設(shè)定的時(shí)間,右端為輸出端,
88、與動(dòng)態(tài)掃描器相連接,能掃描出正常計(jì)數(shù)時(shí)間與鬧鐘設(shè)置時(shí)間。</p><p> 數(shù)據(jù)比較器左端輸入接正常計(jì)數(shù)時(shí)間的時(shí)和分以及鬧鐘設(shè)定實(shí)間的時(shí)和分,將兩者相比較,如果相同,則右端輸出端d為‘1’,在有時(shí)鐘信號(hào)的情況下產(chǎn)生鬧鈴。</p><p> 圖3.6.1 六路選擇器 圖3.6.2 數(shù)據(jù)比較器</p><p>&l
89、t;b> 3.7 時(shí)鐘頂層圖</b></p><p> 時(shí)鐘頂層圖(含鬧鐘)如圖3.7.1所示。</p><p> 圖3.7.1 時(shí)鐘設(shè)置頂層圖(含鬧鐘)</p><p> 四、設(shè)計(jì)中遇到的問題及解決方法</p><p> 1、問題:下載驗(yàn)證時(shí)數(shù)碼管顯示時(shí)間與正常顯示時(shí)間相反。</p><p&g
90、t; 解決方法:動(dòng)態(tài)掃描程序出錯(cuò),掃描順序與正常顯示時(shí)間相反,修改程序,使得其由時(shí)高位向秒低位進(jìn)行掃描。</p><p> 2、問題:校準(zhǔn)分鐘時(shí),時(shí)鐘也跟著一起跳動(dòng)。</p><p> 解決方法:將分計(jì)數(shù)器進(jìn)位與跟時(shí)計(jì)數(shù)器相連的二路選擇器間連線上的非門去掉。</p><p> 3、問題:加上鬧鐘模塊進(jìn)行下載驗(yàn)證時(shí),時(shí)位與分位跳動(dòng)頻率與秒位頻率一樣。</
91、p><p> 解決方法:鬧鐘模塊部分的時(shí)計(jì)數(shù)器與分計(jì)數(shù)器給了同樣的時(shí)鐘脈沖,加與門(未解決)。</p><p><b> 五、設(shè)計(jì)結(jié)果</b></p><p> 時(shí)鐘的基本功能可以達(dá)到,時(shí)間可以正常顯示,按按鍵s1可以調(diào)節(jié)時(shí)鐘的小時(shí),按按鍵s2可以調(diào)節(jié)時(shí)鐘的分,按按鍵s3可以對(duì)秒位進(jìn)行清零。鬧鐘功能沒有很好地實(shí)現(xiàn),修改后的電路圖沒有經(jīng)過下載驗(yàn)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字邏輯課程設(shè)計(jì)---多功能數(shù)字鐘
- 數(shù)字邏輯課程設(shè)計(jì)報(bào)告——多功能數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)字邏輯課程設(shè)計(jì)---多功能數(shù)字鐘 (2)
- 數(shù)字邏輯課程設(shè)計(jì)報(bào)告--多功能數(shù)字鐘
- 數(shù)字鐘課程設(shè)計(jì)---多功能數(shù)字鐘的設(shè)計(jì)與制作
- 多功能數(shù)字鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 多功能 數(shù)字鐘
- eda實(shí)現(xiàn)多功能數(shù)字鐘課程設(shè)計(jì)
- 課程設(shè)計(jì)--多功能數(shù)字鐘設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)--多功能數(shù)字鐘的電路設(shè)計(jì)
- 課程設(shè)計(jì)--多功能數(shù)字鐘的設(shè)計(jì)
- 課程設(shè)計(jì)---多功能數(shù)字鐘的設(shè)計(jì)
- 數(shù)字邏輯課程設(shè)計(jì)--數(shù)字鐘
- 課程設(shè)計(jì)---多功能電子數(shù)字鐘
- eda課程設(shè)計(jì)——多功能數(shù)字鐘
- vhdl課程設(shè)計(jì)---多功能數(shù)字鐘
- 多功能數(shù)字鐘課程設(shè)計(jì)報(bào)告
- 多功能數(shù)字鐘電路課程設(shè)計(jì)
- 多功能數(shù)字鐘課程設(shè)計(jì)報(bào)告
- 多功能數(shù)字鐘課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論