數(shù)字競賽搶答器_第1頁
數(shù)字競賽搶答器_第2頁
數(shù)字競賽搶答器_第3頁
數(shù)字競賽搶答器_第4頁
數(shù)字競賽搶答器_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、長 沙 學(xué) 院課程設(shè)計(jì)說明書題目 數(shù)字競賽搶答器的設(shè)計(jì) 系(部) 電子與通信工程系 專業(yè) 電氣工程及其自動(dòng)化 班級(jí) 一班 姓名 盧玉芳 學(xué)號(hào) 2009042124 指導(dǎo)教師 瞿瞾 謝明華 起止日期 2011-12-19至1-1 EDA技術(shù)課程設(shè)計(jì)任務(wù)書系(部):電子與通信工程系 專業(yè):電氣工程及其自動(dòng)化 指導(dǎo)教師:謝明華課題名稱數(shù)字競賽搶答器的設(shè)計(jì)設(shè)計(jì)內(nèi)容及要求(1)課題內(nèi)容:1、設(shè)計(jì)一個(gè)可容納3組參賽的數(shù)字式搶答器,每組設(shè)一個(gè)按鈕,供搶答使用。2、搶答器具有第一信號(hào)鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。3、設(shè)置一個(gè)主持人“復(fù)位”按鈕。4、主持人復(fù)位后,開始搶答,第一信號(hào)鑒別鎖存電路

2、得到信號(hào)后,有指示燈顯示搶答組別,揚(yáng)聲器發(fā)出1秒的音響。5、設(shè)置一個(gè)計(jì)分電路,每組開始預(yù)置10分,由主持人記分,答對(duì)一次加1分,答錯(cuò)一次減1分。要求進(jìn)行按鍵防抖動(dòng)設(shè)計(jì)。(2)主要任務(wù):完成該系統(tǒng)的硬件和軟件的設(shè)計(jì),并制作出實(shí)物裝置,調(diào)試好后并能實(shí)際運(yùn)用(指導(dǎo)教師提供制作所需的器件),最后就課程設(shè)計(jì)本身提交一篇課程設(shè)計(jì)說明書。設(shè)計(jì)工作量1、VHDL語言程序設(shè)計(jì);2、波形仿真;3、在實(shí)驗(yàn)裝置上進(jìn)行硬件測試,并進(jìn)行演示;4、提交一份完整的課程設(shè)計(jì)說明書,包括設(shè)計(jì)原理、程序設(shè)計(jì)、程序分析、仿真分析、硬件測試、調(diào)試過程,參考文獻(xiàn)、設(shè)計(jì)總結(jié)等。進(jìn)度安排起止日期(或時(shí)間量)設(shè)計(jì)內(nèi)容(或預(yù)期目標(biāo))備注第1天課

3、題介紹,答疑,收集材料第2天設(shè)計(jì)方案論證第3天進(jìn)一步討論方案, 對(duì)設(shè)計(jì)方案進(jìn)行必要的修正,方案確定后開始進(jìn)行VHDL語言程序設(shè)計(jì)第4天設(shè)計(jì)VHDL語言程序第59天在實(shí)驗(yàn)裝置上進(jìn)行硬件測試,對(duì)VHDL語言程序進(jìn)行必要的修正,并進(jìn)行演示教研室意見年 月 日系(部)主管領(lǐng)導(dǎo)意見年 月 日長沙學(xué)院課程設(shè)計(jì)鑒定表姓名盧玉芳學(xué)號(hào)2009042124專業(yè)電氣工程及其自動(dòng)化班級(jí)一班設(shè)計(jì)題目數(shù)字競賽搶答器指導(dǎo)教師謝明華指導(dǎo)教師意見:評(píng)定等級(jí): 教師簽名: 日期: 答辯小組意見:評(píng)定等級(jí):答辯小組長簽名:日期:教研室意見:教研室主任簽名: 日期: 系(部)意見:系主任簽名:日期:說明課程設(shè)計(jì)成績分“優(yōu)秀”、“良好

