湖南大學(xué)數(shù)電課程設(shè)計_第1頁
湖南大學(xué)數(shù)電課程設(shè)計_第2頁
湖南大學(xué)數(shù)電課程設(shè)計_第3頁
湖南大學(xué)數(shù)電課程設(shè)計_第4頁
湖南大學(xué)數(shù)電課程設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)電課程設(shè)計實驗報告 課題:競賽搶答器 學(xué)院:電氣與信息工程學(xué)院 姓名:班級:電子信息工程1001班 目錄一、課程設(shè)計的要求及目的- 1 -二、設(shè)計的功能要求- 2 -三、設(shè)計思路框圖- 3 -四、VHDL程序- 4 -1、鍵盤轉(zhuǎn)按鍵模塊- 4 -2、顯示模塊- 6 -3、主模塊- 9 -五、電路連接圖- 14 -六、心得體會- 14 -一、課程設(shè)計的要求及目的1了解電子設(shè)計的具體流程和方法。 2. 掌握電子設(shè)計的基本要求,能夠運用所學(xué)的知識解決生活中的一些問題。 3. 初步掌握VHDL語言編程,并設(shè)計出一個有意義的小型系統(tǒng)。 4. 掌握Altium Designer 6.9軟件的應(yīng)用,并且

2、了解相關(guān)硬件的組成和功能。 5. 用EDA(Electronic Design Automation)或者原理圖完成一個課題的設(shè)計,并達到相應(yīng)的功能要求。 二、設(shè)計的功能要求 在許多比賽活動中,為了準確、公正、直觀地判斷出第一搶答者,通常設(shè)置一臺搶答器,通過數(shù)顯、燈光及音響等各種手段批示出第一搶答者。同時,還可以設(shè)置計分、犯規(guī)及獎懲記錄等各種功能。本設(shè)計利用EDA技術(shù),可容納8組參賽,每組設(shè)置一個按鈕供參賽者搶答使用。主持人按下開始按鍵后,10s倒計時開始,當一組搶答器按下后,1602LCD顯示搶答的組別。由于搶答器具有第一信號鑒別和鎖存功能使其余的組就搶答無效,搶答的組回答問題后由主持人進行

3、加減分,然后主持人按復(fù)位鍵后繼續(xù)進行搶答。1、在1602LCD屏幕上顯示所需組別及分數(shù);2、考慮到有選手犯規(guī),在主持人未按下開始鍵但是已經(jīng)有組別按下?lián)尨疰I時會在屏幕顯示該組別犯規(guī)(FG),并由主持人手動減分; 3、按下開始鍵后,有10s的時間供選手們搶答,如果30s后仍無人搶答,則蜂鳴器報警,并在屏幕上顯示超時(CS);4、每個組別設(shè)置的初始分數(shù)為0分,加分上限為9分; 5、能實現(xiàn)系統(tǒng)手動復(fù)位,復(fù)位后回到初始狀態(tài),并等待主持人按下開始鍵。三、設(shè)計思路框圖譯碼顯示譯碼優(yōu)先編碼 搶答按鈕控制模塊主持人控制開關(guān)顯示模塊定時模塊秒脈沖產(chǎn)生四、VHDL程序1、鍵盤轉(zhuǎn)按鍵模塊LIBRARY IEEE;US

4、E IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;entity PADTOKEY is port ( CPIN,R,VALIDKEY :IN STD_LOGIC; KEY :IN STD_LOGIC_VECTOR(3 DOWNTO 0); KEYOUT: OUT STD_LOGIC_VECTOR(15 DOWNTO 0); CLK_1MHZ,RST: OUT STD_LOGIC );end entity ;architecture JGT of PADTOKEY is S

5、IGNAL CTCP: INTEGER RANGE 0 TO 5; SIGNAL CPO :STD_LOGIC:=0; SIGNAL CTCPO :INTEGER RANGE 0 TO 4999; TYPE STATES IS (S0,S1,S2); SIGNAL S: STATES;beginPROCESS(CPIN)BEGINIF CPIN=1 AND CPIN EVENT THEN IF CTCP=5 THEN CPO = NOT CPO; CTCP=0; ELSE CTCP=CTCP+1; END IF;END IF;END PROCESS;PROCESS(CPO,R)BEGINCLK

6、_1MHZ=CPO;IF R=1 THEN RST=0;S=S0;CTCPO=0; KEYOUT=0000000000000000;ELSIF CPO=1 AND CPO EVENT THEN IF CTCPO /= 4999 THEN CTCPO=CTCPO+1; ELSE CTCPORST=0; IF VALIDKEY=1 THEN SKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTKEYOUTNULL; END CASE; ELSE S=S0;KEYOUTR

