




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、EDA電子鐘設(shè)計(jì)1一、設(shè)計(jì)目的1.掌握VHD語(yǔ)言的基本運(yùn)用。2.掌握復(fù)雜系統(tǒng)的EDA設(shè)計(jì)方法。3.學(xué)習(xí)多層次、多模塊系統(tǒng)設(shè)計(jì)。4.了解數(shù)字鐘的工作原理,利用VHDL語(yǔ)言實(shí)現(xiàn)數(shù)字鐘。5.掌握QuartusU的簡(jiǎn)單操作并會(huì)使用EDA實(shí)驗(yàn)箱。6.掌握各芯片的邏輯功能及使用方法。二、系統(tǒng)總體設(shè)計(jì)我們?cè)O(shè)計(jì)的是多功能數(shù)字鐘,共有5個(gè)系統(tǒng)模塊組成,分別是:液晶顯示屏、 調(diào)時(shí)控制開(kāi)關(guān)(用的是撥碼開(kāi)關(guān))、LED顯示狀態(tài)燈及蜂鳴器報(bào)時(shí)系統(tǒng)和時(shí)鐘頻 率系統(tǒng)。我們?cè)O(shè)計(jì)的是以24小時(shí)制顯示,數(shù)碼管掃描顯示時(shí)、分、秒;能夠正 常計(jì)時(shí)和調(diào)時(shí)、調(diào)分等校時(shí)功能;經(jīng)過(guò)我們?cè)O(shè)計(jì)的數(shù)字鐘具有蜂鳴器整點(diǎn)報(bào)時(shí)的 功能,還具備設(shè)置鬧鐘功能
2、。圖2.1多功能數(shù)字鐘模擬系統(tǒng)基本組成框圖三、詳細(xì)設(shè)計(jì)3.1數(shù)字鐘的基本工作原理3.1.1時(shí)基T產(chǎn)生電路數(shù)字鐘以其顯示時(shí)間的直觀性、走時(shí)準(zhǔn)確性作為一種計(jì)時(shí)工具,數(shù)字鐘的基本組 成部分離不開(kāi)計(jì)數(shù)器,在控制邏輯電路的控制下完成預(yù)定的各項(xiàng)功能。由晶振產(chǎn)生的頻率非常穩(wěn)定的脈沖,經(jīng)整形、穩(wěn)定電路后,產(chǎn)生一個(gè)頻率為1Hz的、非常穩(wěn)定的計(jì)數(shù)時(shí)鐘脈沖。3.1.2調(diào)時(shí)、調(diào)分信號(hào)的產(chǎn)生2由計(jì)數(shù)器的計(jì)數(shù)過(guò)程可知,正常計(jì)數(shù)時(shí),當(dāng)秒計(jì)數(shù)器(60進(jìn)制)計(jì)數(shù)到59時(shí), 再來(lái)一個(gè)脈沖,則秒計(jì)數(shù)器清零, 重新開(kāi)始新一輪的計(jì)數(shù), 而進(jìn)位則作為分計(jì)數(shù) 器的計(jì)數(shù)脈沖,使分計(jì)數(shù)器計(jì)數(shù)加1。現(xiàn)在我們把電路稍做變動(dòng):把秒計(jì)數(shù)器的 進(jìn)位脈沖
3、和一個(gè)頻率為2Hz的脈沖信號(hào)同時(shí)接到一個(gè)2選1數(shù)據(jù)選擇器的兩個(gè)數(shù) 據(jù)輸入端,而位選信號(hào)則接一個(gè)脈沖按鍵開(kāi)關(guān), 當(dāng)按鍵開(kāi)關(guān)不按下去時(shí) (即為0), 則數(shù)據(jù)選擇器將秒計(jì)數(shù)器的進(jìn)位脈沖送到分計(jì)數(shù)器,此時(shí),數(shù)字鐘正常工作; 當(dāng) 按鍵開(kāi)關(guān)按下去時(shí)(即為1),則數(shù)據(jù)選擇器將另外一個(gè)2Hz的信號(hào)作為分計(jì)數(shù) 器的計(jì)數(shù)脈沖,使其計(jì)數(shù)頻率加快,當(dāng)達(dá)到正確時(shí)間時(shí),松開(kāi)按鍵開(kāi)關(guān),從而達(dá) 到調(diào)時(shí)的目的。調(diào)節(jié)小時(shí)的時(shí)間也一樣的實(shí)現(xiàn)。3.1.3計(jì)數(shù)顯示電路 計(jì)數(shù)部分: 由兩個(gè)60進(jìn)制計(jì)數(shù)器和一個(gè)24進(jìn)制計(jì)數(shù)器組成, 其中60進(jìn)制計(jì)數(shù) 器可用6進(jìn)制計(jì)數(shù)器和10進(jìn)制計(jì)數(shù)器構(gòu)成;24進(jìn)制的小時(shí)計(jì)數(shù)同樣可用6進(jìn) 制計(jì)數(shù)器和10進(jìn)制
4、計(jì)數(shù)器得到:當(dāng)計(jì)數(shù)器計(jì)數(shù)到24時(shí),“2”和“4”同時(shí)進(jìn)行 清零,則可實(shí)現(xiàn)24進(jìn)制計(jì)數(shù)。3.2設(shè)計(jì)思路 根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自底向上的設(shè)計(jì)方法,由時(shí)鐘分頻部分、計(jì)時(shí)部 分、按鍵部分調(diào)時(shí)部分和顯示部分五個(gè)部分組成。 這些模塊都放在一個(gè)頂層文件 中。3.2.1時(shí)鐘計(jì)數(shù)首先下載程序進(jìn)行復(fù)位清零操作,電子鐘從00:00:00計(jì)時(shí)開(kāi)始。sethour可以 調(diào)整時(shí)鐘的小時(shí)部分, setmin可以調(diào)整分鐘,步進(jìn)為1。 由于電子鐘的最小計(jì)時(shí)單位是1s,因此提供給系統(tǒng)的內(nèi)部的時(shí)鐘頻率應(yīng)該大于1 Hz,這里取100Hz CLK端連接外部10Hz的時(shí)鐘輸入信號(hào)elk。對(duì)elk進(jìn)行計(jì)數(shù),當(dāng)elk=10時(shí),秒加
5、1,當(dāng)秒加到60時(shí),分加1;當(dāng)分加到60時(shí),時(shí)加1;當(dāng)時(shí)加到24時(shí),全部清0,從新計(jì)時(shí)。用6位數(shù)碼管分別顯示“時(shí)”、“分”、“秒”,通過(guò)OUTPUT( 6 DOWNTO 0上)的信 號(hào)來(lái)點(diǎn)亮指定的LED七段顯示數(shù)碼管。3.2.2時(shí)間設(shè)置手動(dòng)調(diào)節(jié)分鐘、小時(shí), 可以對(duì)所設(shè)計(jì)的時(shí)鐘任意調(diào)時(shí)間, 這樣使數(shù)字鐘真正具有 使用功能。我們可以通過(guò)實(shí)驗(yàn)板上的鍵7和鍵4進(jìn)行任意的調(diào)整, 因?yàn)槲覀冇玫?時(shí)鐘信號(hào)均是1HZ的,所以每LED 燈變化一次就來(lái)一個(gè)脈沖,即計(jì)數(shù)一次。 根據(jù)系統(tǒng)設(shè)計(jì)要求,系統(tǒng)設(shè)計(jì)采用自頂向下設(shè)計(jì)方法,由時(shí)鐘分頻部分、計(jì)時(shí)部 分、按鍵部分調(diào)時(shí)部分和顯示部分五個(gè)部分組成。 這些模塊都放在一個(gè)頂層
6、文件 中。1)通過(guò)對(duì)md1按鍵高低電平的控制可以進(jìn)入時(shí)鐘的另一個(gè)調(diào)時(shí)模式,調(diào)試模式3和計(jì)時(shí)模式是分開(kāi)互不影響的。然后再通過(guò)對(duì)md21和md22對(duì)時(shí)鐘進(jìn)行時(shí)間設(shè)定。等到計(jì)時(shí)到達(dá)設(shè)置時(shí)間時(shí),實(shí)現(xiàn)打鈴功能。2)用6位數(shù)碼管分別顯示“時(shí)” 、“分”、“秒”,通過(guò)DOUT( 6 DOWNTO 0上)的信號(hào)來(lái)點(diǎn)亮指定的LED七段顯示數(shù)碼管。3) 由于電子鐘的最小計(jì)時(shí)單位是1s,因此提供給系統(tǒng)的內(nèi)部的時(shí)鐘頻率應(yīng)該大于1Hz,這里取100Hz CLK端連接外部10Hz的時(shí)鐘輸入信號(hào)elk。對(duì)elk進(jìn)行計(jì) 數(shù),當(dāng)clk=10時(shí),秒加1,當(dāng)秒加到60時(shí),分加1;當(dāng)分加到60時(shí),時(shí)加1;當(dāng)時(shí) 加到24時(shí),全部清0,
7、從新計(jì)時(shí)。4)首先下載程序進(jìn)行復(fù)位清零操作,電子鐘從00:00:00計(jì)時(shí)開(kāi)始。md21可 以調(diào)整時(shí)鐘的小時(shí)部分, md22可以調(diào)整分鐘,步進(jìn)為1。頂層設(shè)計(jì)分析:對(duì)于電子鐘的設(shè)計(jì),這里將采用自底向上的設(shè)計(jì)方法進(jìn)行設(shè)計(jì),因此首先需要進(jìn) 行電子鐘的底層設(shè)計(jì)。本節(jié)將首先介紹電子鐘的系統(tǒng)結(jié)構(gòu)和模塊劃分,然后設(shè)計(jì) 出頂層VHD設(shè)計(jì)程序。源程序:library ieee;use ieee.std_logie_1164.all;use ieee.std_logie_unsigned.all;entity szz is- 端口定義port(elk:in std_logie;elk1:in std_logie;m
8、d1:in std_logie;md2:in std_logic_vector(1 downto 0);ledout1:out std_logic;speak:out std_logic;dout:out std_logic_vector(6 downto 0); selout:out std_logic_vector(2downto 0);4end szz;architecture one of szz issignal sel:std_logic_vector(2 downto 0);signal hou1:std_logic_vector(3 downto 0); signal hou2
9、:std_logic_vector(3 downto0); signal min1:std_logic_vector(3 downto 0); signal min2:std_logic_vector(3downto 0); signal seth1:std_logic_vector(3 downto 0); signalseth2:std_logic_vector(3 downto 0); signal setm1:std_logic_vector(3 downto 0);signal setm2:std_logic_vector(3 downto 0); signal sec1:std_l
10、ogic_vector(3 downto0); signal sec2:std_logic_vector(3 downto 0); signal h1:std_logic_vector(3 downto0); signal h2:std_logic_vector(3 downto 0); signal m1:std_logic_vector(3 downto0); signal m2:std_logic_vector(3 downto 0); signal s1:std_logic_vector(3 downto0); signal s2:std_logic_vector(3 downto 0
11、); begin-模6計(jì)數(shù)choice:process(clk1)beginif clk1event and clk1=1 thenif sel=101 thensel=000;elsesel=sel+1;end if;end if;end process choice;- 小時(shí)十位h110:process(clk,hou2,min1,min2,sec1,sec2,md1,md2)beginif clkevent and clk=1 thenif (hou1=0010 and hou2=0011)and(min1=0101 and min2=1001) and(sec1=0101 and se
12、c2=1001)then5hou1=0000;elsif hou1=0010and hou2=0011and md1=0 and md2=01 then-當(dāng)時(shí)間為23點(diǎn)且處于校時(shí)狀態(tài)時(shí)hou1=0000;elsif (hou2=1001and(min1=0101 and min2=1001) and (sec1=0101 andsec2=1001)or (hou2=1001and md1=0 and md2=01) then hou1=hou1+1;end if;end if;end process h110;- 小時(shí)個(gè)位h220:process(clk,min1,min2,sec1,sec2
13、,md1,md2,hou1)beginif clkevent and clk=1 thenif (hou1=0010 and hou2=0011)and(min1=0101 and min2=1001) and(sec1=0101 and sec2=1001) thenhou2=0000;elsif hou2=1001and(min1=0101 and min2=1001) and (sec1=0101 andsec2=1001) thenhou2=0000;elsif (hou2=1001and md1=0 and md2=01)or (hou1=0010and hou2=0011)then
14、hou2=0000;-md=1;elsif (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001)or(md1=0 and md2=01) thenhou2=hou2+1;-speak=clk;end if;end if;end process h220;- 分鐘十位6m110:process(clk,min2,sec1,sec2,md1,md2) beginif clkevent and clk=1 thenif (min1=0101 and min2=1001) and (sec1=0101 and sec2=1001) thenmi
15、n1=0000;elsif min1=0101and min2=1001and (md1=0 and md2=00)thenmin1=0000;elsif (min2=1001and (sec1=0101 and sec2=1001) or (min2=1001andmd1=0 and md2=00)thenmin1=min1+1;end if;end if;-end if;end process m110;- 分鐘個(gè)位m220:process(clk,sec1,sec2,md1,md2)beginif clkevent and clk=1 thenif min2=1001and (sec1=
16、0101 and sec2=1001)then min2=0000;elsif min2=1001and (md1=0 and md2=00)then min2=0000;elseif (sec1=0101 and sec2=1001) or(md1=0 and md2=00)thenmin2=min2+1;end if;end if;end if;end process m220;- 秒十位s110:process(clk)beginif clkevent and clk=1 thenif (sec1=0101 and sec2=1001)then sec1=0000;else if sec
17、2=1001then sec1=sec1+1;end if;7end if;end if;end process s110;- 秒個(gè)位s220:process(clk)beginif clkevent and clk=1 thenif sec2=1001 then sec2=0000;else sec2=sec2+1;end if;end if;end process s220;時(shí)間設(shè)置小時(shí)部分sethour1:process(clk,seth2)beginif clkevent and clk=1 thenif seth1=0010and seth2=0011 then seth1=0000
18、;elsif seth2=1001 then seth1=seth1+1;end if;end if;end process sethour1;sethour2:process(clk,md1,md2,seth1)beginif clkevent and clk=1 thenif (seth1=0010and seth2=0011)or seth2=1001thenseth2=0000;elsif md1=1 and md2=00 thenseth2=seth2+1;end if;end if;end process sethour2;- 時(shí)間設(shè)置分鐘部分8setmin1:process(cl
19、k,setm2)beginif clkevent and clk=1 thenif setm1=0101and setm2=1001thensetm1=0000;elsif setm2=1001thensetm1=setm1+1;end if;end if;end process setmin1;setmin2:process(clk,md1,md2)beginif clkevent and clk=1thenif setm2=1001then setm2=0000;elsif md1=1 and md2=01then setm2=setm2+1;end if;end if;end proce
20、ss setmin2;-鬧鈴speaker:process(clk1,hou1,hou2,min1,min2) beginif clk1event and clk1=1then- 鬧鐘判斷,一分鐘響鈴ifseth1=hou1andseth2=hou2andsetm1=min1andsetm2=min2thenspeak=clk;ledout1=clk;else speak=0;ledout1=0;- 整點(diǎn)報(bào)時(shí),3秒鐘響鈴if 0000=min1 and 0000=min2 and sec1=0000 thenif sec2=0000 or sec2=0001 or sec2=0010 then
21、 speak=1;ledout2=clk;9else speak=0;ledout2=0;end if;end if;end if;end if;end process speaker;- 譯碼顯示部分disp:process(sel,md1,hou1,hou2,min1,min2,sec1,sec2,seth1,seth2,setm1,setm2)beginif sel=101 thenseloutdoutdoutdoutdout=1000000;end case;elsif sel=100 thenseloutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout
22、dout=1000000; end case;elsif sel=011 then seloutdoutdoutdoutdoutdoutdoutdout=1000000; end case;elsif sel=010 then seloutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdout=1000000; end case;elsif sel=001 thenseloutdoutdoutdoutdoutdoutdoutdout=1000000;end case;elsif sel=000 thenseloutdoutdoutdoutdoutdoutdou
23、tdoutdoutdoutdoutdout=1000000;end case;end if;if md1=0 then-計(jì)時(shí)時(shí)間顯示和設(shè)置模式h1=hou1;h2=hou2;m1=min1;m2=min2;s1=sec1;s2=sec2;鬧鈴時(shí)間現(xiàn)實(shí)和設(shè)置模式h1=seth1;h2=seth2;m1=setm1;m2=setm2; s1=1111;s2=1111;end if;end process disp;end one;四、仿真分析各端口的功能為:clk,clk1端:時(shí)鐘信號(hào)輸入端。dout0.6:數(shù)碼管選 擇端。Selout2.0:七段碼譯碼器掃描接口輸入端。md1,md1.0:三個(gè)輸
24、入 端。Iedout1,ledout2:顯示燈。speak:蜂鳴器。else12圖4.1波形仿真圖實(shí)驗(yàn)連線(xiàn):clk接時(shí)鐘信號(hào)CLKQcIkl接時(shí)鐘信號(hào)CLK5輸出端dout6.0分別與數(shù)碼管的a、b、c、d、e、f、g端相連; 七段碼譯碼器的三個(gè)輸入端與三 個(gè)撥碼開(kāi)關(guān)相連;selout2.0接數(shù)碼管掃描接口輸入端SEL2、SEL1、SEL0;speak與蜂鳴器相連。13五、設(shè)計(jì)中遇到的問(wèn)題及解決方法一開(kāi)始只有秒脈沖,分與時(shí)都不動(dòng)。這是因?yàn)闆](méi)把脈沖信號(hào)接到分與時(shí)的電 路上。數(shù)碼管顯示不出, 這是因?yàn)闀r(shí)鐘信號(hào)頻率給的有問(wèn)題, 調(diào)節(jié)時(shí)鐘頻率的大 小就解決了這個(gè)問(wèn)題。還有數(shù)碼管上顯示的數(shù)字不全,后來(lái)發(fā)現(xiàn)是線(xiàn)沒(méi)有接好, 將線(xiàn)重新接了一次就可以顯示出來(lái)完整的數(shù)字。六、心得體會(huì)在本學(xué)期的EDA學(xué)習(xí)中,我初步對(duì)這一門(mén)新的課程有了一個(gè)較為系統(tǒng)的理解,也為我的專(zhuān)業(yè)學(xué)習(xí)打開(kāi)了一個(gè)新的思路。 首先,通過(guò)對(duì)這門(mén)課程相關(guān)理論的 學(xué)習(xí),我掌握了EDA勺一些基本的的知識(shí)。EDA是指以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、智能化技術(shù)的最新成果而開(kāi)發(fā)出的電子CAD通用軟件包,它根據(jù)硬件描述語(yǔ)言VHDL完 成的設(shè)圖4.2引腳接線(xiàn)圖14計(jì)文件, 自動(dòng)完成邏輯編譯、 化簡(jiǎn)、分割、綜合、優(yōu)化、布局布線(xiàn)及仿真, 直至完成對(duì)于特定目
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圓形草屋 施工方案
- 電梯鋼結(jié)構(gòu)施工方案
- 2025年度木工雕刻技藝傳承與勞務(wù)合作合同
- 2025年度旅游管理公司高層管理人員聘用合同
- 二零二五年度茶葉電商平臺(tái)合作合同
- 二零二五年度學(xué)校臨時(shí)教師聘用合同書(shū)-體育教練員合作合同
- 2025年度飯店員工績(jī)效考核與薪酬管理合同
- 二零二五年度無(wú)固定期限勞動(dòng)合同解除賠償金支付及賠償金執(zhí)行協(xié)議
- 2025年度汽修廠修理工勞動(dòng)合同續(xù)簽與調(diào)整合同
- 二零二五年度彩鋼棚建筑綠色生態(tài)施工合同
- 2024-2030年中國(guó)稅務(wù)師事務(wù)所行業(yè)管理模式及投資前景展望報(bào)告版
- 2024年全國(guó)高考英語(yǔ)試題及答案-湖南卷
- 《少兒汽車(chē)知識(shí)講座》課件
- 部編人教版小學(xué)四年級(jí)下冊(cè)道德與法治全冊(cè)教案及每課教學(xué)反思
- 中建吊籃安拆專(zhuān)項(xiàng)施工方案(專(zhuān)家論證版)
- 《汽車(chē)維修接待實(shí)務(wù)》 課件全套 孫麗學(xué)習(xí)情景1-8 汽車(chē)維修服務(wù)接待認(rèn)知 -新能源汽車(chē)維修接待
- 2020年礦建監(jiān)理工作總結(jié)
- 獸醫(yī)學(xué)英語(yǔ)詞匯【參考】
- WS 308-2019 醫(yī)療機(jī)構(gòu)消防安全管理
- (高鴻業(yè))微觀經(jīng)濟(jì)學(xué)習(xí)題解析+微觀經(jīng)濟(jì)學(xué)題庫(kù)解析
- 浙江省溫州市2024-2025學(xué)年高三上學(xué)期一模英語(yǔ)試題 含解析
評(píng)論
0/150
提交評(píng)論