4、”、“及格”、“不及格”四類;目 錄一總體設(shè)計(jì)思想5二設(shè)計(jì)步驟和調(diào)試過程51.搶答器鑒別鎖存模塊52.搶答器計(jì)分模塊63.蜂鳴模塊94.譯碼模塊95.動(dòng)態(tài)掃描模塊106.總體模塊117.各引腳分配16三仿真及仿真結(jié)果分析17四、結(jié)論及心得體會(huì)18五、參考文獻(xiàn)19一、總體設(shè)計(jì)思想1.基本要求: 1)、設(shè)計(jì)一個(gè)可容納3組參賽的數(shù)字式搶答器,每組設(shè)一個(gè)按鈕,供搶答使用。 2)、搶答器具有第一信號(hào)鑒別和鎖存功能,使除第一搶答者外的按鈕不起作用。 3)、設(shè)置一個(gè)主持人“復(fù)位”按鈕。 4)、主持人復(fù)位后,開始搶答,第一信號(hào)鑒別鎖存電路得到信號(hào)后,有指示燈顯示搶答組別,揚(yáng)聲器 發(fā)出1秒的音響。 5)、設(shè)置一

5、個(gè)計(jì)分電路,每組開始預(yù)置10分,由主持人記分,答對(duì)一次加1分,答錯(cuò)一次減1分。要求進(jìn)行按鍵防抖動(dòng)設(shè)計(jì)。 2.基本原理 本設(shè)計(jì)為三路智能搶答器,所以這種搶答器要求有三路不同組別的搶答輸入信號(hào),并能識(shí)別最先搶答的信號(hào),直觀地通過數(shù)顯和蜂鳴等方式顯示出組別;同時(shí)該系統(tǒng)還應(yīng)有復(fù)位、分?jǐn)?shù)置位功能。 搶答過程:主持人按下系統(tǒng)復(fù)位鍵(RST),系統(tǒng)進(jìn)入搶答狀態(tài),計(jì)分模塊輸出初始信號(hào)給數(shù)碼顯示模塊并顯示出初始值10。當(dāng)某參賽組搶先將搶答鍵按下時(shí),系統(tǒng)將其余兩路路搶答信號(hào)封鎖,同時(shí)蜂鳴器發(fā)出聲音提示,該組對(duì)應(yīng)的指示燈顯示信號(hào),從而顯示出該搶答成功組,并一直保持到下一輪主持人將系統(tǒng)清零為止。主持人對(duì)搶答結(jié)果進(jìn)行確

6、認(rèn),隨后,開始回答問題。根據(jù)答題的正誤來確定加分或減分,并通過數(shù)碼顯示模塊將成績顯示出來。主持人按下復(fù)位鍵,即RST 為高電平有效狀態(tài),清除前一次的搶答組別,又可開始新的一輪的搶答。 此搶答器的設(shè)計(jì)中采用自頂向下的設(shè)計(jì)思路,運(yùn)用VHDL 硬件描述語言對(duì)各個(gè)模塊進(jìn)行層次化、系統(tǒng)化的描述,并用多個(gè)進(jìn)程聯(lián)系起來。 二、設(shè)計(jì)步驟和調(diào)試過程模塊設(shè)計(jì)和相應(yīng)模塊程序?qū)⒃撊蝿?wù)分成幾個(gè)模塊進(jìn)行設(shè)計(jì),分別為:搶答器鑒別鎖存模塊、搶答器計(jì)分模塊、蜂鳴模塊、譯碼模塊、動(dòng)態(tài)掃描模塊,最后是撰寫頂層文件。 搶答器鑒別鎖存模塊: 搶答器鑒別模塊在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中的搶答功能,并且能實(shí)現(xiàn)當(dāng)有一路搶答按鍵按下時(shí),該路

7、搶答信號(hào)將其余過濾搶答封鎖的功能。其中有三個(gè)搶答信號(hào) A1,B1,C1;搶答狀態(tài)顯示信號(hào) states;系統(tǒng)復(fù)位信號(hào) en。 VHDL 源程序1.搶答器鑒別鎖存模塊 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY QDJB IS PORT(en: IN STD_LOGIC; A, B, C: IN STD_LOGIC; -3個(gè)組 A1,B1,C1: OUT STD_LOGIC; STATES: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); END ENTITY QDJB; ARCHITECTURE ART OF QDJB

