數(shù)電_電子課設(shè)__交通燈信號(hào)燈課程設(shè)計(jì)_第1頁(yè)
數(shù)電_電子課設(shè)__交通燈信號(hào)燈課程設(shè)計(jì)_第2頁(yè)
數(shù)電_電子課設(shè)__交通燈信號(hào)燈課程設(shè)計(jì)_第3頁(yè)
數(shù)電_電子課設(shè)__交通燈信號(hào)燈課程設(shè)計(jì)_第4頁(yè)
數(shù)電_電子課設(shè)__交通燈信號(hào)燈課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、設(shè)計(jì)課題:交通信號(hào)燈控制器 學(xué)院:電氣與信息工程學(xué)院專業(yè):電氣工程及其自動(dòng)化班級(jí):學(xué)號(hào):姓 名:目錄一、設(shè)計(jì)任務(wù)及技術(shù)要求21.設(shè)計(jì)任務(wù)22.設(shè)計(jì)要求3二、系統(tǒng)分析與總體方案31.系統(tǒng)分析32.使用FPGA和VHDL的優(yōu)點(diǎn)53.設(shè)計(jì)的總體方案7三、電路與模塊91.交通燈的主程序模塊102.頻率轉(zhuǎn)換模塊10四、程序111.交通燈的主程序模塊的VHDL語(yǔ)言程序 122.頻率轉(zhuǎn)換模塊的VHDL語(yǔ)言程序 16五、心得體會(huì)19六、參考文獻(xiàn)20七、教師評(píng)語(yǔ)21一、設(shè)計(jì)任務(wù)及技術(shù)要求設(shè)計(jì)一個(gè)十字路口兩道路的交通燈控制器,兩道路交替通行。由主干道A和支干道B的匯合點(diǎn)形成十字交叉路口,在交叉路口的-每個(gè)入口處設(shè)

2、置有紅,黃,綠三色信號(hào)燈。1. 設(shè)計(jì)任務(wù): 用紅,綠,黃三色發(fā)光二極管作信號(hào)燈,主干道A為南北向,設(shè)紅,黃,綠三色燈為AR,AY,AG,支干道B為東西向,三色燈為BR,BY,BG。 主干道車輛較多,所以亮綠燈的時(shí)間為50s,支干道亮綠燈的時(shí)間為30s,當(dāng)主干道允許通行亮綠燈的時(shí)候支干道亮紅燈,相反,支干道允許通行的時(shí)候主干道亮紅燈。每次由綠燈轉(zhuǎn)變?yōu)榧t燈的時(shí)候,其間要亮5s的黃燈作為過渡,以便行駛中的車輛有時(shí)間停到禁止線以內(nèi)。 交通燈正常運(yùn)行時(shí),用四位數(shù)碼管M1,M2,M3,M4顯示主干道和支干道的倒計(jì)時(shí)時(shí)間,M1M2顯示主干道在當(dāng)前狀態(tài)的剩余時(shí)間;M3M4顯示支干道在當(dāng)前狀態(tài)的剩余時(shí)間。 能實(shí)

3、現(xiàn)系統(tǒng)清0,清0后計(jì)數(shù)器由初始狀態(tài)開始計(jì)數(shù),指示燈指示主干道亮綠燈。 具有一定的擴(kuò)展功能:它能實(shí)現(xiàn)特殊狀態(tài)的功能顯示,用開關(guān)S作為特殊信號(hào)傳感器,S為1時(shí)進(jìn)入特殊狀態(tài)并實(shí)現(xiàn)下列特殊狀態(tài)功能:A顯示器M1M2M3M4閃爍,即全在0和當(dāng)前計(jì)時(shí)時(shí)間中交替顯示。B計(jì)數(shù)器停止計(jì)數(shù)并保持原來(lái)的時(shí)間數(shù)據(jù)。C東西,南北方向的三色燈全顯示紅色狀態(tài)。D特殊狀態(tài)解除后能繼續(xù)返回工作狀態(tài)。 2. 設(shè)計(jì)要求: 分析任務(wù),擬定多種方案,根據(jù)當(dāng)時(shí)的制作條件,選擇一種方案繪制系統(tǒng)框圖和設(shè)計(jì)流程。 設(shè)計(jì)部分單元電路或編寫VHDL描述程序。計(jì)算元件參數(shù),確定元器件型號(hào)和數(shù)量,提出元器件清單。 安裝調(diào)試硬件電路,或制作CPLD/F

