版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 多</b></p><p><b> 功</b></p><p><b> 能</b></p><p><b> 電</b></p><p><b> 子</b></p><p
2、><b> 時</b></p><p><b> 鐘 </b></p><p><b> 報</b></p><p><b> 告</b></p><p><b> 一、實驗目的</b></p>
3、<p> 1.學習數(shù)字系統(tǒng)設計的自頂向下設計法及控制器的設計。 </p><p> 2.加深利用EDA技術實現(xiàn)數(shù)字系統(tǒng)的體會。</p><p><b> 二、實驗儀器及器件</b></p><p> 1.EDA 開發(fā)軟件(Quartus7.2)(1套) 2.電腦(1臺)</p><p>
4、 3.實驗板(1個) </p><p> 三、實驗要求及設計方案</p><p> 1.設計一個具有24進制計時、顯示、整點報時、時間設置和鬧鐘功能的數(shù)字鐘,要求時鐘的最小分辨率時間為1s。</p><p> 2.數(shù)字鐘的設計方案如下:</p><p> 系統(tǒng)輸入:mode為計時顯示和鬧鐘定時顯示轉換輸入;set為校時和定時
5、設置的時、分、秒轉換輸入;k為校時的時、分、秒手動加1輸入;4*4矩陣鍵盤為鬧鐘設置調(diào)節(jié)鬧鐘的時、分、秒、時鐘的清零以及暫停;clk40M為板載時鐘信號;reset為系統(tǒng)復位信號。輸入信號均由按鍵和4*4矩陣鍵盤產(chǎn)生。</p><p> 系統(tǒng)輸出:七段數(shù)碼管顯示輸出;蜂鳴器(bell)聲音信號輸出(用LED燈代替)。</p><p> 3.多功能數(shù)字鐘系統(tǒng)功能的具體描述如下:</
6、p><p> 計時:正常工作狀態(tài)下,每日按24小時計時制計時并顯示,蜂鳴器逢整點報時。</p><p> 校時:在計時顯示狀態(tài)下,按下“set鍵”,進入“小時”校時狀態(tài),再次按下“set鍵”,進入“分”校時狀態(tài),繼續(xù)按下“set鍵”,進入“秒”校時狀態(tài),第四次按下“set鍵”又回復到正常計時顯示狀態(tài)。</p><p> 1)“小時”校時狀態(tài):進入“小時”校時狀態(tài)后
7、,顯示“小時”的數(shù)碼管閃爍,每按動“k” 鍵一次,“小時”+1,若不按動“k”鍵則小時數(shù)不變,一直按下“k” 鍵則小時數(shù)以4Hz的頻率遞增計數(shù)。</p><p> 2)“分”校時狀態(tài):進入“分”校時狀態(tài)后,顯示“分”的數(shù)碼管閃爍,每按動“k” 鍵一次,“分”+1,若不按動“k”鍵則分數(shù)不變,一直按下“k” 鍵則分數(shù)以4Hz的頻率遞增計數(shù)。</p><p> 3)“秒”校時狀態(tài):進入“秒
8、”校時狀態(tài)后,顯示“秒”的數(shù)碼管閃爍,每按動“k” 鍵一次,“秒”+1,若不按動“k”鍵則秒數(shù)不變,一直按下“k” 鍵則秒數(shù)以4Hz的頻率遞增計數(shù)。</p><p> 整點報時:蜂鳴器在“59”分鐘的第51、53、55、57秒發(fā)出頻率為512Hz的低音,在“59”秒發(fā)出頻率為1024Hz的高音,結束時為整點。</p><p> 顯示:采用6個LED數(shù)碼管分別顯示時、分、秒。</p
9、><p> 鬧鐘:鬧鐘定時時間到,蜂鳴器發(fā)出周期為1s的滴、滴聲,持續(xù)時間為10秒;鬧鐘定時顯示。</p><p> 鬧鐘定時設置:在鬧鐘顯示狀態(tài)下,按下“set鍵”,進入“小時”校時狀態(tài),再次按下“set鍵”,進入“分”校時狀態(tài),繼續(xù)按下“set鍵”,進入“秒”校時狀態(tài),第四次按下“set鍵”又回復到鬧鐘顯示狀態(tài)。</p><p> 鬧鐘的時、分、秒設置過程和計
10、時設置有所不同,在鬧鐘閃爍的狀態(tài)下,可以直接在4*4的矩陣鍵盤上輸入想要調(diào)整的時間即可。</p><p> 計時顯示和鬧鐘顯示之間的轉換:按動“mode”鍵,數(shù)字鐘將在計時顯示和鬧鐘定時顯示之間轉換。</p><p> 4)多功能數(shù)字鐘系統(tǒng)結構邏輯框圖如下:</p><p> 5)控制器的MDS圖如下:</p><p> 四、各功能模
11、塊的源程序代碼:</p><p> -- fenpin 模塊</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all; </p>
12、<p> entity fenpin is</p><p><b> port(</b></p><p> clk40M,pause: in std_logic;</p><p> clk1000hz,clk1hz,clk4hz,clk500hz: out std_logic</p><p><
13、;b> );</b></p><p> end fenpin;</p><p> architecture one of fenpin is </p><p> signal a: integer range 0 to 20970 :=0;</p><p> signal clk1000,clk1,clk4,clk
14、500: std_logic;</p><p> signal s:std_logic:='1';</p><p><b> begin</b></p><p> process(clk40M,pause)</p><p><b> begin</b></p>
15、<p> if rising_edge(clk40M) then </p><p> if a=20970 then </p><p> clk1000<=not clk1000; a<=0;</p><p> else a<=a+1; </p><p> end if ; e
16、nd if;</p><p> end process; </p><p> clk1000hz<=clk1000; </p><p> process(clk1000)</p><p> variable a1: integer range 0 to 249 :=0;</p><p><b>
17、; begin</b></p><p> if rising_edge(clk1000) then </p><p> if a1=249 then clk4<=not clk4;a1:=0;</p><p> else a1:=a1+1; </p><p> end if;end if;<
18、;/p><p> end process;</p><p> clk4hz<=clk4;</p><p> process(clk1000)</p><p> variable a1: integer range 0 to 2 :=0;</p><p><b> begin</b>&
19、lt;/p><p> if rising_edge(clk1000) then </p><p> if a1=2 then clk500<=not clk500;a1:=0;</p><p> else a1:=a1+1; </p><p> end if;end if;</p><p>
20、; end process;</p><p> clk500hz<=clk500;</p><p> process(clk1000)</p><p> variable a1: integer range 0 to 499 :=0;</p><p><b> begin</b></p>
21、<p> if rising_edge(clk1000) then </p><p> if a1=499 then clk1<=not clk1;a1:=0;</p><p> else a1:=a1+1; </p><p> end if;end if;</p><p> if rising_
22、edge(pause) then</p><p><b> s<=not s;</b></p><p><b> end if;</b></p><p> end process;</p><p> clk1hz<=clk1 and s; </p><
23、p> end one; </p><p> -- CONTOR 模塊</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all; </p><p>
24、use ieee.std_logic_arith.all;</p><p> entity contor is </p><p> port(clk,k,set,reset,mode : in std_logic;</p><p> chs,cht,cms,cmt,css,cst,flashh,flashm,flashs,sel_show:out std_lo
25、gic);</p><p> end contor;</p><p> architecture contor_arch of contor is</p><p> type states is(s0,s1,s2,s3,s4,s5,s6,s7);</p><p> signal current_state,next_state :st
26、ates;</p><p><b> begin</b></p><p> process(reset,clk,next_state,mode)</p><p><b> begin</b></p><p> if (reset='1')then</p><
27、;p> current_state<=s0;</p><p> elsif (clk'event and clk='1')then</p><p> current_state<=next_state;</p><p><b> end if;</b></p><p>
28、 end process;</p><p> process(current_state,k,set,mode)</p><p><b> begin</b></p><p> case current_state is</p><p><b> when s0=></b></p
29、><p> flashh<='0';flashm<='0';flashs<='0';cht<='0';cmt<='0';cst<='0'; chs<='0';cms<='0';css<='0';sel_show<=
30、'1';</p><p> if(mode='1')then next_state<=s4;</p><p> elsif(k='0'and set='1' ) then</p><p> next_state<=s1;</p><p><b> e
31、lse</b></p><p> next_state<=s0;</p><p><b> end if;</b></p><p><b> when s1=></b></p><p> flashh<='1';flashm<='0
32、';flashs<='0';cht<='1';cmt<='0';cst<='0'; chs<='0';cms<='0';css<='0';sel_show<='1';</p><p> if (set='1' )
33、then</p><p> next_state<=s2;</p><p><b> else</b></p><p> next_state<=s1;</p><p><b> end if;</b></p><p><b> when s2
34、=></b></p><p> flashh<='0';flashm<='1';flashs<='0';cht<='0';cmt<='1';cst<='0'; chs<='0';cms<='0';css<='
35、;0';sel_show<='1';</p><p> if (set='1') then </p><p> next_state<=s3;</p><p><b> else</b></p><p> next_state<=s2;</p>
36、<p><b> end if;</b></p><p><b> when s3=></b></p><p> flashh<='0';flashm<='0';flashs<='1';cht<='0';cmt<='0&
37、#39;; cst<='1';chs<='0';cms<='0';css<='0';sel_show<='1';</p><p> if ( set='1' ) then </p><p> next_state<=s0;</p><
38、p><b> else</b></p><p> next_state<=s3;</p><p><b> end if;</b></p><p><b> when s4=></b></p><p> flashh<='0';
39、flashm<='0';flashs<='0';cht<='0';cmt<='0';cst<='0';</p><p> chs<='0';cms<='0';css<='0';sel_show<='0';</p
40、><p> if ( mode='1' ) then</p><p> next_state<=s0;</p><p> elsif ( k='0'and set='1' ) then </p><p> next_state<=s5;</p><p>
41、<b> else</b></p><p> next_state<=s4;</p><p><b> end if;</b></p><p><b> when s5=></b></p><p> flashh<='1';flash
42、m<='0';flashs<='0';cht<='0';cmt<='0';cst<='0';</p><p> chs<='1';cms<='0';css<='0';sel_show<='0';</p>
43、<p> if (set='1') then</p><p> next_state<=s6;</p><p><b> else</b></p><p> next_state<=s5;</p><p><b> end if;</b></p
44、><p><b> when s6=></b></p><p> flashh<='0';flashm<='1';flashs<='0';cht<='0';cmt<='0';</p><p> cst<='0
45、9;;chs<='0';cms<='1';css<='0';sel_show<='0';</p><p> if (set='1' ) then</p><p> next_state<=s7;</p><p><b> else</b
46、></p><p> next_state<=s6;</p><p><b> end if;</b></p><p><b> when s7=></b></p><p> flashh<='0';flashm<='0';fla
47、shs<='1';cht<='0';cmt<='0';</p><p> cst<='0';chs<='0';cms<='0';css<='1';sel_show<='0';</p><p> If (set=
48、'1') then</p><p> next_state<=s4;</p><p><b> else</b></p><p> next_state<=s7;</p><p><b> end if;</b></p><p><
49、b> end case;</b></p><p> end process;</p><p> end contor_arch;</p><p> ********TIMER模塊****</p><p> --********MUX2-1 模塊********</p><p> libra
50、ry ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity mux2_1 is</p><p> port(d0,d1,en :in std_logic;</p><p> sel :in std_logic;</p><p> y :out
51、 std_logic);</p><p> end mux2_1;</p><p> architecture mux2_1_arch of mux2_1 is</p><p><b> begin </b></p><p> process(d0,d1,sel)</p><p><
52、b> begin</b></p><p> if(sel='0')then</p><p><b> y<=d0;</b></p><p> elsif(sel='1'and en='0')then</p><p><b> y&
53、lt;=d1 ;</b></p><p><b> end if;</b></p><p> end process;</p><p> end mux2_1_arch;</p><p> --*************cnt24模塊*****</p><p> librar
54、y ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity cnt24 is</p><p> port(clkin,rst:in std_logic;</p><p&
55、gt; mh,ml:buffer std_logic_vector(3 downto 0);</p><p> co:buffer std_logic);</p><p> end cnt24;</p><p> architecture cnt24x of cnt24 is</p><p><b> begin</
56、b></p><p> process(clkin)</p><p><b> begin</b></p><p> if(rising_edge(clkin))then</p><p> if(mh="0010"and ml="0011")then</p>
57、;<p> mh<="0000";co<='1';ml<="0000";</p><p> elsif(ml="1001")then</p><p> ml<="0000";mh<=mh+1;co<='0';</p&g
58、t;<p> else ml<=ml+1;co<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p> if rst='1' then</p><p> mh
59、<="0000";ml<="0000";</p><p><b> end if;</b></p><p> end process;</p><p> end cnt24x;</p><p> --*************TIMER總的模塊*****<
60、/p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> use ieee.std_logic_arith.all;</p><p> entity
61、timer is</p><p> port(rst,chs,f4,cms,k,clk1hz,css:in std_logic;</p><p> hh,hl,mh,ml,sh,sl:out std_logic_vector(3 downto 0)</p><p><b> );</b></p><p> end
62、 entity;</p><p> architecture one of timer is</p><p> component mux2_1 is</p><p> port(d0,d1,en :in std_logic;</p><p> sel :in std_logic;</p><p> y
63、:out std_logic);</p><p> end component;</p><p> component cnt60 is</p><p> port(clkin,rst:in std_logic;</p><p> mh,ml:buffer std_logic_vector(3 downto 0);</p>
64、<p> co :buffer std_logic);</p><p> end component;</p><p> component cnt24 is</p><p> port(clkin,rst:in std_logic;</p><p> mh,ml:buffer std_logic_vector(3 d
65、ownto 0);</p><p> co:buffer std_logic);</p><p> end component;</p><p> signal co1,co2,y1,y2,y3:std_logic;</p><p><b> begin</b></p><p> U1:
66、mux2_1 port map(clk1hz,f4,k,css,y1);</p><p> U2:mux2_1 port map(co1,f4,k,cms,y2);</p><p> U3:mux2_1 port map(co2,f4,k,chs,y3);</p><p> U4:cnt60 port map(y1,rst,sh,sl,co1);</p&
67、gt;<p> U5:cnt60 port map(y2,rst,mh,ml,co2);</p><p> U6:cnt24 port map(y3,rst,hh,hl);</p><p><b> end one;</b></p><p> ――*****************Time_com 模塊*********&
68、lt;/p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_logic_unsigned.all; </p><p> ent
69、ity time_com is</p><p> port(r,hh,mh,sh,hl,ml:in std_logic_vector(3 downto 0);</p><p> test,chs,cms,css,f4,k:in std_logic;</p><p> bsg,bmg,bhg,bsd,bmd,bhd :buffer std_logic_vecto
70、r(3 downto 0);</p><p> comout:out std_logic);</p><p> end time_com;</p><p> architecture time_comx of time_com is</p><p> signal choose,choose1,choose2:std_logic;&l
71、t;/p><p><b> begin</b></p><p> com:process(hh,mh,sh,hl,ml,bhd,bhg,bmg,bmd,bsg)</p><p><b> begin</b></p><p> if(bhg=hh and bhd=hl and bmg=mh and
72、 bmd=ml and bsg=sh)then</p><p> comout<='1';</p><p><b> else</b></p><p> comout<='0';</p><p><b> end if;</b></p>
73、<p> end process;</p><p> --set:process(f4)</p><p> process(chs)</p><p><b> begin</b></p><p> if rising_edge(test) then</p><p> ch
74、oose<=not choose;</p><p> if chs='1' then </p><p> if choose='1' then</p><p> if r>"0010" then</p><p> bhg<="0000"; els
75、e</p><p><b> bhg<=r;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> if choose='0' then</p><p>
76、; if r>"0011" then</p><p> bhd<="0000"; else</p><p> bhd<=r; end if;</p><p><b> end if;</b></p><p><b> end if;</b
77、></p><p><b> end if;</b></p><p> end process;</p><p> process(cms)</p><p><b> begin</b></p><p> if rising_edge(test) then&l
78、t;/p><p> choose1<=not choose1;</p><p> if cms='1' then </p><p> if choose1='1' then</p><p> if r>"0101" then</p><p> bmg
79、<="0000"; else</p><p><b> bmg<=r;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> if choose1='0
80、9; then</p><p> if r>"1001" then</p><p> bmd<="0000"; else</p><p> bmd<=r; end if;</p><p><b> end if;</b></p><p&
81、gt;<b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> process(css)</p><p><b> begin</b></p><p>
82、if rising_edge(test) then</p><p> choose2<=not choose2;</p><p> if css='1' then </p><p> if choose2='1' then</p><p> if r>"0101" the
83、n</p><p> bsg<="0000"; else</p><p><b> bsg<=r;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><
84、p> if choose2='0' then</p><p> if r>"1001" then</p><p> bsd<="0000"; else</p><p> bsd<=r; end if;</p><p><b> end if;&
85、lt;/b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process;</p><p> end time_comx;</p><p> --****************
86、*Show_contor模塊****************************</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_arith.all;</p><p> use ieee.std_log
87、ic_unsigned.all;</p><p> entity show_contor is</p><p> port(hh,mh,sh,bhh,bmh,bsh,hl,ml,sl,bhl,bml,bsl :in std_logic_vector(3 downto 0);</p><p> flashh,flashm,flashs,clk1,sel_show
88、 :in std_logic;</p><p> sld0,shd1,mld3,mhd4,hld6,hhd7:out std_logic_vector(3 downto 0));</p><p> end show_contor;</p><p> architecture show_contor_arch of show_contor is</p>
89、;<p><b> begin</b></p><p> process(clk1)</p><p><b> begin</b></p><p> if sel_show='1'then</p><p><b> sld0<=sl;</
90、b></p><p><b> shd1<=sh;</b></p><p><b> mld3<=ml;</b></p><p><b> mhd4<=mh;</b></p><p><b> hld6<=hl;</b>
91、;</p><p><b> hhd7<=hh;</b></p><p> elsif sel_show='0'then</p><p> sld0<=bsl;</p><p> shd1<=bsh;</p><p> mld3<=bml;<
92、/p><p> mhd4<=bmh;</p><p> hld6<=bhl;</p><p> hhd7<=bhh;</p><p><b> end if;</b></p><p> if(clk1='1' and flashs='1')t
93、hen</p><p> sld0<="1111";shd1<="1111";</p><p><b> end if;</b></p><p> if(clk1='1' and flashm='1')then</p><p>
94、mld3<="1111";mhd4<="1111";</p><p><b> end if;</b></p><p> if(clk1='1' and flashh='1')then</p><p> hld6<="1111";
95、hhd7<="1111";</p><p><b> end if;</b></p><p> end process;</p><p> end show_contor_arch;</p><p> --****************decode模塊代碼***************
96、******</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all; </p><p> entity decode is</p><p><b>
97、port(</b></p><p> clk1000hz: in std_logic;</p><p> mg,ms,fg,fs,sg,ss: in std_logic_vector(3 downto 0);</p><p> atog: out std_logic_vector(6 downto 0);</p><p>
98、 sel: out std_logic_vector(5 downto 0)</p><p><b> );</b></p><p> end decode;</p><p> architecture one of decode is </p><p> signal q: std_logic_vector(
99、3 downto 0) ; </p><p> signal count : integer range 0 to 5:=0;</p><p><b> begin</b></p><p> process(clk1000hz)</p><p><b> begin</b></p>
100、;<p> if rising_edge(clk1000hz) then</p><p> count<=count+1;</p><p><b> end if;</b></p><p> end process;</p><p> process(count,mg,ms,fg,fs,s
101、g,ss)</p><p><b> begin</b></p><p> if count=0 then q<=mg;sel<="000001";</p><p> elsif count=1 then q<=ms;sel<="000010";</p>
102、<p> elsif count=2 then q<=fg;sel<="000100";</p><p> elsif count=3 then q<=fs;sel<="001000";</p><p> elsif count=4 then q<=sg;sel<="010000
103、";</p><p> elsif count=5 then q<=ss;sel<="100000";</p><p><b> end if;</b></p><p> end process;</p><p> process(q)</p><p
104、><b> begin</b></p><p> case q is --段碼選擇輸出</p><p> when "0000"=> atog<="0111111"; --0</p><p> when "0001"=>
105、; atog<="0000110"; --1</p><p> when "0010"=> atog<="1011011"; --2</p><p> when "0011"=> atog<="1001111"
106、;; --3</p><p> when "0100"=> atog<="1100110"; --4</p><p> when "0101"=> atog<="1101101"; --5</p><p
107、> when "0110"=> atog<="1111101"; --6</p><p> when "0111"=> atog<="0100111"; --7</p><p> when "1000"=>
108、 atog<="1111111"; --8</p><p> when "1001"=> atog<="1101111"; --9</p><p> when others=> atog<="0000000";
109、 --0</p><p><b> end case;</b></p><p> end process;</p><p><b> end one;</b></p><p> --*************Bell模塊************************************
110、********</p><p> library ieee; </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity bel is</p><p> port(mh,sh
111、,ml,sl :in std_logic_vector(3 downto 0);</p><p> comout,f512hz,f1024hz,clk :in std_logic; </p><p> bell :out std_logic);</p><p><b> end bel;</b></p><p&
112、gt; architecture bel_arch of bel is</p><p><b> begin</b></p><p> process(clk,mh,ml,sh,sl,f1024hz,f512hz)</p><p><b> begin</b></p><p> if(co
113、mout='1')then</p><p> bell<=clk;</p><p> elsif(mh="0101"and ml="1001" )then</p><p> if(sh="0101") then</p><p> if(sl="
114、1001") then</p><p> bell<=f1024hz;</p><p> elsif(sl="0001" or sl="0011" or sl="0101" or sl="0111")then</p><p> bell<=f500hz;<
115、;/p><p><b> end if;</b></p><p><b> else</b></p><p> bell<='0';</p><p><b> end if;</b></p><p> elsif(ml<
116、"1001"or mh<"0101"or sh<"0101" )then</p><p> bell<='0';</p><p><b> end if;</b></p><p> end process;</p><p>
117、; end bel_arch;</p><p> --*************key模塊********************************************</p><p> library ieee;</p><p> use ieee.std_logic_arith.all; </p><p> use i
118、eee.std_logic_unsigned.all;</p><p> use ieee.std_logic_1164.all;</p><p> entity key is</p><p> port (clk:in std_logic;test,rst,pause:out std_logic;</p><p> a:in std
119、_logic_vector(3 downto 0);</p><p> b,r:out std_logic_vector(3 downto 0));</p><p> end entity key;</p><p> architecture one of key is</p><p> signal c:std_logic_vect
120、or(1 downto 0);</p><p> signal ba:std_logic_vector(7 downto 0);</p><p> signal e:std_logic_vector(3 downto 0);</p><p><b> begin</b></p><p> ba<=e&
121、;a;b<=e;</p><p> process(a,clk) begin</p><p> if rising_edge(clk) then c<=c+1;</p><p><b> case c is</b></p><p> when "00"=> e<=&qu
122、ot;0111";when "01"=>e<="1011";</p><p> when "10"=>e<="1101";when "11"=>e<="1110";</p><p> when others=>nul
123、l;</p><p><b> end case;</b></p><p> case ba is</p><p> when "01111110"=>r<="0001";test<='1';when "10111110" => r<
124、="0010";test<='1';</p><p> when "11011110"=>r<="0011";test<='1';when "01111101" => r<="0100";test<='1';</p&g
125、t;<p> when "10111101"=>r<="0101";test<='1';when "11011101" => r<="0110";test<='1';</p><p> when "01111011"=>r&
126、lt;="0111";test<='1';when "10111011" => r<="1000";test<='1';</p><p> when "11011011"=>r<="1001";test<='1';when
127、"01110111" => r<="0000";test<='1';</p><p> when "10110111"=>r<="1101";when "11101110" => r<="1001";rst<='1'
128、;;</p><p> when "11010111"=>r<="1110";pause<='1';when "11100111" => r<="1111";</p><p> when others=>rst<='0';pause&
129、lt;='0';test<='0';</p><p> end case; end if;</p><p> end process;</p><p><b> end;</b></p><p> --************* debance模塊**************
130、******************************</p><p> library ieee;</p><p> use ieee.std_logic_1164.all; </p><p> use ieee.std_logic_unsigned.all;</p><p> use ieee.std_logic_arith
131、.all;</p><p> entity debance1 is</p><p> port(clk,kin:in std_logic;</p><p> kout:out std_logic);</p><p><b> end;</b></p><p> architecture
132、one of debance1 is</p><p> signal kl:std_logic_vector(3 downto 0);</p><p> signal kh:std_logic;</p><p><b> begin</b></p><p> process(clk,kin) begin</
133、p><p> if rising_edge(clk) then</p><p> if kin='1' then kh<='1';</p><p> else kh<='0';end if;end if;</p><p> end process;</p><
134、p> process(clk,kin) begin</p><p> if rising_edge(clk) then</p><p> if kin='0' then kl<=kl+1;</p><p> else kl<="0000";end if;end if;</p><p&g
135、t; end process;</p><p> process(clk,kh) begin</p><p> if rising_edge(clk) then</p><p> if kl>"1100" then kout<='0';</p><p> elsif kh='1
136、' then kout<='1';</p><p> end if;end if;</p><p> end process;</p><p><b> end; </b></p><p> --************* TRM0模塊********************
137、************************</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity trm0 is</p><p
138、> port(clk,kin:in std_logic;</p><p> kout: out std_logic);</p><p><b> end trm0;</b></p><p> architecture behav of trm0 is</p><p> signal kh,kl:std_l
139、ogic_vector(3 downto 0);</p><p><b> begin</b></p><p> process(clk,kin) begin</p><p> if rising_edge(clk) then </p><p> if(kin='0') then kl<=k
140、l+1;</p><p> else kl<="0000"; end if; end if;</p><p> end process;</p><p> process(clk,kin) begin</p><p> if rising_edge(clk) then</p><p>
141、 if(kin='1') then kh<=kh+1;</p><p> else kh<="0000"; </p><p><b> end if; </b></p><p><b> end if;</b></p><p> end pr
142、ocess;</p><p> process(clk,kh,kl) begin</p><p> if rising_edge(clk) then</p><p> if(kh>"1100") then kout<='1';</p><p> elsif (kl>"01
143、11") then kout<='0';</p><p><b> end if; </b></p><p><b> end if;</b></p><p> end process;</p><p><b> end;</b><
144、/p><p> --************* multi主程序********************************************</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsi
145、gned.all;</p><p> use ieee.std_logic_arith.all;</p><p> entity multi is</p><p> port (m1,k1,set1,reset1,mode1,clk:in std_logic;</p><p> a_1:in std_logic_vector(3 do
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多功能數(shù)字鐘課程設計
- 課程設計-- 多功能 數(shù)字鐘
- 課程設計--多功能數(shù)字鐘設計
- 課程設計---多功能電子數(shù)字鐘
- eda課程設計——多功能數(shù)字鐘
- 數(shù)字邏輯課程設計---多功能數(shù)字鐘
- 多功能數(shù)字鐘課程設計報告
- 多功能數(shù)字鐘電路課程設計
- 多功能數(shù)字鐘課程設計報告
- 多功能數(shù)字鐘課程設計報告
- 數(shù)字鐘課程設計---多功能數(shù)字鐘的設計與制作
- 課程設計--多功能電子數(shù)字鐘
- 數(shù)字鐘課程設計--多功能數(shù)字鐘的電路設計
- 課程設計--多功能數(shù)字鐘的設計
- 課程設計--多功能數(shù)字鐘設計.doc
- 課程設計---多功能數(shù)字鐘的設計
- vhdl課程設計--數(shù)字鐘的設計
- 數(shù)字邏輯課程設計---多功能數(shù)字鐘 (2)
- 數(shù)字邏輯課程設計報告--多功能數(shù)字鐘
- 數(shù)字電路課程設計(多功能數(shù)字鐘)
評論
0/150
提交評論