8、 ISsignal a_1,b_1,c_1:std_logic; BEGIN PROCESS(CLR,A,B,C) IS BEGINIF en='1' THEN STATES<="0000"a_1<='0'b_1<='0'c_1<='0'-清零elsif a_1='1' or b_1='1' or c_1='1' then null; -鎖存elsif a='1' then a_1<='1'states

9、<="001"elsif b='1' then b_1<='1'states<="010"elsif c='1' then c_1<='1'states<="100"end if;a1<=a_1;b1<=b_1;c1<=c_1;END PROCESS; END ARCHITECTURE ART;2.搶答器計(jì)分模塊: 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中的加減情況,首先將分?jǐn)?shù)顯示復(fù)位,即均為10,主持人根據(jù)選手答題情況,若選手回答正

10、確則進(jìn)行加分,即按定加分按鈕為ADD;若選手回答錯(cuò)誤則進(jìn)行減分,即按定減分按鈕為SUB,選擇端為CHOS,用來判定系統(tǒng)是進(jìn)行加分還是進(jìn)行減分;輸出到計(jì)分顯示模塊的信號(hào)為AA,BB,CC。由于存在按鍵抖動(dòng)情況,程序設(shè)置了一個(gè)JIFEN鍵,在JIFEN為高電平時(shí),在進(jìn)行加減分的按鍵,按鍵抖動(dòng)基本平穩(wěn),但仍然還存在少許;VHDL 源程序 P_A:PROCESS(ADD,CHOS) IS VARIABLE POINTS_A2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_A1: STD_LOGIC_VECTOR(3 DO

11、WNTO 0):="0000" VARIABLE POINTS_B2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" VARIABLE POINTS_C2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"BEGINIF

12、(ADD'EVENT AND ADD='1')THENIF JIFEN=1 THENIF CHOS="001"THEN IF POINTS_A1="1001" THEN POINTS_A1:="0000" IF POINTS_A2="1001" THEN POINTS_A2:="0000" ELSE POINTS_A2:=POINTS_A2+1; END IF; ELSE POINTS_A1:=POINTS_A1+1; END IF; END IF; IF JIFEN=1

13、 THEN IF CHOS="010" THEN IF POINTS_B1="1001" THEN POINTS_B1:="0000" IF POINTS_B2="1001" THEN POINTS_B2:="0000" ELSE POINTS_B2:=POINTS_B2+1; END IF; ELSE POINTS_B1:=POINTS_B1+1; END IF;END IF; IF JIFEN=1 THENIF CHOS="100" THEN IF POINTS_C1=&

14、quot;1001" THEN POINTS_C1:="0000" IF POINTS_C2="1001" THEN POINTS_C2:="0000" ELSE POINTS_C2:=POINTS_C2+1; END IF; ELSE POINTS_C1:=POINTS_C1+1; END IF;END IF;end if; AA2<=POINTS_A2; AA1<=POINTS_A1; BB2<=POINTS_B2; BB1<=POINTS_B1; CC2<=POINTS_C2; CC1&l

15、t;=POINTS_C1; END PROCESS P_A; P_B: PROCESS(SUB,CHOS) IS VARIABLE POINTS_D2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" VARIABLE POINTS_E2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_E1: STD_LOGIC_VECTOR(3 DOW

16、NTO 0):="0000" VARIABLE POINTS_F2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_F1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" BEGIN IF(SUB'EVENT AND SUB='1') THEN IF JIFEN=1 THENIF CHOS="001" THEN IF POINTS_D1="0000" THEN POINTS_D1:=&q

17、uot;1001" IF POINTS_D2="0000" THENPOINTS_D2:="1001" ELSEPOINTS_D2:=POINTS_D2-1; END IF; ELSE POINTS_D1:=POINTS_D1-1; END IF; END IF;IF JIFEN=1 THEN I F CHOS="010" THEN IF POINTS_E1="0000" THEN POINTS_E1:="1001" IF POINTS_E2="0000" THEN