4、PGA為基礎(chǔ)的專用集成電路芯片ASIC。 對(duì)制作的電路進(jìn)行功能測(cè)試,分析各項(xiàng)計(jì)數(shù)指標(biāo),或?qū)υO(shè)計(jì)的電路進(jìn)行功能仿真,分析仿真波形。 總結(jié)設(shè)計(jì)資料,打印包括原理圖仿真波形的設(shè)計(jì)報(bào)告,校驗(yàn)并演示電路裝置。二、系統(tǒng)分析與總體方案1.系統(tǒng)分析通過分析可以知道,所要求設(shè)計(jì)的十字路口交通燈控制電路要能夠使南北、東西各三個(gè)燈(綠,黃,紅),能夠按順序依次亮滅。紅燈亮表示禁止通行,綠燈亮表示可以通行,在綠燈變紅燈時(shí)先要求黃燈亮幾秒鐘,以便讓停車線以外的車輛停止運(yùn)行。因?yàn)橹鞲傻郎系能囕v多,所以主干道放行的時(shí)間要長(zhǎng)。因此可以得到路口交通燈系統(tǒng)示意圖如圖1所示。圖1路口交通燈系統(tǒng)示意圖主干道車輛較多,所以亮綠燈的時(shí)間

5、為50s,支干道亮綠燈的時(shí)間為30s,當(dāng)主干道允許通行亮綠燈的時(shí)候支干道亮紅燈,相反,支干道允許通行的時(shí)候主干道亮紅燈。每次由綠燈轉(zhuǎn)變?yōu)榧t燈的時(shí)候,其間要亮5s的黃燈作為過渡,以便行駛中的車輛有時(shí)間停到禁止線以內(nèi)。還要求三種燈的點(diǎn)亮?xí)r間能夠以倒計(jì)時(shí)的形式顯示出來(lái)。可以用VHDL語(yǔ)言合理設(shè)計(jì)系統(tǒng)功能,使紅黃綠燈的轉(zhuǎn)換有一個(gè)準(zhǔn)確的時(shí)間間隔和轉(zhuǎn)換順序。分析可得狀態(tài)順序與燈亮對(duì)應(yīng)表以及交通燈控制狀態(tài)圖。綠燈黃燈紅燈 態(tài)序(S1 S0) 主干道(A)支干道(B)亮燈時(shí)間1 (0 0)黃燈亮紅燈亮5s 2 (0 1)紅燈亮綠燈亮30s 3 (1 0)紅燈亮黃燈亮5s 4 (1 1)綠燈亮紅燈亮50s 表1

6、狀態(tài)順序與燈亮對(duì)應(yīng)表5S未到,保持原來(lái)狀態(tài)5S到,轉(zhuǎn)下一狀態(tài) 50S未到,保持原來(lái)狀態(tài)50S到,轉(zhuǎn)下一狀態(tài)11狀態(tài)AG,BR01狀態(tài)AR,BG30S未到,保持原來(lái)狀態(tài)30S到,轉(zhuǎn)下一狀態(tài)00狀態(tài)AY,BR5S未到,保持原來(lái)狀態(tài)5S到,轉(zhuǎn)下一狀態(tài)10狀態(tài)AR,BY 圖2交通燈控制狀態(tài)圖2.使用FPGA和VHDL的優(yōu)點(diǎn) 交通燈控制器的設(shè)計(jì)是數(shù)字電路教學(xué)中的經(jīng)典問題,傳統(tǒng)的設(shè)計(jì)方法是基于中、小規(guī)模集成電路進(jìn)行的,采用的電路原件多、接線復(fù)雜、故障率高、可靠性低,修改電路的功能就要修改硬件電路,在教學(xué)上費(fèi)時(shí)、費(fèi)力還不容易調(diào)試,成功率極低。隨著電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)的發(fā)展,在線可編程邏輯器件的出現(xiàn),

