

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課 程 設 計</p><p> 2011年 3 月2日</p><p><b> 課程設計任務書</b></p><p> 課程 EDA技術課程設計</p><p><b> 題目 拔河游戲機</b></p><p> 專業(yè)
2、 姓名 學號 </p><p> 主要內容、基本要求、主要參考資料等</p><p><b> 主要內容:</b></p><p> 電子拔河游戲機是一種能容納甲乙雙方參賽游戲電路。由一排發(fā)光二極管表示拔河的“電子繩”。由甲乙雙方通過按紐開關使發(fā)光二極管向一方的終點延伸,當延伸到某方的
3、最后一個發(fā)光二極管時, 則該方獲勝,連續(xù)比賽多局以定勝負。</p><p><b> 基本要求:</b></p><p> 1、設計一個能進行拔河游戲的電路。</p><p> 2、電路使用9個發(fā)光二極管,開機后只有中間一個發(fā)亮,此即拔河的中心點。</p><p> 3、游戲雙方各持一個按鈕,迅速地、不斷地按動,
4、產(chǎn)生脈沖,誰按得快,亮點就向誰的方向移動,每按一次,亮點移動一次。</p><p> 4、亮點移到任一方終端二極管時,這一方就獲勝,此時雙方按鈕均無作用,輸出保持,只有復位后才使亮點恢復到中心。</p><p> 5、用數(shù)碼管顯示獲勝者的盤數(shù)。</p><p><b> 主要參考資料:</b></p><p>
5、[1] 潘松著.EDA技術實用教程(第二版). 北京:科學出版社,2005.</p><p> [2] 康華光主編.電子技術基礎 模擬部分. 北京:高教出版社,2006.</p><p> [3] 閻石主編.數(shù)字電子技術基礎. 北京:高教出版社,2003.</p><p> 完成期限 2011.3.2 </p><p&g
6、t; 指導教師 </p><p> 專業(yè)負責人 </p><p> 2011年 3月2日</p><p><b> 一、總體設計思想</b></p><p><b> 1.基本原理</b></p><
7、;p> 電子拔河游戲機是一種能容納甲乙雙方參賽游戲電路。由一排發(fā)光二極管表示拔河的“電子繩”。由甲乙雙方通過按紐開關使發(fā)光二極管向一方的終點延伸,當延伸到某方的最后一個發(fā)光二極管時, 則該方獲勝,連續(xù)比賽多局以定勝負。</p><p> 本電路要求使用9個發(fā)光二極管,開機后只有中間一個發(fā)亮,此即拔河的中心點。游戲雙方各持一個按鈕,迅速地、不斷地按動,產(chǎn)生脈沖,誰按得快,亮點就向誰的方向移動,每按一次,亮
8、點移動一次。亮點移到任一方終端二極管時,這一方就獲勝,此時雙方按鈕均無作用,輸出保持,只有復位后才使亮點恢復到中心。最后用數(shù)碼管顯示獲勝者的盤數(shù)。</p><p> 由設計內容可知,首先需要一個十進制的計數(shù)器,用于對雙方按鈕的次數(shù)計數(shù),并通過譯碼器顯示在數(shù)碼管上。設計要求用50MHz的頻率,而設計用到的是1K Hz的頻率,所以要設計一個程序進行分頻。其次,顯視控制部分設計要求在發(fā)光二極管上顯示游戲狀態(tài),雙方每按
9、十次,亮點向先按十次移動一次,對脈沖進行計數(shù),每十次移一位。需接入一個清零端 ,用于復位。再次,運用VHDL程序語言進行各個模塊的程序編寫,控制電路的正常運行。最后,將以上程序組裝起來,就可得到所需要的拔河游戲機。</p><p><b> 2.設計框圖</b></p><p> 圖1. 拔河機游戲機框圖</p><p> 二、設計步驟和
10、調試過程</p><p><b> 1、總體設計電路</b></p><p> 電子拔河游戲機是一種能容納甲乙雙方參賽游戲電路。由一排發(fā)光二極管表示拔河的“電子繩”。由甲乙雙方通過按紐開關使發(fā)光二極管向一方的終點延伸,當延伸到某方的最后一個發(fā)光二極管時, 則該方獲勝,連續(xù)比賽多局以定勝負。</p><p> 圖2.系統(tǒng)RTL圖示</
11、p><p> 2、模塊設計和相應模塊程序</p><p> 1、文件名:bahe</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p>&
12、lt;p> ENTITY BAHE IS </p><p><b> PORT (</b></p><p> A,B,RST,CLK:IN STD_LOGIC;</p><p> SG,LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);</p><p> BT:OUT STD_LO
13、GIC_VECTOR(7 DOWNTO 0)</p><p><b> );</b></p><p><b> END BAHE;</b></p><p> ----------------------------------</p><p> ARCHITECTURE ONE OF BAH
14、E IS</p><p> COMPONENT CNT10</p><p><b> PORT (</b></p><p> CLK,RST,EN:STD_LOGIC;</p><p> COUT:OUT STD_LOGIC;</p><p> CQ:OUT STD_LOGIC_VECT
15、OR(3 DOWNTO 0)</p><p><b> );</b></p><p> END COMPONENT;</p><p> COMPONENT SCAN </p><p><b> PORT (</b></p><p> CLK :IN STD_LOGI
16、C;</p><p> A1, A2,A3,B1,B2,B3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SG:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);</p><p> BT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> E
17、ND COMPONENT;</p><p> COMPONENT LMOV</p><p><b> PORT (</b></p><p> KL ,KR:IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;</p><p> LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0)
18、;</p><p> EN : OUT STD_LOGIC;</p><p> RST:IN STD_LOGIC</p><p><b> );</b></p><p> END COMPONENT;</p><p> SIGNAL E,F,CA1,CA2,CB1,CB2:STD_LOG
19、IC;</p><p> SIGNAL CQA1,CQA2,CQA3,CQB1,CQB2,CQB3:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN</b></p><p> U1: CNT10 PORT MAP (EN=>E,RST=>RST,CLK=>A,COUT=&g
20、t;CA1,CQ=>CQA1);</p><p> U2: CNT10 PORT MAP (EN=>E,RST=>RST,CLK=>CA1,COUT=>CA2,CQ=>CQA2);</p><p> U3: CNT10 PORT MAP (EN=>E,RST=>RST,CLK=>CA2,CQ=>CQA3);</p>
21、<p> U4: CNT10 PORT MAP (EN=>E,RST=>RST,CLK=>B,COUT=>CB1,CQ=>CQB1);</p><p> U5: CNT10 PORT MAP (EN=>E,RST=>RST,CLK=>CB1,COUT=>CB2,CQ=>CQB2);</p><p> U6: C
22、NT10 PORT MAP (EN=>E,RST=>RST,CLK=>CB2,CQ=>CQB3);</p><p> U7: SCAN PORT MAP (A1=>CQA1,A2=>CQA2,A3=>CQA3,B1=>CQB1,</p><p> B2=>CQB2,B3=>CQB3,CLK=>CLK,SG=>SG
23、,BT=>BT);</p><p> U8:LMOV PORT MAP (EN=>E,KL=>CQA2,KR=>CQB2,RST=>RST,LED=>LED);</p><p> END ARCHITECTURE ONE;</p><p> 2、文件名:scan</p><p> LIBRARY I
24、EEE; --數(shù)碼管顯示模塊</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY SCAN IS </p><p><b> PORT (</b></p>
25、<p> CLK :IN STD_LOGIC;</p><p> A1,A2,A3,B1,B2,B3:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SG:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);</p><p> BT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0
26、)</p><p><b> );</b></p><p><b> END;</b></p><p> ARCHITECTURE ONE OF SCAN IS</p><p> SIGNAL CNT4:STD_LOGIC_VECTOR(2 DOWNTO 0);</p><
27、;p> SIGNAL A :STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p> SIGNAL CLK1:STD_LOGIC;</p><p><b> BEGIN </b></p><p> P1:PROCESS(CNT4)</p><p><b> BEGIN&l
28、t;/b></p><p> CASE CNT4 IS</p><p> WHEN "000"=>BT<="10000000";A<=A1;</p><p> WHEN "001"=>BT<="01000000";A<=A2;</p&
29、gt;<p> WHEN "010"=>BT<="00100000";A<=A3;</p><p> WHEN "011"=>BT<="00000100";A<=B1;</p><p> WHEN "100"=>BT<=&q
30、uot;00000010";A<=B2;</p><p> WHEN "101"=>BT<="00000001";A<=B3;</p><p> WHEN OTHERS=>BT<="00000000";</p><p> END CASE ;</p&
31、gt;<p> END PROCESS P1;</p><p> ---------------------------------</p><p> P2:PROCESS (CLK)</p><p> VARIABLE CT:INTEGER RANGE 0 TO 50000;</p><p><b> BE
32、GIN </b></p><p> IF CLK'EVENT AND CLK='1' THEN --1000HZ </p><p> IF CT<49999 THEN</p><p><b> CT:=CT+1;</b></p><p> CLK1<='0&
33、#39;;</p><p><b> ELSE </b></p><p><b> CT:=0;</b></p><p> CLK1<='1';</p><p><b> END IF;</b></p><p><b&
34、gt; END IF;</b></p><p> END PROCESS P2;</p><p> PROCESS(CLK1)</p><p><b> BEGIN </b></p><p> IF CLK1'EVENT AND CLK1='1' THEN</p>
35、<p> IF CNT4<5 THEN</p><p> CNT4<=CNT4+1;</p><p><b> ELSE </b></p><p> CNT4<="000";</p><p><b> END IF;</b></p&
36、gt;<p><b> END IF;</b></p><p> END PROCESS;</p><p> ------------------------------------</p><p> PROCESS (A)</p><p><b> BEGIN </b>&l
37、t;/p><p> CASE A IS </p><p> WHEN "0000"=>SG<="100000000";</p><p> WHEN "0001"=>SG<="111110001";</p><p> WHEN "
38、;0010"=>SG<="001001000";</p><p> WHEN "0011"=>SG<="001100000";</p><p> WHEN "0100"=>SG<="000110010";</p><p&g
39、t; WHEN "0101"=>SG<="000100100";</p><p> WHEN "0110"=>SG<="000000100";</p><p> WHEN "0111"=>SG<="111110000";</
40、p><p> WHEN "1000"=>SG<="000000000";</p><p> WHEN "1001"=>SG<="100011111";</p><p> WHEN "1010"=>SG<="0001001
41、00";</p><p> WHEN "1011"=>SG<="000011000";</p><p> WHEN "1100"=>SG<="010001100";</p><p> WHEN "1101"=>SG<
42、="001001000";</p><p> WHEN "1110"=>SG<="001000000";</p><p> WHEN "1111"=>SG<="000011111";</p><p> WHEN OTHERS=>NU
43、LL;</p><p> END CASE ;</p><p> END PROCESS;</p><p><b> END;</b></p><p> 3、文件名:cnt10</p><p> LIBRARY IEEE; --頻率計數(shù)模塊</p><p&g
44、t; USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL; </p><p> ENTITY CNT10 IS</p><p><b> PORT(</b></p><p> CLK,RST,EN:STD_LOGIC;<
45、;/p><p> COUT:OUT STD_LOGIC;</p><p> CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)</p><p><b> );</b></p><p><b> END;</b></p><p> ARCHITECTU
46、RE ONE OF CNT10 IS</p><p><b> BEGIN</b></p><p> PROCESS(CLK,RST,EN)</p><p> VARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> BEGIN </b>
47、</p><p> IF RST='1' THEN </p><p> CQI:=(OTHERS=>'0');</p><p> ELSIF CLK'EVENT AND CLK='1' THEN </p><p> IF EN='1' THEN </p
48、><p> IF CQI<9 THEN CQI:=CQI+1;</p><p> ELSE CQI :=(OTHERS=>'0');</p><p><b> END IF ;</b></p><p><b> END IF;</b></p><p
49、><b> END IF;</b></p><p> IF CQI=9 THEN COUT<='0' ;</p><p> ELSE COUT<='1';</p><p><b> END IF;</b></p><p><b>
50、 CQ<=CQI;</b></p><p> END PROCESS;</p><p><b> END;</b></p><p> 4、文件名:imov</p><p> LIBRARY IEEE; --LED指示模塊</p><p> USE IEEE.S
51、TD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY LMOV IS </p><p><b> PORT (</b></p><p> KL ,KR:IN STD_LOGIC_VECTOR(3 DOWNTO
52、 0) ;</p><p> LED:OUT STD_LOGIC_VECTOR(8 DOWNTO 0);</p><p> EN : OUT STD_LOGIC;</p><p> RST:IN STD_LOGIC</p><p><b> );</b></p><p><b>
53、 END ;</b></p><p> ARCHITECTURE ONE OF LMOV IS</p><p><b> BEGIN </b></p><p> PROCESS(RST,KL,KR)</p><p><b> BEGIN </b></p><
54、p> IF RST='1' THEN LED<="111101111";EN<='1';</p><p> ELSIF KL-KR=1 THEN LED<="111011111";EN<='1';</p><p> ELSIF KL-KR=2 THEN LED&
55、lt;="110111111";EN<='1';</p><p> ELSIF KL-KR=3 THEN LED<="101111111";EN<='1';</p><p> ELSIF KL-KR=4 THEN LED<="011111111";EN<='
56、0';</p><p> ELSIF KR-KL=1 THEN LED<="111110111";EN<='1';</p><p> ELSIF KR-KL=2 THEN LED<="111111011";EN<='1' ;</p><p> ELSIF K
57、R-KL=3 THEN LED<="111111101";EN<='1';</p><p> ELSIF KL-KR=4 THEN LED<="111111110";EN<='0';</p><p> ELSIF KR-KL=0 THEN LED<="111101111&qu
58、ot;;EN<='1';</p><p> ELSE NULL;</p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END;</b></p><p> 3、仿真及仿真結果分析
59、</p><p><b> 計數(shù)器仿真波形</b></p><p> LED顯示模塊仿真波形</p><p><b> 系統(tǒng)仿真波形</b></p><p><b> 4、實驗調試結果</b></p><p> 1編程下載及配置,選擇Assig
60、nments —Assignments Editor ,在Assignments Edito窗口中選擇pin標簽頁,按下圖分配引腳。</p><p> 2 重編譯,并進行編程下載到SOPC開發(fā)板進行功能驗證。</p><p> 3 驗證,按key 1和key10,觀察led燈和數(shù)碼管的顯示變化是否符合設計要求,如果和設計不符合對程序進行更改,知道符合設計要求。</p>
61、<p><b> 三、結論及心得體會</b></p><p> 這次課程設計使我懂得了理論與實際相結合的重要性,單單理論遠不能完成工作,只有把所學的理論知識與實踐結合起來,從實踐中積累經(jīng)驗才能提高自己的實際動手能力和獨立思考的能力。在實踐的過程中遇到了許多問題在老師和同學的幫助下最終解決了,并完成了設計。在以后的學習中不僅要深刻理解基礎知識,還要多做設計。通過這次課程設計,我也
62、越來越強烈地感到要掌握一門技術,唯一的辦法也是最好的辦法就是實踐。只有通過實踐才能將書本上的知識應用,也只有實踐才能發(fā)現(xiàn)很多問題,真正掌握知識,學以致用。雖然遇到的問題很多,但是同時得到很多有用的經(jīng)驗。</p><p><b> 參考資料</b></p><p> [1] 潘松著.EDA技術實用教程(第二版). 北京:科學出版社,2005.</p>
63、<p> [2]《電子設計自動化(EDA)技術實驗教程》</p><p> [3]《VHDL硬件描述實驗指導書》</p><p> [4]《VHDL數(shù)字電路設計與應用實踐教程》</p><p> [5] 焦素敏.《EDA應用技術》 清華大學出版社,2002</p><p> [6] 高吉祥. 電子技術基礎實驗與課程設計.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論