18、POINTS_E2:="1001" ELSEPOINTS_E2:=POINTS_E2-1; END IF; ELSE POINTS_E1:=POINTS_E1-1; END IF; END IF;IF JIFEN=1 THENIF CHOS="100" THEN IF POINTS_F1="0000" THEN POINTS_F1:="1001" IF POINTS_F2="0000" THENPOINTS_F2:="1001" ELSEPOINTS_F2:=POINTS_F

19、2-1; END IF; ELSE POINTS_F1:=POINTS_F1-1; END IF; END IF; END IF; DD2<=POINTS_D2; DD1<=POINTS_D1; EE2<=POINTS_E2; EE1<=POINTS_E1; FF2<=POINTS_F2; FF1<=POINTS_F1; END PROCESS P_B;END ARCHITECTURE ART;3.蜂鳴模塊: 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中的蜂鳴功能,當(dāng)搶答者按下?lián)尨疰I時(shí),除了指示燈顯示意外,同時(shí)蜂鳴器蜂鳴1秒。此模塊就是運(yùn)用分頻信號(hào)來控制蜂鳴器,已達(dá)到蜂鳴

20、一秒的實(shí)驗(yàn)效果。當(dāng)搶答結(jié)束時(shí),蜂鳴器停止發(fā)聲。process(clk,op) -fengmingbegin if clk'event and clk='1' then if op=25000000 then op<=0; clk2 <= not clk2; else op<=op+1; end if; end if;end process;process(clk0)begin if clk0'event and clk0='1' then if p=5 then p<=0; else p<=p+1; end if;

21、end if;end process;4.譯碼模塊: 在這個(gè)模塊中主要實(shí)現(xiàn)搶答過程中將 BCD 碼轉(zhuǎn)換成 7 段現(xiàn)實(shí)數(shù)碼管的功能。 VHDL 源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS PORT(AIN4: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); END YMQ; ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(A

22、IN4) BEGIN CASE AIN4 IS WHEN "0000"=>DOUT7<="1111110" -0WHEN "0001"=>DOUT7<="0110000" -1 WHEN "0010"=>DOUT7<="1101101" -2WHEN "0011"=>DOUT7<="1111001" -3WHEN "0100"=>DOUT7<="0

23、110011" -4WHEN "0101"=>DOUT7<="1011011" -5WHEN "0110"=>DOUT7<="1011111" -6WHEN "0111"=>DOUT7<="1110000" -7WHEN "1000"=>DOUT7<="1111111" -8WHEN "1001"=>DOUT7<="1111011&quo

24、t; -9WHEN OTHERS=>DOUT7<="0000000" END CASE; END PROCESS; END ARCHITECTURE ART; 波形顯示如下:5.動(dòng)態(tài)掃描模塊: 動(dòng)態(tài)顯示是將所有顯示數(shù)據(jù)的BCD碼按照一定的順序和變化頻率送到公用數(shù)據(jù)總線上,在通過一個(gè)公用的顯示譯碼器譯碼后,接到數(shù)碼管的驅(qū)動(dòng)端。這里是將A,B,C三位選手的回答成績,即分?jǐn)?shù)顯示在數(shù)碼管上。 硬件測試時(shí),第一二個(gè)數(shù)碼管顯示的是A組搶答所得的分?jǐn)?shù);第三四個(gè)數(shù)碼管顯示的是B組搶答所得的分?jǐn)?shù);第五六個(gè)數(shù)碼管顯示的是C組搶答所得的分?jǐn)?shù)。第七八個(gè)數(shù)碼管滅,不運(yùn)用到試驗(yàn)中。VHDL

25、 源程序 begin -saomiaoxianshi process(clk) begin if clk'event and clk='1' then if cnter=25000000 then cnter<=0; else cnter<=cnter+1; end if ; end if; end process;process(newclk) begin if cnter=25000000 THEN newclk<='1' else newclk<='0' end if; if newclk'event

26、 and newclk='1' then IF cdi<7 then cdi<=cdi+'1' else cdi<=(others=>'0'); end if; end if ;end process; process(cdi) begin case cdi is when "000"=>led_selout<="00000001" when "001"=>led_selout<="00000010" when &quo

