新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設(shè)計(jì)應(yīng)用 > 汽車(chē)尾燈VHDL設(shè)計(jì)

汽車(chē)尾燈VHDL設(shè)計(jì)

作者: 時(shí)間:2011-05-01 來(lái)源:網(wǎng)絡(luò) 收藏

設(shè)計(jì)

標(biāo)簽/分類(lèi):

本文引用地址:http://butianyuan.cn/article/197462.htm

1.系統(tǒng)設(shè)計(jì)要求
用6個(gè)發(fā)光管模擬6個(gè)(左右各3個(gè)),用4個(gè)開(kāi)關(guān)作為汽車(chē)控制信號(hào),分別為:左拐、右拐、故障和剎車(chē)。
車(chē)勻速行駛時(shí),6個(gè)全滅;右拐時(shí),車(chē)右邊3個(gè)尾燈從左至右順序亮滅;左拐時(shí),車(chē)左邊3個(gè)尾燈從右至左順序亮滅;故障時(shí)車(chē)6個(gè)尾燈一起明滅閃爍;剎車(chē)時(shí),6個(gè)尾燈全亮
2.系統(tǒng)設(shè)計(jì)方案
根據(jù)系統(tǒng)設(shè)計(jì)要求,采用自頂向下設(shè)計(jì)方法,頂層設(shè)計(jì)采用原理圖設(shè)計(jì),它由主控模塊、左邊燈控制模塊和右邊燈控制模塊三部分組成。
3參考源程序
(1) 主控制模塊
說(shuō)明:此程序?yàn)橄到y(tǒng)主控制模塊。當(dāng)左轉(zhuǎn)時(shí),lft信號(hào)有效;右轉(zhuǎn)時(shí),rit信號(hào)有效;當(dāng)左右信號(hào)都有效的時(shí),lr有效。
libraryieee;
useieee.std_logic_1164.all;
entitykzis
port(left,right:instd_logic;
lft,rit,lr:outstd_logic);
endkz;
architecturekz_arcofkzis
begin
process(left,right)
variablea:std_logic_vector(1downto0);
begin
a:=leftright;
caseais
when00=>lft='0';
rit='0';
lr='0';
when10=>lft='1';
rit='0';
lr='0';
when01=>rit='1';
lft='0';
lr='0';
whenothers=>rit='1';
lft='1';
lr='1';
endcase;
endprocess;
endkz_arc;

(2)左邊燈控制模塊
說(shuō)明:此模塊的功能是當(dāng)左轉(zhuǎn)時(shí)控制左邊的3個(gè)燈,當(dāng)左右信號(hào)都有效時(shí),輸出為全“1”。
libraryieee;
useieee.std_logic_1164.all;
entitylftais
port(en,clk,lr:instd_logic;
l2,l1,l0:outstd_logic);
endlfta;
architecturelft_arcoflftais
begin
process(clk,en,lr)
variabletmp:std_logic_vector(2downto0);
begin
iflr='1'then
tmp:=111;
elsifen='0'then
tmp:=000;
elsifclk'eventandclk='1'then
iftmp=000then
tmp:=001;
else
tmp:=tmp(1downto0)'0';
endif;
endif;
l2=tmp(2);
l1=tmp(1);
l0=tmp(0);
endprocess;
endlft_arc;

(2) 右邊燈控制模塊
說(shuō)明:此模塊的功能是控制右邊的3個(gè)燈,與上面模塊相似。
libraryieee;
useieee.std_logic_1164.all;
entityritais
port(en,clk,lr:instd_logic;
r2,r1,r0:outstd_logic);
endrita;
architecturerit_arcofritais
begin
process(clk,en,lr)
variabletmp:std_logic_vector(2downto0);
begin
iflr='1'then
tmp:=111;
elsifen='0'then
tmp:=000;
elsifclk'eventandclk='1'then
iftmp=000then
tmp:=100;
else
tmp:='0'tmp(2downto1);
endif;
endif;
r2=tmp(2);
r1=tmp(1);
r0=tmp(0);

endprocess;
endrit_arc;


關(guān)鍵詞: VHDL 汽車(chē)尾燈

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