版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 電子設(shè)計自動化EDA課程設(shè)計</p><p> 題目 電 子 鐘 設(shè) 計 </p><p> 專業(yè) 電子信息科學(xué)與技術(shù) </p><p> 班級 </p>&l
2、t;p> 學(xué)號 </p><p> 姓名 </p><p><b> 一、設(shè)計要求</b></p><p><b> 1.基本功能要求:</b></p>
3、<p> 設(shè)計一個電子時鐘,要求可以顯示時、分、秒,用戶可以通過按鍵來設(shè)置時間。</p><p><b> 2.擴展功能要求:</b></p><p> 秒表功能,鬧鐘功能,調(diào)整數(shù)碼管的亮度。</p><p> 二、工作原理(F-7)</p><p><b> 輸入信號:</b>
4、;</p><p> 鍵1(key1)使能鍵;(調(diào)時控制加一,控制秒表走時。)</p><p> 鍵4(key4)復(fù)位鍵;(設(shè)置時間時通過鍵4選擇時、分、秒的十位和個位進行調(diào)整,秒表復(fù)位,在亮度模式下調(diào)節(jié)亮度。)</p><p> 鍵7(key7)模式轉(zhuǎn)換鍵;(通過鍵7在走時、調(diào)表、秒表、鬧鐘、亮度模式之間切換。)</p><p>
5、鍵8(key8)設(shè)定開關(guān)鍵;(控制走時,停表。)</p><p> Clock0:時鐘信號。</p><p><b> 輸出信號:</b></p><p><b> sg掃描顯示段選;</b></p><p><b> bt掃描顯示位選;</b></p>
6、<p><b> laba喇叭輸出。</b></p><p> 實驗電路結(jié)構(gòu)圖NO.7:</p><p><b> F7</b></p><p><b> 一、設(shè)計要求</b></p><p><b> 1.基本功能要求:</b><
7、;/p><p> 設(shè)計一個電子時鐘,要求可以顯示時、分、秒,用戶可以通過按鍵來設(shè)置時間。</p><p><b> 2.擴展功能要求:</b></p><p> 秒表功能,鬧鐘功能,調(diào)整數(shù)碼管的亮度。</p><p><b> 二、VHDL代碼</b></p><p>&
8、lt;b> 1、分頻模塊</b></p><p> library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity fenpin
9、 is</p><p><b> port (</b></p><p> clk : in std_logic;--10m頻</p><p> clk_10000 : out std_logic;--1000分頻</p><p> clk_100 : out std_logic;--100k分頻</p>
10、;<p> clk_1 : out std_logic--10m分頻</p><p><b> );</b></p><p> end entity;</p><p> architecture one of fenpin is</p><p> signal Q1 : integer range
11、 0 to 500;</p><p> signal Q2 : integer range 0 to 50000;</p><p> signal Q3 : integer range 0 to 5000000;</p><p> signal clk10000 : std_logic;</p><p> signal clk100
12、: std_logic;</p><p> signal clk1 : std_logic;</p><p><b> begin</b></p><p> fen1000:process(clk)</p><p><b> begin</b></p><p> i
13、f clk'event and clk='1' then</p><p> if Q1=500 then</p><p><b> Q1 <= 0;</b></p><p> clk10000 <= not clk10000;</p><p> else Q1<=Q1+1
14、;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> fen100k:process(clk)</p><p><b> begin</b
15、></p><p> if clk'event and clk='1' then</p><p> if Q2=50000 then </p><p><b> Q2 <= 0;</b></p><p> clk100<= not clk100;</p>&
16、lt;p> else Q2<=Q2+1;</p><p><b> end if;</b></p><p> end if;</p><p> end process;</p><p> fen10m:process(clk)</p><p><b> be
17、gin</b></p><p> if clk'event and clk='1' then</p><p> if Q3=5000000 then </p><p><b> Q3 <= 0;</b></p><p> clk1<=not clk1;</p&
18、gt;<p> else Q3<=Q3+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> clk_10000 <= clk10000;</p
19、><p> clk_100 <= clk100;</p><p> clk_1 <= clk1;</p><p><b> end one;</b></p><p><b> 2、走表模塊</b></p><p> library ieee;
20、 </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity clock is</p><p> port(clk_1:in std_logic;</p>&
21、lt;p> key8:in std_logic;</p><p> hs_set,hg_set,ms_set,mg_set,ss_set,sg_set:in integer range 0 to 9;</p><p> hs_out,hg_out,ms_out,mg_out,ss_out,sg_out:out integer range 0 to 9);</p>
22、<p> end entity;</p><p> architecture bhv of clock is</p><p> signal shi:integer range 0 to 100;</p><p> signal fen:integer range 0 to 100;</p><p> signal mia
23、o:integer range 0 to 100;</p><p><b> begin</b></p><p> process(clk_1,key8,hs_set,hg_set,ms_set,mg_set,ss_set,sg_set)</p><p><b> begin</b></p><p
24、> if key8='1' then</p><p> shi<=hs_set*10+hg_set;</p><p> fen<=ms_set*10+mg_set;</p><p> miao<=ss_set*10+sg_set;</p><p> elsif clk_1'event
25、 and clk_1='1' then </p><p> if miao=59 then</p><p><b> miao<=0;</b></p><p> fen<=fen+1;</p><p> elsif fen>59 then</p><p>
26、<b> fen<=0;</b></p><p> shi<=shi+1;</p><p> elsif shi>23 then</p><p><b> shi<=0;</b></p><p> else miao<=miao+1;</p>&
27、lt;p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> sg_out<=miao rem 10;</p><p> ss_out<=miao/10;</p>
28、<p> mg_out<=fen rem 10;</p><p> ms_out<=fen/10;</p><p> hg_out<=shi rem 10;</p><p> hs_out<=shi/10;</p><p><b> end;</b></p>&l
29、t;p><b> 3、設(shè)置時間模塊</b></p><p> library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p>
30、entity set is</p><p> port(module:in integer range 0 to 4;</p><p> key4,key1:in std_logic;</p><p> hs_out,hg_out,ms_out,mg_out,ss_out,sg_out:out integer range 0 to 9);</p>
31、<p> end entity;</p><p> architecture bav of set is</p><p> signal a:integer range 0 to 5;</p><p> signal shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1: integer range 0 t
32、o 9; </p><p><b> begin </b></p><p> process(module,key4)</p><p><b> begin</b></p><p> if module=1 then </p><p> if key4'ev
33、ent and key4='1' then</p><p> if a < 5 then</p><p><b> a<=a+1;</b></p><p> else a<=0;</p><p><b> end if;</b></p><
34、;p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(module,a,key1)</p><p><b> begin</b></p>
35、<p> if module=1 then</p><p> if key1'event and key1='1' then</p><p><b> case a is</b></p><p><b> when 0 =></b></p><p>
36、; if miaoge1 =9 then</p><p> miaoge1<=0;</p><p> else miaoge1<=miaoge1+1;</p><p><b> end if;</b></p><p> when 1 => </p><p> if
37、 miaoshi1 =5 then</p><p> miaoshi1<=0;</p><p> else miaoshi1<=miaoshi1+1;</p><p> end if;</p><p><b> when 2 =></b></p><p> if
38、 fenge1 =9 then</p><p> fenge1<=0;</p><p> else fenge1<=fenge1+1;</p><p> end if;</p><p> when 3 =></p><p> if fenshi1 =5 then</p&
39、gt;<p> fenshi1<=0;</p><p> else fenshi1<=fenshi1+1;</p><p><b> end if;</b></p><p> when 4 => </p><p> if shige1 =9 then</
40、p><p> shige1<=0;</p><p> else shige1<=shige1+1;</p><p><b> end if;</b></p><p> when 5 => </p><p> if shishi1 =2 then</p>
41、;<p> shishi1<=0;</p><p> else shishi1<=shishi1+1;</p><p> end if; </p><p><b> end case;</b></p><p><b> end if;</b></p&g
42、t;<p><b> end if;</b></p><p> end process;</p><p> sg_out<=miaoge1;</p><p> ss_out<=miaoshi1;</p><p> mg_out<=fenge1;</p><p&
43、gt; ms_out<=fenshi1;</p><p> hg_out<=shige1;</p><p> hs_out<=shishi1;</p><p><b> end;</b></p><p> 4、模式轉(zhuǎn)換模塊模塊</p><p> library iee
44、e; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity change is</p><p> port(key7:in std_logic;<
45、/p><p> module:out integer range 0 to 4);</p><p><b> end;</b></p><p> architecture one of change is</p><p> signal mo_s:integer range 0 to 4;</p>&l
46、t;p><b> begin</b></p><p> process(key7)</p><p><b> begin</b></p><p> if key7'event and key7='1' then</p><p> if mo_s=4 then&
47、lt;/p><p><b> mo_s<=0; </b></p><p> else mo_s<=mo_s+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> en
48、d process;</p><p> module<=mo_s;</p><p><b> end;</b></p><p> 5、五選一選擇器模塊</p><p> library ieee; </p><p> use ieee.std_logic
49、_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity xuanze is</p><p> port(module:in integer range 0 to 4 ;</p><p> shishi1,shige1,fenshi1,fenge1,mia
50、oshi1,miaoge1:in integer range 0 to 9; </p><p> shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2:in integer range 0 to 9;</p><p> shishi3,shige3,fenshi3,fenge3,miaoshi3,miaoge3:in integer
51、range 0 to 9; </p><p> fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge:in integer range 0 to 9; </p><p> a0,a1,a3,a4,a6,a7:out integer range 0 to 9); </p><p> end e
52、ntity xuanze;</p><p> architecture bhv of xuanze is</p><p><b> begin</b></p><p> process(shishi1,shige1,fenshi1,fenge1,miaoshi1,miaoge1,</p><p> shishi2
53、,shige2,fenshi2,fenge2,miaoshi2,miaoge2,</p><p> shishi3,shige3,fenshi3,fenge3,miaoshi3,miaoge3,</p><p> fenshi,fenge,miaoshi,miaoge,xmiaoshi,xmiaoge,</p><p><b> module)<
54、;/b></p><p><b> begin</b></p><p> case module is</p><p> when 0 => a0<=shishi1;a1<=shige1;a3<=fenshi1;a4<=fenge1;a6<=miaoshi1;a7<=miaoge1;<
55、/p><p> when 1 => a0<=shishi2;a1<=shige2;a3<=fenshi2;a4<=fenge2;a6<=miaoshi2;a7<=miaoge2;</p><p> when 2 => a0<=fenshi;a1<=fenge;a3<=miaoshi;a4<=miaoge;a6<=
56、xmiaoshi;a7<=xmiaoge;</p><p> when 3 => a0<=shishi3;a1<=shige3;a3<=fenshi3;a4<=fenge3;a6<=miaoshi3;a7<=miaoge3;</p><p> when 4 => a0<=8;a1<=8;a3<=8;a4<=8
57、;a6<=8;a7<=8;</p><p><b> end case;</b></p><p> end process;</p><p><b> end;</b></p><p><b> 6、秒表模塊</b></p><p>
58、 library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity miaobiao is</p><p> port(clk_100:in s
59、td_logic;</p><p> module:in integer range 0 to 4;</p><p> key1,key4:in std_logic;</p><p> ms_out,mg_out,ss_out,sg_out,sss_out,ssg_out:out integer range 0 to 9);</p><p&
60、gt; end entity;</p><p> architecture bhv of miaobiao is</p><p> signal fen,miao,xmiao:integer range 0 to 99;</p><p> signal start:std_logic:='0';</p><p> s
61、ignal reset:std_logic:='0';</p><p><b> begin</b></p><p> process(clk_100,key1,key4,module,reset,start)</p><p><b> begin</b></p><p>
62、if module=2 then</p><p> if reset='1' then</p><p><b> fen<=0;</b></p><p><b> miao<=0;</b></p><p><b> xmiao<=0;</b&
63、gt;</p><p> elsif start='1' then </p><p> elsif clk_100'event and clk_100='1' then </p><p> if xmiao=99 then</p><p><b> xmiao<=0;</b
64、></p><p> miao<=miao+1;</p><p> elsif miao>59 then</p><p><b> miao<=0;</b></p><p> fen<=fen+1;</p><p> elsif fen>23 then
65、</p><p><b> fen<=0;</b></p><p> else xmiao<=xmiao+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><
66、;b> end if;</b></p><p> end process;</p><p> process(key4,start)</p><p><b> begin</b></p><p> if key4'event and key4='1' then</
67、p><p> start<=not start;</p><p> else start<=start;</p><p><b> end if;</b></p><p> end process; </p><p> process(key1,reset)</p>
68、<p><b> begin</b></p><p> if key1'event and key1='1' then</p><p> reset<=not reset;</p><p> else reset<= reset;</p><p><b>
69、 end if;</b></p><p> end process; </p><p> ssg_out<=xmiao rem 10;</p><p> sss_out<=xmiao/10;</p><p> sg_out<=miao rem 10;</p><p> ss_o
70、ut<=miao/10;</p><p> mg_out<=fen rem 10;</p><p> ms_out<=fen/10;</p><p><b> end;</b></p><p> 7、鬧鐘時間設(shè)置模塊</p><p> library ieee;
71、 </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity clockset is</p><p> port(module:in integer range 0
72、to 4;</p><p> key4,key1:in std_logic;</p><p> hs_out,hg_out,ms_out,mg_out,ss_out,sg_out:out integer range 0 to 9);</p><p> end entity;</p><p> architecture bav of c
73、lockset is</p><p> signal a:integer range 0 to 5;</p><p> signal fenshi1,fenge1,miaoge1: integer range 0 to 9;</p><p> signal shishi1: integer range 0 to 9:=1;</p><p&g
74、t; signal shige1: integer range 0 to 9:=2;</p><p> signal miaoshi1: integer range 0 to 9:=0;</p><p><b> begin </b></p><p> process(module,key4)</p><p>&
75、lt;b> begin</b></p><p> if module=3 then </p><p> if key4'event and key4='1' then</p><p> if a < 5 then</p><p><b> a<=a+1;</b&g
76、t;</p><p> else a<=0;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;
77、</p><p> process(module,a,key1)</p><p><b> begin</b></p><p> if module=3 then</p><p> if key1'event and key1='1' then</p><p>&l
78、t;b> case a is</b></p><p><b> when 0 =></b></p><p> if miaoge1 =9 then</p><p> miaoge1<=0;</p><p> else miaoge1<=miaoge1+1;</p>
79、<p><b> end if;</b></p><p> when 1 => </p><p> if miaoshi1 =5 then</p><p> miaoshi1<=0;</p><p> else miaoshi1<=miaoshi1+1;</p>
80、<p> end if;</p><p><b> when 2 =></b></p><p> if fenge1 =9 then</p><p> fenge1<=0;</p><p> else fenge1<=fenge1+1;</p><p&g
81、t; end if;</p><p> when 3 =></p><p> if fenshi1 =5 then</p><p> fenshi1<=0;</p><p> else fenshi1<=fenshi1+1;</p><p><b> end if
82、;</b></p><p> when 4 => </p><p> if shige1 =9 then</p><p> shige1<=0;</p><p> else shige1<=shige1+1;</p><p><b> end if;
83、</b></p><p> when 5 => </p><p> if shishi1 =2 then</p><p> shishi1<=0;</p><p> else shishi1<=shishi1+1;</p><p> end if; </p
84、><p><b> end case;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> sg_out<=miaoge1;
85、</p><p> ss_out<=miaoshi1;</p><p> mg_out<=fenge1;</p><p> ms_out<=fenshi1;</p><p> hg_out<=shige1;</p><p> hs_out<=shishi1;</p>
86、<p><b> end;</b></p><p> 8、鬧鐘喇叭輸出模塊</p><p> library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_uns
87、igned.all;</p><p> entity clocklaba is</p><p> port(clk_100:in std_logic;</p><p> hs1,hg1,ms1,mg1,ss1,sg1:in integer range 0 to 9;</p><p> hs2,hg2,ms2,mg2,ss2,sg2:i
88、n integer range 0 to 9;</p><p> laba:out std_logic);</p><p> end entity;</p><p> architecture bav of clocklaba is</p><p><b> begin </b></p><p
89、> process(clk_100,</p><p> hs1,hg1,ms1,mg1,ss1,sg1,</p><p> hs2,hg2,ms2,mg2,ss2,sg2)</p><p><b> begin</b></p><p> if hs2=hs1 and hg2=hg1 and ms2=ms1
90、 and </p><p> mg2=mg1 and ss2=ss1 and sg2=sg1 then</p><p> laba<=clk_100;</p><p> else laba<='1';</p><p><b> end if;</b></p><p&
91、gt; end process;</p><p><b> end;</b></p><p><b> 9、掃描顯示模塊</b></p><p> library ieee; </p><p> use ieee.std_logic_1164.
92、all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity scan_led is</p><p> port(clk_10000:in std_logic;</p><p> clk_1:in std_logic;</p><p> key4
93、:in std_logic;</p><p> module:in integer range 0 to 4;</p><p> a0,a1,a3,a4,a6,a7:in integer range 0 to 9;</p><p> sg:out std_logic_vector(6 downto 0);</p><p> bt:ou
94、t std_logic_vector(7 downto 0));</p><p><b> end;</b></p><p> architecture one of scan_led is</p><p> signal cnt8 :std_logic_vector(2 downto 0);--掃描計數(shù)信號</p><
95、;p> signal a :integer range 0 to 15;</p><p> signal b:integer range 0 to 5;</p><p> signal liang: std_logic;</p><p> signal liang1: std_logic;</p><p> signal li
96、ang2: std_logic;</p><p> signal flash:integer range 0 to 2;</p><p> signal fuzhi:integer range 0 to 1;</p><p> signal fenshi1,fenge1,miaoge1: integer range 0 to 9;</p><
97、;p> signal shishi1: integer range 0 to 9:=1;</p><p> signal shige1: integer range 0 to 9:=2;</p><p> signal miaoshi1: integer range 0 to 9:=0;</p><p> signal count1,count2,co
98、unt3:integer range 0 to 10;</p><p> signal c:integer range 0 to 5;</p><p> signal shishi2,shige2,fenshi2,fenge2,miaoshi2,miaoge2: integer range 0 to 9;</p><p><b> begin<
99、/b></p><p> p1: process(cnt8,liang,a0,a1,a3,a4,a6,a7,module,b,c)</p><p><b> begin</b></p><p> case cnt8 is</p><p> when "000" => </p&
100、gt;<p> if module=4 or module=2 or module=0 then bt<= "0000000"&(liang);a<=a0;</p><p><b> end if;</b></p><p> if module=3 then</p><p> if
101、 b=5 then bt<="0000000"&(liang);a<=a0;</p><p> else bt<="00000001" ;a<=a0;</p><p><b> end if;</b></p><p><b> end if;</b&g
102、t;</p><p> if module=1 then</p><p> if c=5 then bt<="0000000"&(liang);a<=a0;</p><p> else bt<="00000001" ;a<=a0;</p><p><b>
103、; end if;</b></p><p><b> end if;</b></p><p> when "001" => </p><p> if module=4 or module=2 or module=0 then bt<= "000000"&(liang
104、)&'0';a<=a1;</p><p><b> end if;</b></p><p> if module=3 then</p><p> if b=4 then bt<= "000000"&(liang)&'0';a<=a1;</
105、p><p> else bt<="00000010" ;a<=a1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> if module=1 then</p><p>
106、 if c=4 then bt<="000000"&(liang)&'0';a<=a1;</p><p> else bt<="00000010" ;a<=a1;</p><p><b> end if;</b></p><p><b&g
107、t; end if;</b></p><p> when "010" => </p><p> if module=4 or module=2 or module=0 then bt<= "00000"&(liang)&"00";a<=15;</p><p&g
108、t; elsif module=3 then</p><p> bt <= "00000100";a<=15;</p><p><b> end if;</b></p><p> when "011" => </p><p> if module=4
109、or module=2 or module=0 then bt<= "0000"&(liang)&"000";a<=a3;</p><p><b> end if;</b></p><p> if module=3 then</p><p> if b=3 then b
110、t<= "0000"&(liang)&"000";a<=a3;</p><p> else bt<="00001000" ;a<=a3;</p><p><b> end if;</b></p><p><b> end if;&
111、lt;/b></p><p> if module=1 then</p><p> if c=3 then bt<="0000"&(liang)&"000";a<=a3;</p><p> else bt<="00001000" ;a<=a3;</
112、p><p><b> end if;</b></p><p><b> end if;</b></p><p> when "100" =></p><p> if module=4 or module=2 or module=0 then bt<= "
113、000"&(liang)&"0000";a<=a4;</p><p><b> end if;</b></p><p> if module=3 then</p><p> if b=2 then bt<= "000"&(liang)&&quo
114、t;0000";a<=a4;</p><p> else bt<="00010000" ;a<=a4;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> if module=
115、1 then</p><p> if c=2 then bt<="000"&(liang)&"0000";a<=a4;</p><p> else bt<="00010000" ;a<=a4;</p><p><b> end if;</b>
116、;</p><p><b> end if;</b></p><p> when "101" => </p><p> if module=4 or module=2 or module=0 then bt<= "00"&(liang)&"00000"
117、;a<=15;</p><p> elsif module=1 or module=3 then</p><p> bt <= "00100000";a<=15;</p><p><b> end if;</b></p><p> when "110" =
118、></p><p> if module=4 or module=2 or module=0 then bt<= '0'&(liang)&"000000";a<=a6;</p><p><b> end if;</b></p><p> if module=3 the
119、n</p><p> if b=1 then bt<= '0'&(liang)&"000000";a<=a6;</p><p> else bt<="01000000" ;a<=a6;</p><p><b> end if;</b></
120、p><p><b> end if;</b></p><p> if module=1 then</p><p> if c=1 then bt<='0'&(liang)&"000000";a<=a6;</p><p> else bt<=&qu
121、ot;01000000" ;a<=a6;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> when "111" =></p><p> if module=4 or module=
122、2 or module=0 then bt<= (liang)&"0000000";a<=a7;</p><p><b> end if;</b></p><p> if module=3 then</p><p> if b=0 then bt<=(liang)&"000
123、0000";a<=a7;</p><p> else bt<="10000000" ;a<=a7;</p><p><b> end if;</b></p><p><b> end if;</b></p><p> if module=1
124、then</p><p> if c=0 then bt<=(liang)&"0000000";a<=a7;</p><p> else bt<="10000000" ;a<=a7;</p><p><b> end if;</b></p><p&
125、gt;<b> end if;</b></p><p> when others => null;</p><p><b> end case;</b></p><p> end process p1;</p><p> p2:process(clk_10000)</p>
126、<p><b> begin</b></p><p> if clk_10000'event and clk_10000 ='1' then cnt8 <= cnt8+1;</p><p><b> end if;</b></p><p> end process p2;
127、</p><p> p3:process(a)</p><p><b> begin</b></p><p> case a is --譯碼電路</p><p> when 0 => sg<= "0111111";</p><p> when 1 =
128、> sg<= "0000110";</p><p> when 2 => sg<= "1011011";</p><p> when 3 => sg<= "1001111";</p><p> when 4 => sg<= "1100110&q
129、uot;;</p><p> when 5 => sg<= "1101101";</p><p> when 6 => sg<= "1111101";</p><p> when 7 => sg<= "0000111";</p><p>
130、when 8 => sg<= "1111111";</p><p> when 9 => sg<= "1101111";</p><p> when 10 => sg<= "1110111";</p><p> when 11 => sg<= "
131、;1111100";</p><p> when 12 => sg<= "0111001";</p><p> when 13 => sg<= "1011110";</p><p> when 14 => sg<= "1111001";</p>
132、<p> when 15 => sg<= "1000000";</p><p> when others => null;</p><p><b> end case;</b></p><p> end process p3;</p><p> process
133、(key4,module) --選擇亮度</p><p><b> begin </b></p><p> if module=4 then</p><p> if key4'event and key4='1' then</p><p> if flash =2 then <
134、/p><p> flash<=0; </p><p> else flash<=flash+1;</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</
135、b></p><p> end process;</p><p> process(clk_10000,flash) --亮度分頻</p><p><b> begin</b></p><p> if clk_10000'event and clk_10000 ='1
136、9; then</p><p> case flash is</p><p> when 0 => liang1<='1';</p><p> when 1 => if count1=2 then </p><p> count1<=0; liang1<='1';<
137、/p><p> else count1<=count1+1;liang1<='0';</p><p><b> end if;</b></p><p> when 2 => if count2=4 then </p><p> count2<=0; liang1<=
138、39;1';</p><p> else count2<=count2+1;liang1<='0';</p><p><b> end if;</b></p><p><b> end case;</b></p><p><b> end if;
139、</b></p><p> end process;</p><p> process(module,fuzhi)</p><p><b> begin</b></p><p> if module=1 or module=3 then</p><p><b> f
140、uzhi<=1;</b></p><p> else fuzhi<=0;</p><p><b> end if;</b></p><p> end process;</p><p> process(clk_1,liang2,key4)</p><p><b
141、> begin </b></p><p> if clk_1'event and clk_1 ='1' then</p><p> liang2<=not liang2;</p><p><b> end if;</b></p><p> end proces
142、s;</p><p> process(liang,liang1,liang2,fuzhi)</p><p><b> begin</b></p><p> case fuzhi is</p><p> when 0 => liang <=liang1;</p><p> w
143、hen 1 => liang <=liang2;</p><p> when others =>null;</p><p><b> end case;</b></p><p> end process;</p><p> process(module,key4)</p><
144、p><b> begin</b></p><p> if module=3 then </p><p> if key4'event and key4='1' then</p><p> if b < 5 then</p><p><b> b<=b+1;&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計--電子時鐘
- 電子時鐘eda課程設(shè)計報告
- 電子時鐘課程設(shè)計
- 電子時鐘 課程設(shè)計
- 電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計
- 課程設(shè)計--電子時鐘
- 課程設(shè)計----電子時鐘設(shè)計
- 電子時鐘課程設(shè)計--數(shù)字電子時鐘焊接調(diào)試報告
- 電子時鐘接口課程設(shè)計
- 電子時鐘課程設(shè)計 (2)
- 電子時鐘課程設(shè)計2
- led電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計報告
- 電子時鐘課程設(shè)計 (2)
- 數(shù)字電子時鐘課程設(shè)計
- 數(shù)字電子時鐘課程設(shè)計
- 電子時鐘課程設(shè)計--proteus環(huán)境下的電子時鐘設(shè)計
- 電子時鐘課程設(shè)計(論文)
- 數(shù)字電子時鐘課程設(shè)計
評論
0/150
提交評論