27、t;010"=>led_selout<="00000100" when "011"=>led_selout<="00001000" when "100"=>led_selout<="00010000" when "101"=>led_selout<="00100000" when "110"=>led_selout<="01000000" when

28、 "111"=>led_selout<="10000000" end case; end process;process(p) begin case p is When "0000"=>led7s<="1000000" When "0001"=>led7s<="1111001" When "0010"=>led7s<="0100100" When "0011"=>

29、led7s<="0110000"When "0100"=>led7s<="0011001" When "0101"=>led7s<="0010010"When "0110"=>led7s<="0000010"When "0111"=>led7s<="1111000"When "1000"=>led7s<="0000000&

30、quot; When "1001"=>led7s<="0010000" when others => null; end case;end process;6. 采用自頂向下的設(shè)計(jì)思路,運(yùn)用VHDL 硬件描述語言對(duì)各個(gè)模塊進(jìn)行層次化、系統(tǒng)化的描述,并用多個(gè)進(jìn)程聯(lián)系起來。綜合以上模塊,數(shù)字競賽搶答器的總程序如下所示:本程序以一個(gè)總的源體文件自頂向下,將上面的模塊以進(jìn)程的方式有順序的插入,得到以下結(jié)果。library ieee; use ieee.std_logic_1164.all; entity qiangdaqi is port(cl

31、k:in std_logic; rst,en:in std_logic; JIFEN: in std_logic; A,B,C:in std_logic; SUB,ADD:in std_logic; CHOS: in std_logic_vector(2 downto 0); ring:out std_logic;led_selout: out std_logic_vector(7 downto 0);led7s: out std_logic_vector(6 downto 0) );end entity qiangdaqi;architecture art of qiangdaqi is s

32、ignal num:integer range 0 to 50000000; signal a_1,b_1,c_1:std_logic; signal qq: integer range 25000000 to 0; signal Cdi:std_logic_vector(2 downto 0); signal cnter:integer range 0 to 25000000; signal newclk: std_logic; signal op: integer range 25000000 downto 0; signal p: integer range 5 downto 0; si

33、gnal clk0,clk1,clk2: std_logic; signal en:std_logic; signal A1,B1,C1: std_logic_vector(2 downto 0);process(clk,ft) -fenpin; begin if clk'event and clk='1' thenif ft<25000000 thenft<='0'elseft<='1'end if ;end if;end process;end;process(rst,states) -jianbiesuocun;

34、begin if rst='1' then states<="0000"a_1<='0'b_1<='0'c_1<='0'-清零 elsif a_1='1' or b_1='1' or c_1='1' then null; -鎖存 elsif a='1' then a_1<='1'states<="001" elsif b='1' then b_1<=

35、9;1'states<="010" elsif c='1' then c_1<='1'states<="100" end if; a1<=a_1;b1<=b_1;c1<=c_1;end process; end architecture art;PROCESS(CHOS,ADD,SUB) -jifen;BEGIN P_A:PROCESS(ADD,CHOS) IS VARIABLE POINTS_A2: STD_LOGIC_VECTOR(3 DOWNTO 0):="000

36、1" VARIABLE POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" VARIABLE POINTS_B2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_B1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" VARIABLE POINTS_C2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_C1: STD_