7、使實(shí)驗(yàn)室中制作專用集成電路成為可能。我們用FPGA作為設(shè)計(jì)載體,以硬件描述語(yǔ)言(VHDL)作為系統(tǒng)設(shè)計(jì)的主要表達(dá)手段,以計(jì)算機(jī)、大規(guī)??删幊唐骷拈_發(fā)以及開發(fā)實(shí)驗(yàn)系統(tǒng)為設(shè)計(jì)工具,使得我們?cè)趯?shí)驗(yàn)室就可以制作專用集成電路。使用基于FPGA的方法具有周期短、使用靈活、易于修改的優(yōu)點(diǎn)。而且,隨著FPGA器件,設(shè)計(jì)語(yǔ)言和電子設(shè)計(jì)自動(dòng)化的工具發(fā)展和改進(jìn),越來(lái)越多的電子系統(tǒng)采用FPGA來(lái)設(shè)計(jì)。未來(lái)使用FPGA器件設(shè)計(jì)的產(chǎn)品將出現(xiàn)在各個(gè)領(lǐng)域。因此此次的交通燈控制器將基于FPGA的設(shè)計(jì)方案來(lái)實(shí)現(xiàn)所需要的功能。與傳統(tǒng)的自底向上的設(shè)計(jì)方法不同,VHDL設(shè)計(jì)是從系統(tǒng)的總體需求出發(fā),采用自頂向下的設(shè)計(jì)方法。其程序結(jié)構(gòu)特

8、點(diǎn)是將一項(xiàng)工程設(shè)計(jì)或設(shè)計(jì)實(shí)體分成外部(即端口)和內(nèi)部(即功能和算法)。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部端口后,一旦內(nèi)部開發(fā)完成,其他設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。VHDL語(yǔ)言設(shè)計(jì)的過程一般如下:代碼編寫,由綜合器綜合成門級(jí)網(wǎng)表,前仿真/功能仿真,裝備、布線至某一類CPLD/FPGA。此次設(shè)計(jì)所用VHDL設(shè)計(jì)平臺(tái)是Altium Designer。Altium Designer界面友好,使用便捷。3. 設(shè)計(jì)的總體方案 設(shè)計(jì)過程:設(shè)計(jì)采用自上而下的設(shè)計(jì)方法,首先根據(jù)交通燈控制系統(tǒng)的功能要求,將功能要求轉(zhuǎn)化成系統(tǒng)狀態(tài)圖,然后再對(duì)系統(tǒng)進(jìn)行模塊的劃分、 各個(gè)模塊的I/O端口及其具體功能,本系統(tǒng)共兩個(gè)模塊,分別是交

9、通燈主程序模塊和頻率轉(zhuǎn)換模塊。然后對(duì)各個(gè)模塊用VHDL語(yǔ)言編程、編輯以及功能仿真,檢查所編程序是否正確。如果正確則生成圖形文件;如果出現(xiàn)錯(cuò)誤,則要修改到正確為止。設(shè)計(jì)出交通燈結(jié)構(gòu)方框圖如圖3圖3交通燈控制器原理框圖所示在VHDL設(shè)計(jì)描述中,采用自頂向下的設(shè)計(jì)思路,首先要描述頂層的接口,上面的描述已經(jīng)規(guī)定了交通燈控制的輸入輸出信號(hào):輸入信號(hào):外部時(shí)鐘信號(hào)clk。LED在自頂向下的VHDL設(shè)計(jì)描述中,通常把整個(gè)設(shè)計(jì)的系統(tǒng)劃分為幾個(gè)模塊,然后采用結(jié)構(gòu)描述方式對(duì)整個(gè)系統(tǒng)進(jìn)行描述。通過上面的分析,不難得知可以把交通燈控制系統(tǒng)劃分為3個(gè)模塊:時(shí)鐘分頻模塊,交通燈控制及計(jì)時(shí)模塊,掃描顯示模塊。 如圖4.CL