7、ST=1;SRST=0;S NULL; END CASE; END IF;END IF;END PROCESS; end architecture JGT;此模塊使用狀態(tài)機將鍵盤的16個按鍵轉(zhuǎn)換為16個按鍵信號。2、顯示模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity QDQLCD is port (CPIN,R,BUSY :IN STD_LOGIC; FS1,FS2,FS3,FS4,FS5,FS6,FS7,FS8,TM :IN STD_LOGIC_VECTOR(7 DOWNTO

8、0); ZB : IN STD_LOGIC_VECTOR(3 DOWNTO 0); TESHU : IN STD_LOGIC_VECTOR(1 DOWNTO 0); CLK,RST,STROBE,OUTLINE : OUT STD_LOGIC; DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); ADDR : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );end entity ;architecture JGT of QDQLCD is TYPE STATES IS (S0,S1,S2,S3,S4); SIGNAL S: STATES; S

9、IGNAL LCDPT : INTEGER RANGE 0 TO 27; SIGNAL CPCT : INTEGER RANGE 0 TO 65535; SIGNAL CP: STD_LOGIC; -SIGNAL ASCEW,ASCSN : STD_LOGIC_VECTOR(7 DOWNTO 0);beginPROCESS(CPIN,R)BEGINCLK=CPIN;IF R=1 THEN CPCT=65535;ELSIF CPIN=1 AND CPIN EVENT THEN IF CPCT=0 THEN CPCT=65535;CP=NOT CP; ELSE CPCTS2 - :Y: S3- ;

10、N; NULL-S2:STROBES1-S1,S2PROCESS(CP,R)BEGINIF R=1 THEN S=S0;LCDPT=0;RST S=S1;LCDPT=0;RST RST=0;STROBE=0; IF BUSY=0 THEN LCDPT=LCDPT+1; IF LCDPT=7 THEN S=S3; ELSE S S=S1;STROBE STROBE=0; IF BUSY=0 THEN IF LCDPT=27 THEN LCDPT=7; ELSE LCDPT=LCDPT+1; END IF; S STROBE=1;S NULL; END CASE;END IF; END PROCE

11、SS;-(LCDPT)-LCDPT=0,NULL- =16 ZB: TM: E 45H,5 W57H,6 S53H,9 N4EH,10PROCESS(LCDPT)BEGINCASE LCDPT ISWHEN 0 = NULL;WHEN 1= DATA=01011010;ADDR=1001;OUTLINE DATA=01000010;ADDR=1010;OUTLINE DATA=00111010;ADDR=0100;OUTLINE DATA=01010100;ADDR=0010;OUTLINE DATA=01001101;ADDR=0011;OUTLINE DATA=00111010;ADDR=

12、1011;OUTLINEDATA=0011&FS1(7 DOWNTO 4);ADDR=0000;OUTLINEDATA=0011&FS1(3 DOWNTO 0);ADDR=0001;OUTLINEDATA=0011&FS2(7 DOWNTO 4);ADDR=0010;OUTLINEDATA=0011&FS2(3 DOWNTO 0);ADDR=0011;OUTLINEDATA=0011&FS3(7 DOWNTO 4);ADDR=0100;OUTLINEDATA=0011&FS3(3 DOWNTO 0);ADDR=0101;OUTLINEDATA=0011&FS4(7 DOWNTO 4);ADDR

13、=0110;OUTLINEDATA=0011&FS4(3 DOWNTO 0);ADDR=0111;OUTLINEDATA=0011&FS5(7 DOWNTO 4);ADDR=1000;OUTLINEDATA=0011&FS5(3 DOWNTO 0);ADDR=1001;OUTLINEDATA=0011&FS6(7 DOWNTO 4);ADDR=1010;OUTLINEDATA=0011&FS6(3 DOWNTO 0);ADDR=1011;OUTLINEDATA=0011&FS7(7 DOWNTO 4);ADDR=1100;OUTLINEDATA=0011&FS7(3 DOWNTO 0);ADD

14、R=1101;OUTLINEDATA=0011&FS8(7 DOWNTO 4);ADDR=1110;OUTLINEDATA=0011&FS8(3 DOWNTO 0);ADDR=1111;OUTLINEDATA=0011&TM(7 DOWNTO 4);ADDR=0101;OUTLINEDATA=0011&TM(3 DOWNTO 0);ADDR=0110;OUTLINEDATA=0011&ZB(3 DOWNTO 0);ADDR=1101;OUTLINECASE TESHU IS WHEN 01= DATA=01000110;ADDR=1110;OUTLINE DATA=01000011;ADDR=

15、1110;OUTLINE NULL; END CASE;WHEN 27=CASE TESHU IS WHEN 01= DATA=01000111;ADDR=1111;OUTLINE DATA=01010011;ADDR=1111;OUTLINE NULL; END CASE;WHEN OTHERS= NULL;END CASE;END PROCESS; end architecture JGT;此模塊采用狀態(tài)機的方法在LCD上按格式顯示搶答器的8個2位BCD碼分數(shù)、搶答的組別、時間。3、主模塊library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.S