37、LOGIC_VECTOR(3 DOWNTO 0):="0000"BEGINIF(ADD'EVENT AND ADD='1')THENIF JIFEN=1 THENIF CHOS="001"THEN IF POINTS_A1="1001" THEN POINTS_A1:="0000" IF POINTS_A2="1001" THEN POINTS_A2:="0000" ELSE POINTS_A2:=POINTS_A2+1; END IF; ELSE P

38、OINTS_A1:=POINTS_A1+1; END IF;END IF; IF JIFEN=1 THEN IF CHOS="010" THEN IF POINTS_B1="1001" THEN POINTS_B1:="0000" IF POINTS_B2="1001" THEN POINTS_B2:="0000" ELSE POINTS_B2:=POINTS_B2+1; END IF; ELSE POINTS_B1:=POINTS_B1+1; END IF;END IF;IF JIFEN=1

39、THEN IF CHOS="100" THEN IF POINTS_C1="1001" THEN POINTS_C1:="0000" IF POINTS_C2="1001" THEN POINTS_C2:="0000" ELSE POINTS_C2:=POINTS_C2+1; END IF; ELSE POINTS_C1:=POINTS_C1+1; END IF;END IF;END IF; AA2<=POINTS_A2; AA1<=POINTS_A1; BB2<=POINTS

40、_B2; BB1<=POINTS_B1; CC2<=POINTS_C2; CC1<=POINTS_C1; END PROCESS P_A; P_B: PROCESS(SUB,CHOS) IS VARIABLE POINTS_D2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_D1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" VARIABLE POINTS_E2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001&

41、quot; VARIABLE POINTS_E1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000" VARIABLE POINTS_F2: STD_LOGIC_VECTOR(3 DOWNTO 0):="0001" VARIABLE POINTS_F1: STD_LOGIC_VECTOR(3 DOWNTO 0):="0000"BEGINIF(SUB'EVENT AND SUB='1') THENIF CHOS="001" THENIF JIFEN=1 THEN IF

42、POINTS_D1="0000" THEN POINTS_D1:="1001" IF POINTS_D2="0000" THEN POINTS_D2:="1001" ELSE POINTS_D2:=POINTS_D2-1; END IF; ELSE POINTS_D1:=POINTS_D1-1; END IF;END IF;IF JIFEN=1 THENIF CHOS="010" THEN IF POINTS_E1="0000" THEN POINTS_E1:="1

43、001" IF POINTS_E2="0000" THEN POINTS_E2:="1001" ELSE POINTS_E2:=POINTS_E2-1; END IF; ELSE POINTS_E1:=POINTS_E1-1; END IF;END IF;IF JIFEN=1 THENIF CHOS="100" THEN IF POINTS_F1="0000" THEN POINTS_F1:="1001" IF POINTS_F2="0000" THEN POINT

44、S_F2:="1001" ELSE POINTS_F2:=POINTS_F2-1; END IF; ELSE POINTS_F1:=POINTS_F1-1; END IF; END IF;END IF; DD2<=POINTS_D2; DD1<=POINTS_D1; EE2<=POINTS_E2; EE1<=POINTS_E1; FF2<=POINTS_F2; FF1<=POINTS_F1;END PROCESS P_B;END ARCHITECTURE ART;process(clk,op) -fengmingbegin if clk&

45、#39;event and clk='1' then if op=25000000 then op<=0; clk2 <= not clk2; else op<=op+1; end if; end if;end process;process(clk0)begin if clk0'event and clk0='1' then if p=5 then p<=0; else p<=p+1; end if; end if;end process;begin -saomiaoxianshi process(clk) begin i

46、f clk'event and clk='1' then if cnter=25000000 then cnter<=0; else cnter<=cnter+1; end if ; end if; end process;process(newclk) begin if cnter=25000000 THEN newclk<='1' else newclk<='0' end if; if newclk'event and newclk='1' then IF cdi<7 then c

47、di<=cdi+'1' else cdi<=(others=>'0'); end if; end if ;end process; process(cdi) begin case cdi is when "000"=>led_selout<="00000001" when "001"=>led_selout<="00000010" when "010"=>led_selout<="00000100&q

48、uot; when "011"=>led_selout<="00001000" when "100"=>led_selout<="00010000" when "101"=>led_selout<="00100000" when "110"=>led_selout<="01000000" when "111"=>led_selout<="10000

49、000" end case; end process;process(p) begin case p is When "0000"=>led7s<="1000000" When "0001"=>led7s<="1111001" When "0010"=>led7s<="0100100" When "0011"=>led7s<="0110000"When "0100&qu

50、ot;=>led7s<="0011001"When "0101"=>led7s<="0010010" When "0110"=>led7s<="0000010" When "0111"=>led7s<="1111000" When "1000"=>led7s<="0000000"When "1001"=>led7s<="0010000" when others => null; end case;end process;process(rst,en,clk2) -送到蜂鳴器 beginif rst='1' thenring<='0'elsif en='1' thenring<=clk2;

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論