10、K時(shí)鐘分頻模塊交通燈控制以及計(jì)數(shù)模塊掃描顯示模塊LED顯示數(shù)碼管位碼數(shù)碼管段碼圖4時(shí)鐘分頻模塊:分頻器是一個(gè)把時(shí)鐘信號(hào)通過計(jì)數(shù)器根據(jù)時(shí)間片段分為幾個(gè)輸出信號(hào)的設(shè)備。輸入較高頻率脈沖用分頻電路的到較第頻率的時(shí)鐘信號(hào),用于觸發(fā)控制器、計(jì)數(shù)器和掃描顯示電路。本電路通過二次分頻分別得到1Hz的時(shí)鐘信號(hào)。交通燈控制以及計(jì)時(shí)模塊:狀態(tài)控制器的作用是根據(jù)計(jì)數(shù)器的計(jì)數(shù)值控制發(fā)光二極管的亮、滅,當(dāng)計(jì)時(shí)時(shí)間到達(dá),狀態(tài)控制器就響應(yīng),自動(dòng)跳轉(zhuǎn)到下一個(gè)狀態(tài)。以及輸出倒計(jì)時(shí)數(shù)值給七段譯碼管的分位譯碼電路。此外,當(dāng)檢測(cè)到特殊信號(hào)時(shí),執(zhí)行特殊控制,則東西南北都亮紅燈,在這種狀態(tài)下原來(lái)的狀態(tài)必須保持,即東西南北定時(shí)時(shí)間保持不變

11、,恢復(fù)后繼續(xù)計(jì)時(shí),同時(shí)恢復(fù)東西南北原來(lái)的狀態(tài)。下一個(gè)時(shí)鐘沿回復(fù)到0,開始下一輪計(jì)數(shù)。此外,當(dāng)檢測(cè)到特殊情況發(fā)生時(shí),計(jì)數(shù)器暫停計(jì)數(shù)。而系統(tǒng)復(fù)位信號(hào)RESET則使計(jì)數(shù)器異步清零。掃描顯示模塊:根據(jù)狀態(tài)控制器所控制的狀態(tài)和計(jì)數(shù)器的計(jì)時(shí)時(shí)間,選擇當(dāng)前狀態(tài)下的顯示器,使顯示器輸出當(dāng)前狀態(tài)下的數(shù)碼管亮、滅指令。因?yàn)榭刂破鬏敵龅牡褂?jì)時(shí)數(shù)值可能是1位或者2位十進(jìn)制數(shù),所以在七段數(shù)碼管的譯碼電路前要加上分位電路(即將其分為2個(gè)1位的十進(jìn)制數(shù))。七段數(shù)碼管的譯碼電路根據(jù)控制電路的控制信號(hào),驅(qū)動(dòng)交通燈的顯示,通過輸入二進(jìn)制數(shù)值,輸出信號(hào)點(diǎn)亮二極管,我們用的是共陰極數(shù)碼管,因此譯碼電路輸出邏輯數(shù)值1點(diǎn)亮二極管,譯碼電

12、路輸出邏輯數(shù)值0熄滅二極管。三、電路與模塊 圖4交通燈控制器設(shè)計(jì)電路圖1. 交通燈主程序模塊 本模塊是交通燈的主程序,執(zhí)行交通燈的正常功能。包括交通燈特殊狀態(tài)的實(shí)現(xiàn)以及復(fù)位的實(shí)現(xiàn)。當(dāng)檢測(cè)到特殊信號(hào)時(shí),執(zhí)行特殊控制,則東西南北都亮紅燈,在這種狀態(tài)下原來(lái)的狀態(tài)必須保持,即東西南北定時(shí)時(shí)間保持不變,恢復(fù)后繼續(xù)計(jì)時(shí),同時(shí)恢復(fù)東西南北原來(lái)的狀態(tài)。同時(shí)使交通燈在S0S1S2S3四個(gè)狀態(tài)中轉(zhuǎn)換,并變換相應(yīng)的顏色以及倒計(jì)時(shí)時(shí)間值。仿真波形圖:2.頻率轉(zhuǎn)換模塊 本模塊主要是將10MHZ分頻,產(chǎn)生穩(wěn)定的輸出信號(hào),將前一級(jí)信號(hào)轉(zhuǎn)換為四位地址以及八位ASCII碼,并將其用做后面幾個(gè)電路的控制與同步信號(hào)。 仿真波形圖:

13、 1.、復(fù)位2、緊急狀態(tài)3、一般狀態(tài)四、程序(VHDL語(yǔ)言)1.交通燈的主程序模塊的VHDL語(yǔ)言程序 library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_unsigned.ALL;use IEEE.STD_LOGIC_arith.ALL;entity jiaotongdeng is Port ( R ,CLK: in STD_LOGIC; -復(fù)位("1“有效)及時(shí)鐘輸入 EMERGE : in STD_LOGIC;-緊急狀態(tài)輸入,1有效 EWRYG:out STD_LOGIC_VECTOR (2 downto 0);

14、-東西向狀態(tài)輸出,順序?yàn)榧t黃綠 SNRYG:out STD_LOGIC_VECTOR (2 downto 0); -南北向狀態(tài)輸出,順序?yàn)榧t黃綠 EW :out STD_LOGIC_VECTOR (7 downto 0); -東西向兩位BCD碼計(jì)數(shù)輸出 SN :out STD_LOGIC_VECTOR (7 downto 0) -南北向兩位BCD碼計(jì)數(shù)輸出 );end jiaotongdeng;architecture Behavioral of jiaotongdeng issignal cnt,atime,aregtime,btime,bregtime,EWH,EWL,SNH,SNL:in

15、teger range 0 to 90; beginprocess(clk,emerge,r) -由復(fù)位端及緊急狀態(tài)控制大計(jì)數(shù)循環(huán)的置數(shù),暫?;驕p一操作 begin if(R='1') then cnt<=90; elsif(rising_edge(clk) then if(cnt=0) then cnt<=90; elsif (emerge='1') then cnt<=cnt ; else cnt<=cnt-1; end if; end if; end process;a:process(clk) -東西向倒計(jì)時(shí)二進(jìn)制碼輸出控制以及東

16、西南北向狀態(tài)燈顏色控制variable p :integer range 0 to 1 ; begin if(rising_edge(clk) then if(emerge='1') then -緊急狀態(tài)時(shí)狀態(tài)燈全置紅,東西向倒計(jì)數(shù)在當(dāng)前狀態(tài)跟全零間交替顯示 EWRYG<="100" SNRYG<="100" ; if(p=0) then p:=1; atime<=aregtime; else p:=p-1; atime<=0; end if; else if(cnt>=40 ) then aregtime

17、<= cnt-40; EWRYG <="001" SNRYG <="100" elsif(cnt>=35) then aregtime<=cnt-35; EWRYG<="010" SNRYG<="100" elsif (cnt>=0) then aregtime<=cnt-0; if(cnt>=5) then EWRYG<="100" SNRYG<="001" else EWRYG<="1

18、00" SNRYG<="010" end if; end if; atime<=aregtime; end if; end if;end process;b:process(clk) -南北向二進(jìn)制碼倒計(jì)時(shí)輸出控制variable q :integer range 0 to 1 ; begin if(rising_edge(clk) then if(emerge='1') then -緊急狀態(tài)時(shí)南北向到計(jì)數(shù)在全零跟當(dāng)天狀態(tài)間交替顯示 if(q=0) then q:=1; btime<=bregtime; else q:=q-1;

19、btime<=0; end if; else if(cnt>=35) then bregtime <= cnt-35; elsif(cnt>=5) then bregtime <= cnt-5; elsif (cnt>=0) then bregtime <= cnt-0; end if; btime<=bregtime; end if; end if;end process;process(atime) -將東西向二進(jìn)制碼轉(zhuǎn)換成兩位BCD碼 begin if(atime>=90) then EWH <=9; EWL<=atime

20、-90; elsif (atime>=80) then EWH <=8; EWL<=atime-80; elsif (atime>=70) then EWH <=7; EWL<=atime-70; elsif (atime>=60) then EWH <=6; EWL<=atime-60; elsif (atime>=50) then EWH<=5; EWL<=atime-50; elsif (atime>=40) then EWH <=4; EWL<=atime-40; elsif (atime>

21、=30) then EWH<=3; EWL<=atime-30; elsif (atime>=20) then EWH<=2; EWL<=atime-20; elsif (atime>=10) then EWH<=1; EWL<=atime-10; else EWH<=0; EWL<=atime;end if; end process;with EWH selectEW(7 downto 4) <= "1001" when 9, "1000" when 8, "0111"

22、; when 7,"0110" when 6, "0101" when 5, "0100" when 4, "0011" when 3, "0010" when 2, "0001" when 1, "0000" when 0, "0000" when others;with EWL selectEW(3 downto 0) <= "1001" when 9, "1000" when 8, &

23、quot;0111" when 7,"0110" when 6, "0101" when 5, "0100" when 4, "0011" when 3, "0010" when 2, "0001" when 1, "0000" when 0, "0000" when others;process(btime) -將南北向七位二進(jìn)制碼裝換成兩位BCD碼輸出 begin if(btime>=90) then SNH <

24、;=9; SNL<=btime-90; elsif (btime>=80) then SNH <=8; SnL<=btime-80; elsif (btime>=70) then SNH <=7; SNL<=btime-70; elsif (btime>=60) then SNH <=6; SNL<=btime-60; elsif (btime>=50) then SNH<=5; SNL<=btime-50; elsif (btime>=40) then SNH <=4; SNL<=btime-40

25、; elsif (btime>=30) then SNH<=3; SNL<=btime-30; elsif (btime>=20) then SNH<=2; SNL<=btime-20; elsif (btime>=10) then SNH<=1; SNL<=btime-10; else SNH<=0; SNL<=btime;end if; end process; with SNH selectSN(7 downto 4) <= "1001" when 9, "1000" when

26、 8, "0111" when 7,"0110" when 6, "0101" when 5, "0100" when 4, "0011" when 3, "0010" when 2, "0001" when 1, "0000" when 0, "0000" when others;with SNL selectSN(3 downto 0) <= "1001" when 9, "1

27、000" when 8, "0111" when 7,"0110" when 6, "0101" when 5, "0100" when 4, "0011" when 3, "0010" when 2, "0001" when 1, "0000" when 0, "0000" when others; end Behavioral;2.頻率轉(zhuǎn)換模塊的VHDL語(yǔ)言程序-File name JTDLCD- 目的

28、:在LCD上按格式顯示交通燈的2個(gè)2位BCD碼,紅綠黃燈-輸入:EW7.0、SN7.0 東西、南北向的2個(gè)2位BCD碼-EWRYG2.0、SNRYG2.0東西南北的紅綠燈信號(hào),順序?yàn)榧t黃綠-CPIN 時(shí)鐘脈沖輸入 按10MHz設(shè)計(jì) ;復(fù)位RLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity JTDLCD is port (CPIN,R,BUSY :IN STD_LOGIC; EW,SN :IN STD_LOGIC_VECTOR(7 DOWNTO 0); EWRYG,SNRYG : IN

29、STD_LOGIC_VECTOR(2 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 JTDLCD is TYPE STATES IS (S0,S1,S2,S3,S4); SIGNAL S: STATES; SIGNAL LCDPT : INTEGER RANGE 0 TO 10; SIGNAL CPCT : IN

30、TEGER 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 CPCT<=CPCT-1; END IF;END IF;

31、END PROCESS; -分頻為500US周期-主進(jìn)程:擬采用500us時(shí)鐘,即在500us后完成狀態(tài)轉(zhuǎn)換,修改LCDPT指針-S0:初始狀態(tài),在R=1時(shí),處于S0狀態(tài),LCDPT=0- 流程: 輸出rst=1, 轉(zhuǎn)S1-S1:輸出RST=0;判斷BUSY=0? :Y: LCDPT+1;LCDPT到固定最后?:N: ->S2 - :Y: 轉(zhuǎn)S3- ;N; NULL-S2:給出STROBE信號(hào)。轉(zhuǎn)S1-S1,S2完成初始化固定顯示的功能PROCESS(CP,R)BEGINIF R='1' THEN S<=S0;LCDPT<=0;RST<='1&#

32、39;ELSIF CP='1' AND CP 'EVENT THEN CASE S IS WHEN S0=> S<=S1;LCDPT<=0;RST<='1' WHEN S1=> RST<='0'STROBE<='0' IF BUSY='0' THEN LCDPT<=LCDPT+1; IF LCDPT=5 THEN S<=S3; ELSE S<=S2; END IF; END IF; WHEN S2=> S<=S1;STROBE<=

33、'1' -S3S4完成掃描顯示功能-S3:BUSY=0? :Y: LCDPT循環(huán)+1 ,轉(zhuǎn)S4-S4:給出STROBE信號(hào),轉(zhuǎn)S3 WHEN S3=> STROBE<='0' IF BUSY='0' THEN IF LCDPT=10 THEN LCDPT<=5; ELSE LCDPT<=LCDPT+1; END IF; S<=S4; END IF; WHEN S4=> STROBE<='1'S<=S3; WHEN OTHERS=> NULL; END CASE;END IF;

34、END PROCESS;-選擇輸出進(jìn)程(LCDPT)-LCDPT=0,NULL- =14 顯示EW SN E 45H,5 W57H,6 S53H,9 N4EH,10PROCESS(LCDPT,EW,ASCEW,SN,ASCSN)BEGINCASE LCDPT ISWHEN 0 => NULL;WHEN 1=> DATA<="01000101"ADDR<="0101"OUTLINE<='0'WHEN 2=> DATA<="01010111"ADDR<="0110&

35、quot;OUTLINE<='0'WHEN 3=> DATA<="01010011"ADDR<="1001"OUTLINE<='0'WHEN 4=> DATA<="01001110"ADDR<="1010"OUTLINE<='0' -LCDPT=5,6 EWBCD碼 EH,5 EL,6-LCDPT=7 EW 紅綠燈 R,4-LCDPT=89 SNBCD碼 SH,9 SL,10-LCDPT=10 SN 紅綠燈。 G,

36、8 R52H;Y59H;G47HWHEN 5=>DATA<="0011"&EW(7 DOWNTO 4);ADDR<="0101"OUTLINE<='1'WHEN 6=>DATA<="0011"&EW(3 DOWNTO 0);ADDR<="0110"OUTLINE<='1'WHEN 7=>DATA<=ASCEW;ADDR<="0100"OUTLINE<='1'WH

37、EN 8=>DATA<="0011"&SN(7 DOWNTO 4);ADDR<="1001"OUTLINE<='1'WHEN 9=>DATA<="0011"&SN(3 DOWNTO 0);ADDR<="1010"OUTLINE<='1'WHEN 10=>DATA<=ASCSN;ADDR<="1000"OUTLINE<='1'WHEN OTHERS=> NU

38、LL;END CASE;END PROCESS;PROCESS(EWRYG)BEGINCASE EWRYG ISWHEN "100" => ASCEW<="01010010"WHEN "010" => ASCEW<="01011001"WHEN "001" => ASCEW<="01000111"WHEN OTHERS=> NULL;END CASE;END PROCESS;PROCESS(SNRYG)BEGINCASE SNRYG

39、ISWHEN "100" => ASCSN<="01010010"WHEN "010" => ASCSN<="01011001"WHEN "001" => ASCSN<="01000111"WHEN OTHERS=> NULL;END CASE;END PROCESS; end architecture JGT;3.蜂鳴器模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_lo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論