版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《EDA技術(shù)》課程設(shè)計(jì)報(bào)告</p><p> 題 目: 彩燈控制器 </p><p> 目 錄</p><p> 1設(shè)計(jì)目的………………………………………………………3</p><p> 2設(shè)計(jì)題目描述和要求…………………………………………3</p>&l
2、t;p> 3設(shè)計(jì)原理………………………………………………………3</p><p> 3.1方案論證……………………………………………………3</p><p> 3.2模塊設(shè)計(jì)……………………………………………………4</p><p> 3.3系統(tǒng)結(jié)構(gòu)……………………………………………………6</p><p> 4總結(jié)……………
3、………………………………………………7</p><p> 5參考書(shū)目………………………………………………………8</p><p> 6附錄一程序……………………………………………………9</p><p> 7附錄二編譯……………………………………………………16</p><p> 8附錄三時(shí)序仿真………………………………………………1
4、7</p><p><b> 1.設(shè)計(jì)目的</b></p><p> 學(xué)習(xí)EDA開(kāi)發(fā)軟件和MAX+plus Ⅱ的使用方法,熟悉可編程邏輯器件的使用,通過(guò)制作來(lái)了解彩燈控制系統(tǒng)。</p><p> 2.設(shè)計(jì)題目描述和要求</p><p> 設(shè)計(jì)一個(gè)彩燈控制器,能使8個(gè)彩燈(LED管)能連續(xù)發(fā)出四六種以上不同的顯示形
5、式;</p><p> 2)隨著彩燈顯示圖案的變化,發(fā)出不同的音響聲。</p><p><b> 3.設(shè)計(jì)原理</b></p><p><b> 3.1 方案論證</b></p><p> 這次的彩燈設(shè)計(jì)采用的是分模塊來(lái)完成的,包括分頻器、計(jì)數(shù)器、選擇器、彩燈控制器。其中彩燈控制器是用來(lái)輸出
6、不同的花樣,彩燈控制器的輸出則是用一個(gè)32進(jìn)制的計(jì)數(shù)器來(lái)控制,揚(yáng)聲器的輸出時(shí)用不同的頻率來(lái)控制,所以用了一個(gè)集成分頻器來(lái)使輸入的頻率被分為幾種不同的頻率,不同頻率的選擇性的輸出則是用一個(gè)4選一的選擇器來(lái)控制?;谏鲜龅慕榻B本次的彩燈控制采用的模式6來(lái)進(jìn)行顯示。</p><p> 圖3-1-1 模式6結(jié)構(gòu)圖</p><p><b> 3.2 模塊設(shè)計(jì)</b><
7、/p><p><b> 1)集成分頻器模塊</b></p><p> 設(shè)計(jì)要求顯示不同的彩燈的時(shí)候要伴隨不同的音樂(lè),所以設(shè)計(jì)分頻器來(lái)用不同的頻率控制不同的音樂(lè)輸出。</p><p><b> 模塊說(shuō)明:</b></p><p> Rst:輸入信號(hào) 復(fù)位信號(hào) 用來(lái)復(fù)位集成分頻器的輸出使輸出為“0”
8、,及沒(méi)有音樂(lè)輸出。</p><p> Clk:輸入信號(hào) 模塊的功能即為分頻輸入的頻率信號(hào)。</p><p> Clk_4、clk_6、clk_8、clk_10:輸出信號(hào) 即為分頻模塊對(duì)輸入信號(hào)clk的分頻,分別為1/4分頻輸出、1/6分頻輸出、1/8分頻輸出、1/10分頻輸出。</p><p> 圖3-2-1 集成分頻器</p><p>
9、; 2)32進(jìn)制計(jì)數(shù)器模塊</p><p> 32進(jìn)制模塊用來(lái)控制彩燈輸出模塊,即確定彩燈控制器的不同的輸出。</p><p> Rst:輸入信號(hào) 復(fù)位信號(hào) 用來(lái)復(fù)位32進(jìn)制使其輸出為“00000”。</p><p> Clk:輸入信號(hào) 用來(lái)給模塊提供工作頻率。</p><p> Count_out[4..0]:輸出信號(hào) 即為32進(jìn)
10、制計(jì)數(shù)器的輸出。</p><p> 圖3-2-2 32進(jìn)制計(jì)數(shù)器</p><p><b> 3)彩燈控制模塊</b></p><p> 彩燈控制模塊用來(lái)直接控制彩燈的輸出,使彩燈表現(xiàn)出不同的花樣。</p><p> Rst:輸入信號(hào) 使彩燈控制模塊的輸出為“00000000”,即讓彩燈無(wú)輸出。</p>
11、<p> Input[4..0]:輸入信號(hào) 不同的輸入使彩燈控制模塊有不同的輸出即彩燈顯示出不同的花樣。</p><p> Output[7..0]:輸出信號(hào) 直接與彩燈相連來(lái)控制彩燈。</p><p> 圖3-2-3 彩燈控制模塊</p><p> 4) 4選1選擇器模塊</p><p> Rst:輸入信號(hào) 復(fù)位信號(hào)
12、 使選擇器的輸出為“0”。</p><p> In1、in2、in3、in4:輸入信號(hào) 接分頻器的輸出。</p><p> Inp[1..0]:輸入信號(hào) 接4進(jìn)制計(jì)數(shù)器的輸出用來(lái)控制選擇器的選擇不同的輸入選擇不同的輸出。</p><p> Output:輸出信號(hào) 直接接揚(yáng)聲器即輸出的是不同的頻率來(lái)控制揚(yáng)聲器播放音樂(lè)。</p><p>
13、 圖3-2-4 4選1選擇器</p><p> 5)4進(jìn)制計(jì)數(shù)器模塊</p><p> 4進(jìn)制計(jì)數(shù)器作為選擇器的輸入來(lái)控制選擇器選擇不同的頻率作為輸出控制揚(yáng)聲器工作。</p><p> Clk:輸入信號(hào) 來(lái)為計(jì)數(shù)器提供工作頻率。</p><p> Rst:輸入信號(hào) 復(fù)位信號(hào) 使計(jì)數(shù)器的輸出為“00”。</p><p
14、> 圖3-2-5 4進(jìn)制計(jì)數(shù)器</p><p><b> 3.3 系統(tǒng)結(jié)構(gòu)</b></p><p> 整個(gè)系統(tǒng)就是各個(gè)分模塊組成來(lái)實(shí)現(xiàn)最后的彩燈控制功能,系統(tǒng)又兩個(gè)時(shí)鐘來(lái)控制一個(gè)是控制32進(jìn)制計(jì)數(shù)器即控制彩燈控制模塊來(lái)實(shí)現(xiàn)彩燈的不同輸出,另一個(gè)時(shí)鐘為分頻器的輸入來(lái)進(jìn)行分頻處理,最后用來(lái)控制揚(yáng)聲器發(fā)出不同的音樂(lè),具體分頻處理的時(shí)鐘的頻率比實(shí)現(xiàn)彩燈控制的時(shí)鐘頻
15、率要高。</p><p> 圖 3-3-1 系統(tǒng)功能模塊</p><p><b> 4.總結(jié)</b></p><p> 這次的EDA課程設(shè)計(jì)有一周的時(shí)間,在這一周的時(shí)間里我們充分合理的安排了自己的時(shí)間來(lái)使本次的課程設(shè)計(jì)能夠順利的完成,當(dāng)然我們?cè)诒敬蔚脑O(shè)計(jì)中并不是一帆風(fēng)順的,我們遇到了一些的問(wèn)題,例如我們開(kāi)始時(shí)用的文本的方式用一個(gè)總的程序來(lái)
16、完成,可以在設(shè)計(jì)的過(guò)程中我們發(fā)現(xiàn)程序編到后面變量越到很容易搞混淆同時(shí)各個(gè)進(jìn)程間的聯(lián)系也越來(lái)越模糊以至于后面我們自己都不知道程序的整體框圖是什么,導(dǎo)致后面不能夠繼續(xù)下去,后面我們?cè)僖淮螌?duì)我們這次的設(shè)計(jì)題目進(jìn)行了分析和整理,最后我和我的同伴決定采用分模塊的方式來(lái)完成本次的課題設(shè)計(jì),當(dāng)然最重要的是分析各個(gè)模塊間的關(guān)系。最后我們采用上面分析的結(jié)構(gòu)框圖。最后我們的設(shè)計(jì)很成功,仿真和硬件測(cè)試都是正確的,實(shí)現(xiàn)了我們的設(shè)計(jì)要求和目的。</p>
17、;<p> 在這次設(shè)計(jì)中我們收獲了很多,首先最直接的收獲就是我們鞏固了這門(mén)課程所學(xué)過(guò)的知識(shí),把它運(yùn)用到了實(shí)踐當(dāng)中,并且學(xué)到了很多在書(shū)本撒和那個(gè)所沒(méi)有學(xué)到的知識(shí),通過(guò)查閱相關(guān)資料進(jìn)一步加深了對(duì)EDA的了??偟膩?lái)說(shuō),通過(guò)這次課程設(shè)計(jì)不僅鍛煉了我們的動(dòng)手和動(dòng)腦能力,也使我懂得了理論與實(shí)際相結(jié)合的重要性,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,要把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在我們的共同努力和指
18、導(dǎo)老師的指引下我們圓滿的完成了彩燈控制器的設(shè)計(jì),實(shí)現(xiàn)了設(shè)計(jì)目的。</p><p><b> 參考書(shū)目:</b></p><p> 趙偉軍,《Protel99se教程》,北京,人民郵電出版社,1996年</p><p> 金西,《VHDL與復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)》,西安,西安電子科技大學(xué)出版社,2003</p><p>
19、 漢澤西,《EDA技術(shù)及其應(yīng)用》,北京,北京航空航天大學(xué)出版社,2004</p><p><b> 6附錄一 程序:</b></p><p> ----------------------------------------------分頻器模塊-----------------------------------------</p><p&g
20、t; -- MAX+plus II VHDL Template</p><p> -- Clearable loadable enablable counter</p><p> LIBRARY ieee;</p><p> USE ieee.std_logic_1164.all;</p><p> ENTITY fenpinqi
21、IS</p><p><b> PORT</b></p><p><b> (</b></p><p> clk,rst: INstd_logic;</p><p> clk_10,clk_4,clk_6,clk_8: OUT std_logic</p><p&
22、gt;<b> );</b></p><p> END fenpinqi;</p><p> ARCHITECTURE cd OF fenpinqi IS</p><p><b> begin</b></p><p> p1:process(clk,rst)</p><
23、p> variable a:integer range 0 to 20;</p><p><b> begin</b></p><p> if rst='1' then</p><p> clk_4<='0'; ----- 復(fù)位信號(hào)控制部分</p&
24、gt;<p><b> else</b></p><p> if clk'event and clk='1'then</p><p> if a>=3 then</p><p><b> a:=0;</b></p><p> clk_4<=
25、'1';</p><p><b> else</b></p><p><b> a:=a+1;</b></p><p> clk_4<='0';</p><p><b> end if;</b></p><p&g
26、t;<b> end if;</b></p><p><b> end if;</b></p><p> end process p1;</p><p> p2:process(clk,rst)</p><p> variable b:integer range 0 to 20;</
27、p><p><b> begin</b></p><p> if rst='1' then</p><p> clk_6<='0'; ----- 復(fù)位信號(hào)控制部分</p><p><b> else</b></p
28、><p> if clk'event and clk='1'then</p><p> if b>=5 then</p><p><b> b:=0;</b></p><p> clk_6<='1';</p><p><b> e
29、lse</b></p><p><b> b:=b+1;</b></p><p> clk_6<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><
30、;p><b> end if;</b></p><p> end process p2;</p><p> p3:process(clk,rst)</p><p> variable c:integer range 0 to 20;</p><p><b> begin</b><
31、;/p><p> if rst='1' then</p><p> clk_8<='0'; ----- 復(fù)位信號(hào)控制部分</p><p><b> else</b></p><p> if clk'event and clk=
32、9;1'then</p><p> if c>=7 then</p><p><b> c:=0;</b></p><p> clk_8<='1';</p><p><b> else</b></p><p><b>
33、c:=c+1;</b></p><p> clk_8<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p>
34、<p> end process p3;</p><p> p4:process(clk,rst)</p><p> variable d:integer range 0 to 20;</p><p><b> begin</b></p><p> if rst='1' then&l
35、t;/p><p> clk_10<='0'; ----- 復(fù)位信號(hào)控制部分</p><p><b> else</b></p><p> if clk'event and clk='1'then</p><p> if d>=
36、9 then</p><p><b> d:=0;</b></p><p> clk_10<='1';</p><p><b> else</b></p><p><b> d:=d+1;</b></p><p> clk
37、_10<='0';</p><p><b> end if;</b></p><p><b> end if;</b></p><p><b> end if;</b></p><p> end process p4;</p><
38、;p><b> end cd;</b></p><p> ----------------------------------------------4選1選擇器---------------------------------------</p><p> LIBRARY ieee;</p><p> USE ieee.std_
39、logic_1164.all;</p><p> ENTITY xzq4_1 IS</p><p><b> PORT</b></p><p><b> ( </b></p><p> rst:in std_logic;</p><p> inp:in inte
40、ger range 0 to 3;</p><p> in1,in2,in3,in4: In std_logic;</p><p> output: OUT std_logic</p><p><b> );</b></p><p> END xzq4_1;</p><p> A
41、RCHITECTURE a OF xzq4_1 IS</p><p><b> BEGIN</b></p><p> PROCESS (rst,inp)</p><p><b> BEGIN</b></p><p> if(rst='1') then output<=&
42、#39;0';</p><p><b> else</b></p><p> case inp is</p><p> when 0=>output<=in1; </p><p> when 1=>output<=in2;</p><p> when 2
43、=>output<=in3;</p><p> when 3=>output<=in4; </p><p> when others=>null;</p><p> end case; </p><p><b> end if;</b></p><p>
44、; END PROCESS;</p><p><b> END a;</b></p><p> -------------------------------------------彩燈控制模塊----------------------------------------</p><p> LIBRARY ieee;</p&
45、gt;<p> USE ieee.std_logic_1164.all;</p><p> ENTITY caideng IS</p><p><b> PORT</b></p><p><b> (</b></p><p> input: ININTEGER RANG
46、E 0 TO 31;</p><p> rst:in std_logic; </p><p> output: OUT std_logic_vector(7 downto 0);</p><p> sm :out std_logic_vector(6 downto 0)</p><p><b> );</b>
47、;</p><p> END caideng;</p><p> ARCHITECTURE a OF caideng IS</p><p><b> BEGIN</b></p><p> PROCESS (input)</p><p><b> BEGIN</b>&
48、lt;/p><p> if rst='1' then output<="00000000";sm<="0000000";</p><p><b> else</b></p><p> case input is</p><p> when 0=>
49、;output<="10000000";sm<="0000110";</p><p> when 1=>output<="01000000";sm<="0000110";</p><p> when 2=>output<="00100000";s
50、m<="0000110";</p><p> when 3=>output<="00010000";sm<="0000110";</p><p> when 4=>output<="00001000";sm<="0000110";</p&g
51、t;<p> when 5=>output<="00000100";sm<="0000110";</p><p> when 6=>output<="00000010";sm<="0000110";</p><p> when 7=>output&l
52、t;="00000001";sm<="0000110";</p><p> when 8=>output<="00010000";sm<="0011011";</p><p> when 9=>output<="00110000";sm<=&qu
53、ot;0011011";</p><p> when 10=>output<="00111000";sm<="0011011";</p><p> when 11=>output<="01111000";sm<="0011011";</p><
54、;p> when 12=>output<="01111100";sm<="0011011";</p><p> when 13=>output<="01111110";sm<="0011011";</p><p> when 14=>output<=&
55、quot;11111110";sm<="0011011";</p><p> when 15=>output<="11111111";sm<="0011011";</p><p> when 16=>output<="10000001";sm<="
56、;1001111";</p><p> when 17=>output<="11000001";sm<="1001111";</p><p> when 18=>output<="11000011";sm<="1001111";</p><p
57、> when 19=>output<="11100011";sm<="0011011";</p><p> when 20=>output<="11100111";sm<="1001111";</p><p> when 21=>output<=&qu
58、ot;11110111";sm<="1001111";</p><p> when 22=>output<="11111111";sm<="1001111";</p><p> when 23=>output<="00001000";sm<="1
59、001111";</p><p> when 24=>output<="00000001";sm<="0100110";</p><p> when 25=>output<="00000010";sm<="0100110";</p><p&g
60、t; when 26=>output<="00000100";sm<="0100110";</p><p> when 27=>output<="00001000";sm<="0100110";</p><p> when 28=>output<="
61、;00010000";sm<="0100110";</p><p> when 29=>output<="00100000";sm<="0100110";</p><p> when 30=>output<="01000000";sm<="010
62、0110";</p><p> when 31=>output<="10000000";sm<="0100110";</p><p> when others=>null;</p><p><b> end case;</b></p><p>
63、;<b> end if;</b></p><p> end process;</p><p><b> end a;</b></p><p> --------------------------------------------32進(jìn)制計(jì)數(shù)器模塊--------------------------------
64、---</p><p> LIBRARY ieee;</p><p> USE ieee.std_logic_1164.all;</p><p> ENTITY counter_32 IS</p><p><b> PORT</b></p><p><b> (</b&g
65、t;</p><p> clk,rst: INstd_logic;</p><p> count_out: OUT integer range 0 to 31);</p><p> END counter_32;</p><p> ARCHITECTURE a OF counter_32 IS</p>&
66、lt;p><b> BEGIN</b></p><p> PROCESS (rst,clk)</p><p> variable temp:integer range 0 to 32;</p><p><b> BEGIN</b></p><p> IF rst='1'
67、; THEN</p><p><b> temp:=0;</b></p><p> ELSIF (clk'event and clk='1') THEN</p><p> temp:=temp+1;</p><p> if(temp=32) then</p><p&g
68、t;<b> temp:=0;</b></p><p><b> end if;</b></p><p><b> END IF;</b></p><p> count_out<=temp;</p><p> END PROCESS;</p>
69、<p><b> END a;</b></p><p> -------------------------------------------4進(jìn)制計(jì)數(shù)器模塊----------------------------------</p><p> LIBRARY ieee;</p><p> USE ieee.std_lo
70、gic_1164.all;</p><p> ENTITY counter_4 IS</p><p><b> PORT</b></p><p><b> (</b></p><p> clk,rst: INstd_logic;</p><p> count_
71、out: OUT integer range 0 to 3);</p><p> END counter_4;</p><p> ARCHITECTURE a OF counter_4 IS</p><p><b> BEGIN</b></p><p> PROCESS (rst,clk)</p&
72、gt;<p> variable temp:integer range 0 to 32;</p><p><b> BEGIN</b></p><p> IF rst='1' THEN</p><p><b> temp:=0;</b></p><p> EL
73、SIF (clk'event and clk='1') THEN</p><p> temp:=temp+1;</p><p> if(temp=4) then</p><p><b> temp:=0;</b></p><p><b> end if;</b>
74、</p><p><b> END IF;</b></p><p> count_out<=temp;</p><p> END PROCESS;</p><p><b> END a;</b></p><p><b> 7附錄二 編譯</b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(jì)---彩燈控制器
- eda課程設(shè)計(jì)彩燈控制器
- eda課程設(shè)計(jì)-彩燈控制器
- eda課程設(shè)計(jì)---節(jié)日彩燈控制器
- eda課程設(shè)計(jì)--多路彩燈控制器
- eda課程設(shè)計(jì)--多路彩燈控制器的設(shè)計(jì)
- eda課程設(shè)計(jì)一個(gè)彩燈控制器
- 課程設(shè)計(jì)報(bào)告彩燈控制器
- 彩燈控制器課程設(shè)計(jì)報(bào)告
- 彩燈控制器課程設(shè)計(jì)--流水彩燈控制器
- 彩燈控制器課程設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 課程設(shè)計(jì)-- 彩燈控制器
- eda電梯控制器課程設(shè)計(jì)報(bào)告
- 彩燈控制器課程設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- eda彩燈控制課程設(shè)計(jì)
- eda課程設(shè)計(jì)--用vhdl實(shí)現(xiàn)多路彩燈控制器的設(shè)計(jì)
- 彩燈控制器課程設(shè)計(jì)
- 課程設(shè)計(jì)--彩燈控制器
評(píng)論
0/150
提交評(píng)論