版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 信息工程學(xué)院</b></p><p> 數(shù)字邏輯課程設(shè)計報告</p><p> 題 目 汽車尾燈控制器的設(shè)計 </p><p> 成 績 </p><p><b> 2010年6月</b>&l
2、t;/p><p><b> 目 錄</b></p><p> 1. 功能描述02</p><p> 2. 開發(fā)工具選擇02</p><p> 3. 設(shè)計方案 02</p><p> 4. 模塊描述04</p><p> 5. VHDL實現(xiàn)
3、07</p><p> 6. 調(diào)試仿真12</p><p> 7. 課程設(shè)計回顧總結(jié) 13</p><p> 參 考 文 獻(xiàn) 14</p><p><b> 附錄 14</b></p><p><b> 一、功能描述</b></p><
4、p> 設(shè)計功能描述:存在6盞汽車尾燈(汽車尾部左、右各3盞),用兩個開關(guān)作為轉(zhuǎn)彎和剎車控制信號(一個開關(guān)控制右轉(zhuǎn)彎,另一個開關(guān)控制左轉(zhuǎn)彎),用一個開關(guān)作為汽車車鎖開啟控制,打開汽車時車燈閃爍3秒鐘,才能行駛。</p><p> 當(dāng)汽車往前行駛時(此時兩個開關(guān)都未接通),6盞燈全滅。當(dāng)汽車轉(zhuǎn)彎時,若右轉(zhuǎn)彎(即右轉(zhuǎn)開關(guān)接通),右邊的3盞尾燈從左至右順序亮滅,左邊3盞燈全滅;若左轉(zhuǎn)彎(即左轉(zhuǎn)開關(guān)接通),左邊的
5、3盞尾燈從右至左順序亮滅,右邊3盞燈全滅。當(dāng)左、右兩個開關(guān)同時接通時,6盞尾燈同時明、暗閃爍。</p><p><b> 二、開發(fā)工具選擇</b></p><p> 采用硬件描述語言 VHDL進(jìn)行描述,依靠計算機(jī),借助EDA開發(fā)工具,實現(xiàn)系統(tǒng)功能。</p><p><b> 三、設(shè)計方案</b></p>
6、<p> ?。?)、以O(shè)pencarcar作為總控制開關(guān),當(dāng)Opencarcar為1時,汽車解鎖,汽車啟動,此時車燈閃爍以兩個開關(guān)L、R為控制信號,分別控制汽車的行駛、剎車、左轉(zhuǎn)以及右轉(zhuǎn)。</p><p><b> 如下圖:</b></p><p> 當(dāng)總控制開關(guān)Opencarcar為1,汽車啟動,車燈閃爍3秒。</p><p>
7、; ?。?)、當(dāng)總控制開關(guān)Opencarcar為1,汽車向前行駛,L R = 00,6盞燈全滅,即L[0]L[1]L[2]=000,R[0]R[1]R[2]=000;</p><p><b> 如下圖:</b></p><p> 當(dāng)總控制開關(guān)Opencarcar為0,汽車向前行駛時,車燈全滅。</p><p> (3)、當(dāng)總控制開關(guān)Ope
8、ncar為1,汽車剎車,L R = 11,6盞燈閃爍,即L[0]L[1]L[2]=000 ->111,R[0]R[1]R[2]=000 ->111;</p><p><b> 如下圖:</b></p><p> 當(dāng)總控制開關(guān)Opencarcar為0,汽車剎車時,車燈閃爍。</p><p> (4)、當(dāng)總控制開關(guān)Opencar
9、car為1,汽車左轉(zhuǎn),L R = 10,左邊的3盞尾燈從右至左順序亮滅,右邊3盞燈全滅;</p><p><b> 如下圖:</b></p><p> 當(dāng)總控制開關(guān)Opencarcar為1,汽車左轉(zhuǎn)時左邊的3盞尾燈從右至左順序亮滅,右邊3盞燈全滅。</p><p> ?。?)、當(dāng)總控制開關(guān)Opencarcar為1,汽車右轉(zhuǎn),L R = 01
10、,右邊的3盞尾燈從左至右順序亮滅,左邊3盞燈全滅;</p><p><b> 如下圖:</b></p><p> 當(dāng)總控制開關(guān)Opencarcar為1,汽車右轉(zhuǎn)時右邊的3盞尾燈從左至右順序亮滅,左邊3盞燈全滅。</p><p> 、底層文件描述閃爍過程</p><p> 用單獨(dú)的實體實現(xiàn)計時模塊 , 實現(xiàn)車燈閃
11、爍和亮滅要求亮0.5秒滅1秒。</p><p><b> 四、模塊描述</b></p><p> 總模塊1:頂層文件設(shè)計,實現(xiàn)汽車開啟時解鎖,車燈閃爍3秒;汽車向前行駛,車燈全滅,汽車剎車時車燈閃爍,汽車轉(zhuǎn)彎時相應(yīng)車燈閃爍. </p><p> 總模塊2:底層文件設(shè)計,實現(xiàn)汽車開啟時,解鎖,車燈閃爍3秒.用模6計數(shù)原理.</p>
12、;<p> IF(CP'EVENT AND CP='0')THEN --下降沿出觸發(fā)</p><p> IF Opencarcar='1'THEN --汽車解鎖,車燈閃爍。</p><p> IF Q<5 THEN </p><p><b> case Q is</b>&
13、lt;/p><p> when "000"=></p><p><b> L<="111";</b></p><p><b> R<="111";</b></p><p> when "001"=&
14、gt;</p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when "010"=></p><p><b> L<=&qu
15、ot;000";</b></p><p><b> R<="000";</b></p><p> when "011"=></p><p><b> L<="111";</b></p><p>
16、 R<="111"; </p><p> when "100"=></p><p><b> L<="000";</b></p><p><b> R<="000";</b></p&
17、gt;<p> when "101"=> </p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when OTHERS =></p>
18、;<p><b> Q<="101";</b></p><p><b> end case;</b></p><p><b> Q<=Q+1;</b></p><p> ELSE Q<="000";</p>
19、<p><b> END IF;</b></p><p><b> END IF;</b></p><p><b> END IF; </b></p><p> 總模塊3:底層文件設(shè)計,實現(xiàn)汽車鎖定,汽車行駛,車燈全滅,汽車剎車,車燈閃爍,汽車轉(zhuǎn)彎車燈相應(yīng)閃爍.</p>
20、<p> 模塊1:當(dāng)總控制開關(guān)Opencarcar為1,汽車向前行駛,L R = 00,6盞燈全滅。</p><p> IF adder=”00”THEN</p><p><b> L<=”000”;</b></p><p><b> R<=”000”;</b></p><
21、;p> 模塊2:總開關(guān)Opencarcar為1時,汽車剎車,L R = 11,6盞燈閃爍。</p><p> ELSIF Opencarcar='0' AND adder ="11"THEN --汽車剎車</p><p> IF Q<5 THEN </p><p><b> case Q is<
22、;/b></p><p> when "000"=></p><p><b> L<="111";</b></p><p><b> R<="111";</b></p><p> when "001
23、"=></p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when "010"=></p><p><b> L
24、<="000";</b></p><p><b> R<="000";</b></p><p> when "011"=></p><p><b> L<="111";</b></p>&
25、lt;p> R<="111"; </p><p> when "100"=></p><p><b> L<="000";</b></p><p><b> R<="000";</b>
26、;</p><p> when "101"=> </p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when OTHERS =>&
27、lt;/p><p><b> Q<="000";</b></p><p><b> end case;</b></p><p><b> Q<=Q+1;</b></p><p> ELSE Q<="000";<
28、/p><p><b> END IF;</b></p><p> 模塊3:總開關(guān)Opencarcar為1時,汽車左轉(zhuǎn),L R = 10,左邊的3盞尾燈從右至左順序亮滅,右邊3盞燈全滅。</p><p> if L="000"then</p><p><b> L<="00
29、1";</b></p><p><b> R<="000";</b></p><p> elsif ( L="001")then</p><p><b> L<="010";</b></p><p>
30、<b> R<="000";</b></p><p> elsif( L="010")then</p><p><b> L<="100";</b></p><p><b> R<="000";</b&
31、gt;</p><p> else L<="001";R<="000";</p><p><b> end if;</b></p><p> 模塊4:總開關(guān)Opencarcar為1時,汽車右轉(zhuǎn),L R = 01,右邊的3盞尾燈從左至右順序亮滅,左邊3盞燈全滅。</p>&l
32、t;p> if R="000"then</p><p><b> R<="100";</b></p><p><b> L<="000";</b></p><p> elsif ( R="100")then</p
33、><p><b> R<="010";</b></p><p><b> L<="000";</b></p><p> elsif( R="010")then</p><p><b> R<="00
34、1";</b></p><p><b> L<="000";</b></p><p> else R<="100";L<="000";</p><p><b> end if;</b></p><p
35、><b> VHDL實現(xiàn)</b></p><p> --利用原件例化方法</p><p> --頂層文件,汽車尾燈控制系統(tǒng)。</p><p> LIBRARY IEEE; --汽車尾燈控制器設(shè)計</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p&
36、gt; USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY CARLIGHT IS--實體:一個總控制開關(guān),兩個信號控制開關(guān),兩個輸出信號</p><p> PORT( CP : IN STD_LOGIC;</p><p> Opencarcar: IN STD_LOGIC;</p><p&
37、gt; Lift,Right: IN STD_LOGIC;</p><p> L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> Q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0)) ;
38、 </p><p><b> END;</b></p><p> ARCHITECTURE CARLIGHT1 OF CARLIGHT IS</p><p> COMPONENT Opencarmond6 --例化說明,汽車解鎖,車燈閃爍,計時模塊</p><p> PORT
39、( CP: IN STD_LOGIC;</p><p> Opencarcar: IN STD_LOGIC;</p><p> L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> Q: B
40、UFFER STD_LOGIC_VECTOR(2 DOWNTO 0)) ; </p><p> END COMPONENT; </p><p> COMPONENT StopCarmond6 --例化說明,汽車剎車,車燈閃爍,計時模塊</p><p> PORT( CP: IN STD_LOGIC;</p>
41、<p> Opencarcar: IN STD_LOGIC;</p><p> Lift,Right: IN STD_LOGIC;</p><p> L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p>
42、;<p> Q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0)) ; </p><p> END COMPONENT; </p><p><b> BEGIN</b></p><p> U1:Opencarmond6 PORT MAP(CP=>CP,O
43、pencarcar=>Opencarcar,L=>L,R=>R,Q=>Q);</p><p> U2:StopCarmond6 PORT MAP(CP=>CP,Opencarcar=>Opencarcar,Lift=>Lift,Right=>Right,L=>L,R=>R,Q=>Q);</p><p><b>
44、 END ;</b></p><p> --底層實體,汽車解鎖,車燈閃爍,計時模塊</p><p> --底層文件,模6 計時器</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL ;</p><p> USE IEEE.STD_
45、LOGIC_UNSIGNED.ALL ;</p><p> ENTITY Opencarmond6 IS</p><p> PORT( CP: IN STD_LOGIC;</p><p> Opencarcar: IN STD_LOGIC;</p><p> L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO
46、0);</p><p> R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> Q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0)) ; </p><p><b> END ; </b></p><p>
47、 ARCHITECTURE ONE OF Opencarmond6 IS</p><p><b> BEGIN</b></p><p> PROCESS (CP)</p><p><b> BEGIN</b></p><p> IF(CP'EVENT AND CP='0
48、')THEN --下降沿出觸發(fā)</p><p> IF Opencarcar='1'THEN --汽車解鎖,車燈閃爍。</p><p> IF Q<5 THEN </p><p><b> case Q is</b></p><p> when "000"=
49、></p><p><b> L<="111";</b></p><p><b> R<="111";</b></p><p> when "001"=></p><p><b> L<=&q
50、uot;000";</b></p><p><b> R<="000";</b></p><p> when "010"=></p><p><b> L<="000";</b></p><p>
51、;<b> R<="000";</b></p><p> when "011"=></p><p><b> L<="111";</b></p><p> R<="111"; </p
52、><p> when "100"=></p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when "101"=> &
53、lt;/p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when OTHERS =></p><p><b> Q<="101"
54、;;</b></p><p><b> end case;</b></p><p><b> Q<=Q+1;</b></p><p> ELSE Q<="000";</p><p><b> END IF;</b></p
55、><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p><b> END;</b></p><p> --底層實體,汽車控制系統(tǒng)實現(xiàn)汽車行駛,轉(zhuǎn)彎,汽
56、車剎車,車燈閃爍,計時模塊</p><p> --底層文件,模6 計時器</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL ;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL ;</p><p> ENTI
57、TY StopCarmond6 IS</p><p> PORT( CP: IN STD_LOGIC;</p><p> Opencarcar: IN STD_LOGIC;</p><p> Lift,Right: IN STD_LOGIC;</p><p> L: BUFFER STD_LOGIC_VECTOR(2 DOWNTO
58、 0);</p><p> R:BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> Q: BUFFER STD_LOGIC_VECTOR(2 DOWNTO 0)) ; </p><p><b> END ; </b></p><p>
59、 ARCHITECTURE ONE1 OF StopCarmond6 IS</p><p> SIGNAL adder :STD_LOGIC_VECTOR( 1 DOWNTO 0);</p><p><b> BEGIN</b></p><p> adder <= Lift & Right; --中間信號</p
60、><p> PROCESS( adder ,CP,Q) --進(jìn)程</p><p><b> BEGIN</b></p><p> IF(CP'EVENT AND CP='0')THEN --下降沿出觸發(fā)</p><p> IF Opencarcar='1' AND adder
61、 ="00" THEN --汽車向前行駛</p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><p> ELSIF Opencarcar='1' AND adder
62、 ="11"THEN --汽車剎車</p><p> IF Q<5 THEN </p><p><b> case Q is</b></p><p> when "000"=></p><p><b> L<="111";&
63、lt;/b></p><p><b> R<="111";</b></p><p> when "001"=></p><p><b> L<="000";</b></p><p><b> R&l
64、t;="000";</b></p><p> when "010"=></p><p><b> L<="000";</b></p><p><b> R<="000";</b></p><
65、;p> when "011"=></p><p><b> L<="111";</b></p><p> R<="111"; </p><p> when "100"=></p><p
66、><b> L<="000";</b></p><p><b> R<="000";</b></p><p> when "101"=> </p><p><b> L<="000";</b
67、></p><p><b> R<="000";</b></p><p> when OTHERS =></p><p><b> Q<="000";</b></p><p><b> end case;</b
68、></p><p><b> Q<=Q+1;</b></p><p> ELSE Q<="000";</p><p><b> END IF;</b></p><p> ELSIF Opencarcar='1' AND adder =&
69、quot;10"THEN --汽車左轉(zhuǎn)</p><p> if L="000"then</p><p><b> L<="001";</b></p><p><b> R<="000";</b></p><p>
70、 elsif ( L="001")then</p><p><b> L<="010";</b></p><p><b> R<="000";</b></p><p> elsif( L="010")then</p&g
71、t;<p><b> L<="100";</b></p><p><b> R<="000";</b></p><p> else L<="001";R<="000";</p><p><b&g
72、t; end if;</b></p><p> ELSIF Opencarcar='1' AND adder ="01"THEN --汽車右轉(zhuǎn)</p><p> if R="000"then</p><p><b> R<="100";</b>
73、</p><p><b> L<="000";</b></p><p> elsif ( R="100")then</p><p><b> R<="010";</b></p><p><b> L<=&
74、quot;000";</b></p><p> elsif( R="010")then</p><p><b> R<="001";</b></p><p><b> L<="000";</b></p><
75、;p> else R<="100";L<="000";</p><p><b> end if;</b></p><p><b> END IF;</b></p><p><b> END IF;</b></p><
76、p> END PROCESS;</p><p><b> END ;</b></p><p><b> 六、調(diào)試仿真</b></p><p> 七、課程設(shè)計回顧總結(jié)</p><p> 通過這次設(shè)計,進(jìn)一步加深了對EDA的了解,對它有了更加濃厚的興趣。特別是當(dāng)每一個子模塊編寫調(diào)試成功時
77、,心里特別的開心。但是在編寫程序時,遇到了不少問題,首先由于自己對于汽車的發(fā)動過程不是很了解,所以汽車解鎖與汽車鎖定方面存在誤區(qū),程序一直運(yùn)行不成功,在上網(wǎng)查詢汽車操作以及在同學(xué)幫助下,在細(xì)心的檢查下,終于找出了錯誤,排除困難后,程序編譯就通過了,仿真文件基本符合這次實驗要求。這次試驗總的來說,進(jìn)行的還算順利,但在調(diào)試過程中,也遇到了一些自己不能解決的問題,通過請教同學(xué),我明白解決的辦法,在這次試驗中,提高了整體設(shè)計和構(gòu)思的能力,原來在
78、學(xué)習(xí)過程中不明白的問題,在這次實習(xí)中通過自己操作有了進(jìn)一步的理解,在解決困難的過程中,有點(diǎn)小小的成就感,終于覺得平時所學(xué)的知識有了實用的價值,達(dá)到了理論與實際相結(jié)合的目的,不僅學(xué)到了不少知識,而且鍛煉了自己的能力,使自己對以后的路有了更加清楚的認(rèn)識,同時,對未來有了更多的信心。</p><p><b> 參 考 文 獻(xiàn)</b></p><p> 張興忠 數(shù)字
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車尾燈數(shù)字電子課程設(shè)計報告
- 汽車尾燈課程設(shè)計報告
- 數(shù)字邏輯課程設(shè)計----汽車尾燈控制電路
- 汽車尾燈課程設(shè)計
- 汽車尾燈課程設(shè)計
- 汽車尾燈設(shè)計課程設(shè)計報告
- 汽車尾燈課程設(shè)計
- 汽車尾燈課程設(shè)計
- 汽車尾燈課程設(shè)計
- 課程設(shè)計--汽車車尾燈
- 汽車尾燈課程設(shè)計vhdl
- 汽車尾燈控制課程設(shè)計
- protel課程設(shè)計 汽車尾燈
- eda汽車尾燈控制課程設(shè)計報告
- 數(shù)字鐘及汽車尾燈課程設(shè)計
- 汽車尾燈課程設(shè)計 (2)
- protel課程設(shè)計 汽車尾燈
- 汽車尾燈控制課程設(shè)計
- 汽車尾燈課程設(shè)計---汽車尾燈控制器的設(shè)計與制作
- 數(shù)字電路汽車尾燈課程設(shè)計實驗報告
評論
0/150
提交評論