16、TD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following library declaration if instantiating- any Xilinx primitives in this code.-library UNISIM;-use UNISIM.VComponents.all;entity qdmain1 is Port ( TESHU : out STD_LOGIC_VECTOR (1 downto 0); CPIN : in STD_LOGIC; KEYOUT : in STD_L

17、OGIC_VECTOR (15 downto 0); R : in STD_LOGIC; FS1 : out STD_LOGIC_VECTOR (7 downto 0); FS2 : out STD_LOGIC_VECTOR (7 downto 0); FS3 : out STD_LOGIC_VECTOR (7 downto 0); FS4 : out STD_LOGIC_VECTOR (7 downto 0); FS5 : out STD_LOGIC_VECTOR (7 downto 0); FS6 : out STD_LOGIC_VECTOR (7 downto 0); FS7 : out

18、 STD_LOGIC_VECTOR (7 downto 0); FS8 : out STD_LOGIC_VECTOR (7 downto 0); TM : out STD_LOGIC_VECTOR (7 downto 0); ZB : out STD_LOGIC_VECTOR (3 downto 0);end qdmain1;architecture Behavioral of qdmain1 isSIGNAL KSKEY:STD_LOGIC:=0;SIGNAL YIDA:STD_LOGIC:=0;SIGNAL JIAFLAG,JIANFLAG:STD_LOGIC;SIGNAL CPCT :

19、INTEGER RANGE 0 TO 4999;SIGNAL CP: STD_LOGIC;SIGNAL CP1S : INTEGER RANGE 0 TO 999;SIGNAL CPCNT: STD_LOGIC; SIGNAL TM1 : STD_LOGIC_VECTOR (7 downto 0); SIGNAL ZB1 : STD_LOGIC_VECTOR (3 downto 0);- SIGNAL F1,F2,F3,F4,F5,F6,F7,F8 : STD_LOGIC_VECTOR (7 downto 0); SIGNAL Fk1,Fk2,Fk3,Fk4,Fk5,Fk6,Fk7,Fk8 :

20、 STD_LOGIC_VECTOR (7 downto 0);beginTM=TM1;ZB=ZB1;FS1=Fk1; FS2=Fk2; FS3=Fk3;FS4=Fk4; FS5=Fk5;FS6=Fk6; FS7=Fk7;FS8=Fk8;process(R,CPIN)BEGIN IF R=1 THEN CPCT=4999; ELSIF CPIN=1 AND CPIN EVENT THEN -20MHZ IF CPCT=0 THEN -cp shi 500us; CPCT=4999;CP=NOT CP; ELSE CPCT=CPCT-1; END IF; END IF;END PROCESS;pr

21、ocess(R,CP)begin IF R=1 THEN CP1S=0; ELSIF CP=1 AND CP EVENT THEN IF CP1S=999 THEN CP1S=0; CPCNT=NOT CPCNT; -CPCNT shi 1s; ELSE CP1S=CP1S+1; END IF; END IF;end process;process(CPIN,CPCNT)beginIF CPIN=1 AND CPIN EVENT THEN IF KEYOUT= THEN Fk1=00000000; Fk2=00000000; Fk3=00000000;Fk4=00000000; Fk5=000

22、00000; Fk6=00000000;Fk7=00000000; Fk8=00000000; ELSIF R=1 THEN YIDA=0; KSKEY=0; TM1=00001001; ZB1=0000; TESHU=00; JIAFLAG=1; JIANFLAGKSKEYYIDA=1;ZB1=0001; -Fk1YIDA=1;ZB1=0010; -Fk2YIDA=1;ZB1=0011; -Fk3YIDA=1;ZB1=0100; -Fk4YIDA=1;ZB1=0101; -Fk5YIDA=1;ZB1=0110; -Fk6YIDA=1;ZB1=0111; -Fk7YIDA=1;ZB1=1000

23、; -Fk8YIDA=0;KSKEYNULL; END CASE; IF KSKEY=1 THEN IF CPCNT=1 AND CPCNT EVENT THEN IF TM1/=00000000 THEN TM1=TM1-1; END IF; END IF; IF TM1=00000000 THEN TESHU=10; -chao shi END IF; END IF; ELSE IF KSKEY=0 THEN TESHUFk1=Fk1-1; JIANFLAGFk2=Fk2-1; JIANFLAGFk3=Fk3-1; JIANFLAGFk4=Fk4-1; JIANFLAGFk5=Fk5-1;

24、 JIANFLAGFk6=Fk6-1; JIANFLAGFk7=Fk7-1; JIANFLAGFk8=Fk8-1; JIANFLAGNULL; END CASE; END IF; END IF; ELSE IF KEYOUT= THEN IF JIAFLAG=1 THEN CASE ZB1 IS WHEN 0001=Fk1=Fk1+1;JIAFLAGFk2=Fk2+1;JIAFLAGFk3=Fk3+1;JIAFLAGFk4=Fk4+1;JIAFLAGFk5=Fk5+1;JIAFLAGFk6=Fk6+1;JIAFLAGFk7=Fk7+1;JIAFLAGFk8=Fk8+1; JIAFLAGNULL; END CASE; END IF; END IF; END IF; END IF; END IF; END IF;end process;end Behavioral; ELSE CPCT=CPCT-1; END IF;EN

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論