版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 學(xué) 號(hào) </p><p><b> 數(shù)字電路課程設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)說明書</b></p><p> 起止日期: 2013年 6 月 25日 至 2013 年 6 月 28日</p><p> 計(jì)算機(jī)與信息工程學(xué)院</p
2、><p> 2013年6月28 日</p><p><b> 目錄</b></p><p> 一、引言.............................................. . ...... ..... 2</p><p> 二、實(shí)驗(yàn)要求.............................
3、............... ...... ......2</p><p> 三、實(shí)驗(yàn)?zāi)康?........................................... ...... ......2</p><p> 四、實(shí)驗(yàn)內(nèi)容............................................ ...... ..... 2</p>&l
4、t;p> 五、實(shí)驗(yàn)原理............................................ ...... ..... 2</p><p> 六、實(shí)驗(yàn)連線............................................ ...... ..... 3</p><p> 七、數(shù)字鐘VHDL文本........................
5、.......... ...... ...... 3</p><p> 八、總結(jié)................................................ ...... .....11</p><p><b> 引言</b></p><p> 數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒,數(shù)字顯示的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭
6、,車站,碼頭、辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵罚捎跀?shù)字集成電路的發(fā)展和石英振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大地方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、校時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定是廣播、自動(dòng)啟閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實(shí)的意義
7、。</p><p><b> 二、實(shí)驗(yàn)要求</b></p><p> 1.具有時(shí),分,秒,計(jì)數(shù)顯示功能,以24小時(shí)循環(huán)計(jì)時(shí)。2.具有清零,調(diào)節(jié)小時(shí)、分鐘功能。3. 具有整點(diǎn)報(bào)時(shí)功能,整點(diǎn)報(bào)時(shí)的同時(shí)LED燈花樣顯示。</p><p> 三、實(shí)驗(yàn)?zāi)康?.掌握多位計(jì)數(shù)器相連的設(shè)計(jì)方法。2.掌握十進(jìn)制、六進(jìn)制、二十四進(jìn)制計(jì)數(shù)器的設(shè)計(jì)方法
8、。3.鞏固多位共陰極掃描顯示數(shù)碼管的驅(qū)動(dòng)及編碼。4.掌握揚(yáng)聲器的驅(qū)動(dòng)。5.LED燈的花樣顯示。6. 掌握CPLD技術(shù)的層次化設(shè)計(jì)方法。</p><p><b> 四 、實(shí)驗(yàn)內(nèi)容</b></p><p> 1.根據(jù)電路持點(diǎn),可在教師指導(dǎo)下用層次設(shè)計(jì)概念,將此設(shè)計(jì)任務(wù)分成若干模塊,規(guī)定每一模塊的功能和各模塊之間的接口,讓幾個(gè)學(xué)生分做和調(diào)試其中之一,然后再將各
9、模塊合起來聯(lián)試,以培養(yǎng)學(xué)生之間的合作精神,同時(shí)加深層次化設(shè)計(jì)概念。</p><p> 2.了解軟件的元件管理深層含義,以及模塊元件之間的連接概念。了解如何融合不同目錄下的統(tǒng)一設(shè)計(jì)。</p><p><b> 模塊說明:</b></p><p> 各種進(jìn)制的計(jì)數(shù)及時(shí)鐘控制模塊(10進(jìn)制、6進(jìn)制、24進(jìn)制);</p><p
10、> 掃描分時(shí)顯示,譯碼模塊;</p><p> 彩燈,揚(yáng)聲器編碼模塊;</p><p> 各模塊都是由VHDL語言編寫。</p><p> 數(shù)字鐘各模塊連接示意圖</p><p> 五、實(shí)驗(yàn)原理 1.時(shí)鐘計(jì)數(shù):秒——60進(jìn)制BCD碼計(jì)數(shù);</p><p> 分——60進(jìn)制BCDD碼計(jì)數(shù);&l
11、t;/p><p> 時(shí)——24進(jìn)制BCDD碼計(jì)數(shù);</p><p> 整個(gè)計(jì)數(shù)器有清零,調(diào)分,調(diào)時(shí)功能,在接近整數(shù)時(shí)間能提供報(bào)時(shí)信號(hào)。</p><p> 2.具有驅(qū)動(dòng)8位八段共陰掃描數(shù)碼管的片選驅(qū)動(dòng)信號(hào)輸出和八段字形譯碼輸出,編碼和掃描部分可參照前面實(shí)驗(yàn)。</p><p> 3.揚(yáng)聲器在整點(diǎn)時(shí)有報(bào)時(shí)驅(qū)動(dòng)信號(hào)產(chǎn)生。</p>&
12、lt;p> 4. LED燈在整點(diǎn)時(shí)有花樣顯示信號(hào)產(chǎn)生。</p><p> 六、 實(shí)驗(yàn)連線◎輸入接口:</p><p> 代表清零,調(diào)時(shí),調(diào)分信號(hào)RESET,SETHOUR,SETMIN的管腳分別已經(jīng)連接按鍵開關(guān)。</p><p> 代表計(jì)數(shù)時(shí)鐘信號(hào)CLK和掃描時(shí)鐘信號(hào)CKDSP的管腳分別已經(jīng)同1HZ時(shí)鐘源和32HZ(或更高)時(shí)鐘源相連。</p
13、><p> Reset鍵為低電平復(fù)位,已經(jīng)接上。</p><p><b> ◎輸出接口:</b></p><p> 代表掃描顯示的驅(qū)動(dòng)信號(hào)管腳SCAN2,SCAN1,SCAN0已經(jīng)接到實(shí)驗(yàn)箱上的SCAN0~SCAN2,A…G接八位數(shù)碼管顯示模塊的A~G。</p><p> 代表花樣LED燈顯示的信號(hào)管腳LAMP0…L
14、AMP2已經(jīng)同3個(gè)LED燈相連。代表到時(shí)LED燈閃爍提示的ENHOUR接LED燈。</p><p> SETHOUR、SETMIN分別對(duì)應(yīng)CPU板上的PB0、PB1(有些CPU板對(duì)應(yīng)的標(biāo)識(shí)是SW1、SW2)</p><p> RESET對(duì)應(yīng)CPU板上的RESET</p><p> CLKDSP對(duì)應(yīng)CPU板上的50MHz固定晶振輸入。</p>&l
15、t;p> LAMP對(duì)應(yīng)IO9-IO11。</p><p> CLK,對(duì)應(yīng)IO3。</p><p> 功能選擇位M[3..0]狀態(tài)為0010,左端8個(gè)數(shù)碼管,低8位為7位段加小數(shù)點(diǎn)選取位,高8位為8個(gè)數(shù)碼管com端選取,即如果要選取數(shù)碼管0,則發(fā)送總線值為:1111 1110 1111 1111,如要選取數(shù)碼管1,則發(fā)送總線值為:1111 1101 1111 1111,此時(shí)所選數(shù)
16、碼管7段和DP位將全部亮。</p><p> 實(shí)驗(yàn)接線:用導(dǎo)線連接IO3與ADJ_CLK,調(diào)整SW17-SW20,使輸出頻率為1Hz;</p><p> IO9-IO11接到L1-L3上; IO5接到蜂鳴器的BUZZER控制端口。</p><p> 按下PB0、PB1(有些CPU板對(duì)應(yīng)的標(biāo)識(shí)是SW1、SW2)可以調(diào)整時(shí)鐘,分鐘。</p><
17、p> 七、數(shù)字鐘VHDL文本</p><p> 本設(shè)計(jì)全部采用VHDL文本描述,所有文本存放在同一個(gè)工作文件夾中。可先錄入底層文件,把某個(gè)底層文件設(shè)為當(dāng)時(shí)的頂層,保存、編譯、仿真、退出;再錄入另一個(gè)底層文件;這樣把所有底層文件一一錄入;最后錄入頂層文件,并保存、編譯、仿真,再下載頂層文件到器件實(shí)現(xiàn)硬件功能。</p><p> 7.1、頂層文本(clock_top.vhd)<
18、;/p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity clock_top is</p><p> port(clk,reset,setmin,sethour,clkdsp:in std_logic;</p><p>
19、 speaker:out std_logic;</p><p> lamp:out std_logic_vector(2 downto 0);</p><p> sel:out std_logic_vector(2 downto 0);</p><p> a,b,c,d,e,f,g,dpout:out std_logic);</p><p
20、> end clock_top;</p><p> architecture a of clock_top is</p><p> COMPONENT second</p><p><b> PORT(</b></p><p> clk,reset,setmin:IN STD_LOGIC;</p&g
21、t;<p> daout:out std_logic_vector(6 downto 0);</p><p> enmin:OUT STD_LOGIC);</p><p> END COMPONENT;</p><p> COMPONENT minute</p><p><b> PORT(</b>
22、;</p><p> clk,clk1,reset,sethour:IN STD_LOGIC;</p><p> enhour:OUT STD_LOGIC;</p><p> daout:out std_logic_vector(6 downto 0));</p><p> END COMPONENT;</p><
23、p> COMPONENT hour</p><p><b> port(</b></p><p> clk,reset:IN STD_LOGIC;</p><p> daout:out std_logic_vector(5 downto 0));</p><p> END COMPONENT;</p
24、><p> COMPONENT alert</p><p><b> PORT(</b></p><p> clk:IN STD_LOGIC;</p><p> dain:in std_logic_vector(6 downto 0);</p><p> lamp:out std_logic
25、_vector(2 downto 0);</p><p> speak:OUT STD_LOGIC);</p><p> END COMPONENT;</p><p> COMPONENT seltime</p><p><b> PORT(</b></p><p> clk1,rese
26、t:IN STD_LOGIC;</p><p> sec,min:in std_logic_vector(6 downto 0);</p><p> hour:in std_logic_vector(5 downto 0);</p><p> dp:out std_logic;</p><p> daout:out std_logic
27、_vector(3 downto 0);</p><p> sel:OUT STD_LOGIC_vector(2 downto 0));</p><p> END COMPONENT;COMPONENT deled</p><p><b> PORT(</b></p><p> num:IN STD_LOGIC_
28、vector(3 downto 0);</p><p> led:out std_logic_vector(6 downto 0));</p><p> END COMPONENT;</p><p> signal enmin_re,enhour_re:std_logic;</p><p> signal second_daout,m
29、inute_daout:std_logic_vector(6 downto 0);</p><p> signal hour_daout:std_logic_vector(5 downto 0);</p><p> signal seltime_daout:std_logic_vector(3 downto 0);</p><p> signal ledout
30、:std_logic_vector(6 downto 0);</p><p><b> begin</b></p><p> a<=ledout(6);b<=ledout(5);c<=ledout(4);d<=ledout(3);</p><p> e<=ledout(2);f<=ledout(1);g
31、<=ledout(0);</p><p> u1:second port map(reset=>reset,</p><p><b> clk=>clk,</b></p><p> setmin=>setmin,</p><p> enmin=>enmin_re,</p>
32、<p> daout=>second_daout);</p><p> u2:minute port map(clk=>enmin_re,</p><p> clk1=>clk,</p><p> reset=>reset,</p><p> sethour=>sethour,</p
33、><p> enhour=>enhour_re,</p><p> daout=>minute_daout);</p><p> u3:hour port map(clk=>enhour_re,</p><p> reset=>reset,</p><p> daout=>hour_
34、daout);</p><p> u4:alert port map(clk=>clk,</p><p> dain=>minute_daout,</p><p> speak=>speaker,</p><p> lamp=>lamp);</p><p> u5:seltime po
35、rt map(clk=>clkdsp,</p><p> reset=>reset,</p><p> sec=>second_daout,</p><p> min=>minute_daout,</p><p> hour=>hour_daout,</p><p> daout
36、=>seltime_daout,</p><p> dp=>dpout,</p><p> sel=>sel);</p><p> u6:deled port map(num=>seltime_daout,</p><p> led=>ledout);</p><p><b&
37、gt; end a;</b></p><p> 7.2、秒計(jì)數(shù)器(second.vhd) 為底層文本</p><p> LIBRARY ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p&
38、gt;<p> ENTITY second IS</p><p><b> PORT(</b></p><p> clk,reset,setmin:IN STD_LOGIC;</p><p> enmin:OUT STD_LOGIC;</p><p> daout:out std_logic_ve
39、ctor(6 downto 0));</p><p> END entity second;</p><p> ARCHITECTURE fun OF second IS</p><p> SIGNAL count:STD_LOGIC_VECTOR(6 downto 0);</p><p> SIGNAL enmin_1,enmin_
40、2:STD_LOGIC;</p><p><b> BEGIN</b></p><p> daout<=count;</p><p> enmin_2<=(enmin_1 or enmin_2);</p><p> enmin<=(enmin_1 or enmin_2);</p>
41、<p> process(clk,reset,setmin)</p><p><b> begin</b></p><p> if(reset='0')then count <="0000000";</p><p> elsif(clk'event and clk='1
42、')then</p><p> if(count(3 downto 0)="1001")then</p><p> if(count<=16#60#)then</p><p> if(count="1011001")then</p><p> enmin_1<='1&
43、#39;;count<="0000000";</p><p><b> else</b></p><p> count<=count+7;</p><p><b> end if;</b></p><p><b> else</b><
44、;/p><p> count<="0000000";</p><p><b> end if;</b></p><p> elsif(count<16#60#)then</p><p> count<=count+1;</p><p> enmin_1&
45、lt;='1'after 100 ns;</p><p><b> else</b></p><p> count<="0000000";</p><p><b> end if;</b></p><p><b> end if;</
46、b></p><p> end process;</p><p><b> END fun;</b></p><p> 7.3分計(jì)數(shù)器(minute.vhd) 為底層文本</p><p> LIBRARY ieee;</p><p> use ieee.std_logic_1164
47、.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> ENTITY minute IS</p><p><b> PORT(</b></p><p> clk,clk1,reset,sethour:IN STD_LOGIC;</p><
48、;p> enhour:OUT STD_LOGIC;</p><p> daout:out std_logic_vector (6 downto 0));</p><p> END entity minute;</p><p> ARCHITECTURE fun OF minute IS</p><p> SIGNAL coun
49、t:STD_LOGIC_VECTOR (6 downto 0);</p><p> SIGNAL enhour_1,enhour_2:STD_LOGIC;</p><p><b> BEGIN</b></p><p> daout<=count;</p><p> enhour_2<=(sethour
50、 and clk1);</p><p> enhour<=(enhour_1 and enhour_2);</p><p> process(clk,reset,sethour)</p><p><b> begin</b></p><p> if(reset='0')then</p&
51、gt;<p> count<="0000000";</p><p> elsif(clk' event and clk='1')then</p><p> if(count(3 downto 0)="1001")then</p><p> if(count<16#16#
52、)then</p><p> if(count="1011001")then</p><p> enhour_1<='1';</p><p> count<="0000000";</p><p><b> ELSE</b></p>
53、<p> count<=count+7;</p><p><b> end if;</b></p><p><b> else</b></p><p> count<="0000000";</p><p><b> end if;<
54、/b></p><p> elsif(count<16#16#)then</p><p> count<=count+1;</p><p> enhour_1<='0'after 100 ns;</p><p><b> else</b></p><p&
55、gt; count<="0000000";</p><p><b> end if;</b></p><p><b> end if; </b></p><p> end process;</p><p> END fun; </p><p&
56、gt; 7.4小時(shí)文本(hour.vhd) 為底層文本</p><p><b> HOUR</b></p><p> LIBRARY ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;<
57、;/p><p> ENTITY hour IS</p><p><b> PORT(</b></p><p> clk,reset: INSTD_LOGIC;</p><p> daout: out std_logic_vector (5 downto 0));</p><p> END
58、entity hour;</p><p> ARCHITECTURE fun OF hour IS</p><p> SIGNAL count: STD_LOGIC_VECTOR( 5 downto 0);</p><p><b> BEGIN</b></p><p> daout <= count;<
59、;/p><p> process ( clk,reset) </p><p><b> begin </b></p><p> if (reset='0') then</p><p> count <= "000000";</p><p> elsi
60、f (clk' event and clk='1') then</p><p> if (count(3 downto 0)="1001") then</p><p> if (count <16#23#) then</p><p> count<=count + 7; </p><p
61、><b> else </b></p><p> count<="000000";</p><p><b> end if;</b></p><p> elsif(count <16#23#) then </p><p> count <= co
62、unt + 1;</p><p><b> else </b></p><p> count<="000000";</p><p><b> end if;</b></p><p><b> end if;</b></p><
63、;p> end process;</p><p><b> END fun;</b></p><p> 7.5時(shí)間數(shù)據(jù)掃描分時(shí)選擇模塊文本(seltime.vhd) 為底層文本</p><p> LIBRARY ieee;</p><p> use ieee.std_logic_1164.all;<
64、;/p><p> use ieee.std_logic_unsigned.all;</p><p> use ieee.std_logic_arith.all;</p><p> ENTITY seltime IS</p><p><b> PORT(</b></p><p> clk1,
65、reset: INSTD_LOGIC;</p><p> sec,min : INSTD_LOGIC_VECTOR(6 downto 0);</p><p> hour : in std_logic_vector (5 downto 0);</p><p> daout: OUTSTD_LOGIC_vector (3 downto 0);</p&
66、gt;<p> sel : out std_logic_vector ( 2 downto 0));</p><p> END seltime;</p><p> ARCHITECTURE fun OF seltime IS</p><p> SIGNAL count: STD_LOGIC_vector ( 2 downto 0);</p
67、><p><b> BEGIN</b></p><p> sel <= count;</p><p> process ( clk1,reset)</p><p><b> begin </b></p><p> if (reset ='0') t
68、hen</p><p> count <= "000";</p><p> elsif (clk1 'event and clk1='1') then</p><p> if ( count >= "101") then</p><p> count <
69、= "000";</p><p><b> else </b></p><p> count <= count + 1;</p><p><b> end if;</b></p><p><b> end if;</b></p>
70、<p> case count is</p><p> when "000" => daout <= sec(3 downto 0);</p><p> when "001" => daout(3) <= '0';</p><p> daout(2 downto 0)
71、<= sec (6 downto 4);</p><p> when "010" => daout <= min (3 downto 0);</p><p> when "011" => daout(3) <= '0';</p><p> daout(2 downto 0)
72、<= min (6 downto 4);</p><p> when "100" => daout <= hour (3 downto 0);</p><p> when others => daout(3 downto 2) <= "00";</p><p> daout(1 downto
73、 0) <= hour(5 downto 4);</p><p><b> end case;</b></p><p> end process;</p><p><b> end fun;</b></p><p><b> 八、總結(jié) </b></p>
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字電路課程設(shè)計(jì)-- 數(shù)字鐘
- 數(shù)字電路課程設(shè)計(jì)--數(shù)字鐘的設(shè)計(jì)與實(shí)現(xiàn)
- 數(shù)字電路課程設(shè)計(jì)(多功能數(shù)字鐘)
- 數(shù)字電路課程設(shè)計(jì)報(bào)告-- 數(shù)字鐘電路的設(shè)計(jì)與仿真
- 數(shù)字電路課程設(shè)計(jì)(多功能數(shù)字鐘)
- 脈沖與數(shù)字電路課程設(shè)計(jì)報(bào)告--基于fpga的數(shù)字鐘
- 數(shù)字電路課程設(shè)計(jì)實(shí)習(xí)報(bào)告-利用cpld設(shè)計(jì)可調(diào)時(shí)數(shù)字鐘
- 數(shù)字鐘課程設(shè)計(jì)--多功能數(shù)字鐘的電路設(shè)計(jì)
- lg數(shù)字鐘電路課程設(shè)計(jì)---多功能數(shù)字鐘電路設(shè)計(jì)
- 課程設(shè)計(jì)---數(shù)字鐘電路設(shè)計(jì)
- 數(shù)字電路課程設(shè)計(jì)----數(shù)字電子鐘
- 數(shù)字電子電路課程設(shè)計(jì)---數(shù)字鐘
- 數(shù)字電路課程設(shè)計(jì)---數(shù)字電子鐘
- 多功能數(shù)字鐘電路課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)---多功能數(shù)字鐘的設(shè)計(jì)與制作
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字電路多功能數(shù)字鐘畢業(yè)設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論