




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)字系統(tǒng)與邏輯綜合實(shí)驗(yàn) 交通燈控制器 一 摘要隨著機(jī)動(dòng)車的不斷增多,道路復(fù)雜化加強(qiáng),突發(fā)事件頻繁,對(duì)交通燈控制器的要求也越來越高,本實(shí)驗(yàn)基于vhdl編程實(shí)現(xiàn)了自動(dòng)控制十字路口的智能交通燈和計(jì)時(shí)器,用來設(shè)立在十字路口指揮各種車輛和行人安全通行。對(duì)于交通等控制器的設(shè)計(jì)是分模塊自頂向下的設(shè)計(jì)思想,軟硬件結(jié)合來實(shí)現(xiàn)本設(shè)計(jì)。關(guān)鍵詞:交通燈 計(jì)時(shí)器 vhdl 模塊abstractwith the development of social traffic system, and the increase number of vehicle, the capability of traffic lights
2、 controller is more and more demanding. this experiment on basis of vhdl completes an auto traffic lights and a count-down-display to conduct vehicles and passerby safely. the design of this program is top-to-bottom and separated in three modules. software cooperates with hardware to achieve the fun
3、ction.keywords: traffic lights count-down vhdl module 二 設(shè)計(jì)任務(wù)要求與完成任務(wù)基本要求1. 南北和東西方向各有一組綠、黃、紅燈用于指揮交通,綠燈、黃燈和紅燈的持續(xù)時(shí)間分別為20秒、5秒和25秒;2. 當(dāng)有特殊情況(如消防車、救護(hù)車等)時(shí),兩個(gè)方向均為紅燈亮,計(jì)時(shí)停止,當(dāng)特殊情況結(jié)束后,控制器恢復(fù)原來狀態(tài),繼續(xù)正常運(yùn)行; 3. 用兩組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行或禁止通行的時(shí)間; 4. 選做:增加左、右轉(zhuǎn)彎顯示控制功能; 5. 選做:其它自擬功能。任務(wù)完成情況(1)基本功能實(shí)現(xiàn): 程序開始南北綠,東西紅;20秒后南北黃,東西紅;
4、5秒后南北紅,東西綠; 20秒后南北紅,東西黃;5秒后南北綠,東西紅。完成一次50秒計(jì)時(shí)循環(huán),進(jìn)入下一輪循環(huán)。(2)增加?xùn)|西、南北雙向左轉(zhuǎn)功能:南北綠前五秒允許南北左轉(zhuǎn)彎,轉(zhuǎn)彎燈亮,5秒后燈滅;東西綠前五秒允許東西左轉(zhuǎn)彎,轉(zhuǎn)彎燈亮,5秒后燈滅(3)全部復(fù)位功能:按下復(fù)位鍵恢復(fù)初始狀態(tài),南北綠,東西紅,重新開始計(jì)時(shí)循環(huán)三 總體框圖時(shí)鐘信號(hào)復(fù)位信號(hào)控 制 器 發(fā)光二極管的顯示 (交通燈) 數(shù)碼管的掃描 (選通輸出)緊急情況信號(hào) 數(shù)碼管的顯示 (倒計(jì)時(shí))四 分塊電路設(shè)計(jì)本設(shè)計(jì)包括:一個(gè)頂層文件jiaotongdeng.vhd 3個(gè)底層文件:分頻器fenpin.vhd; 控制模塊traffic.vhd
5、; 顯示模塊display.vhd各個(gè)模塊輸入輸出信號(hào)以及功能簡(jiǎn)介分頻模塊作用: 根據(jù)實(shí)驗(yàn)要求得出相應(yīng)的頻率輸入:實(shí)驗(yàn)板給出1mhz的時(shí)鐘輸出:1000 分頻得出的1khz的clk1k 用來為數(shù)碼管做選通輸出的掃描頻率1000000 分頻得出的1hz的clk1 交通燈倒計(jì)時(shí)以1s為單位控制模塊作用: 緊急情況實(shí)現(xiàn),交通燈狀態(tài)復(fù)位,交通燈狀態(tài)轉(zhuǎn)移,計(jì)數(shù)器,led和數(shù)碼管的顯示輸入:兩個(gè)分頻 clk1k clk1 reset 按下后返回初始狀態(tài)change 奇數(shù)次按下后進(jìn)入緊急情況 偶數(shù)次按下后恢復(fù)輸出:sel 5 downto 0 數(shù)碼管選通輸出lights 7 downto 0 發(fā)光二極管顯示
6、輸出num 9 downto 0 倒計(jì)時(shí)計(jì)數(shù)輸出到顯示模塊 顯示模塊作用: 7段數(shù)碼管顯示出東西南北兩路交通燈的倒計(jì)時(shí)數(shù)值輸入:num 9 downto 0 倒計(jì)時(shí)計(jì)數(shù)輸出到顯示模塊輸出: seg 6 downto 0 把0到9是個(gè)數(shù)字轉(zhuǎn)換成二進(jìn)制數(shù)送顯state=s1初始狀態(tài)10100001state=s500001100state=s600010100五 狀態(tài)轉(zhuǎn)移圖reset=1reset=1state=s200100001change=1change=1change=1change=1change=1state=s7 特殊情況00100100change=1state=s30010001
7、0state=s401001100六 程序流程圖count=50 state=s1東西紅,南北綠南北可左轉(zhuǎn)count=45 state=s2東西紅,南北綠南北不可左轉(zhuǎn)count=30 state=s3東西紅,南北黃count=25 state=s4東西綠,南北紅東西可左轉(zhuǎn)beginchange=1 ch=1 緊急情況count=count東西紅,南北紅change=1 ch=0 緊急情況結(jié)束reset=1count=count-1reset=1noyescount=20 state=s5東西綠,南北紅東西不可左轉(zhuǎn)count=5 state=s6東西黃,南北紅count=0count=count
8、-1count=count-1count=count-1count=count-1count=count-1count=count-1恢復(fù)原來狀態(tài)檢測(cè)緊急狀況count=count-1檢測(cè)緊急狀況檢測(cè)緊急狀況檢測(cè)緊急狀況檢測(cè)緊急狀況檢測(cè)緊急狀況檢測(cè)緊急狀況七 交通燈控制起源程序-頂層文件-library ieee; use ieee.std_logic_1164.all;entity jiaotongdeng isport(clk:in std_logic; -時(shí)鐘信號(hào) change,reset:in std_logic; -復(fù)位和緊急情況信號(hào) seg:out std_logic_vector
9、(6 downto 0); -7段數(shù)碼管顯示 sel:out std_logic_vector(5 downto 0); -選通輸出 lights:out std_logic_vector(7 downto 0);-led發(fā)光管輸出 clkout:out std_logic);end jiaotongdeng;architecture a of jiaotongdeng is -分別調(diào)用各個(gè)模塊signal cp1k,cp100,cp1:std_logic;signal number:integer range 0 to 9;component fenpin -分頻模塊 1k 100hz 1h
10、z port(clk:in std_logic; clk1k,clk100,clk1:out std_logic);end component;component traffic -交通燈控制模塊 緊急情況 狀態(tài)清零 左右轉(zhuǎn) port(clk1,clk1k:in std_logic; change,reset:in std_logic; num:out integer range 0 to 9; lights:out std_logic_vector(7 downto 0); sel:out std_logic_vector(5 downto 0);end component;componen
11、t display -led發(fā)光管 8段數(shù)碼管顯示 port(num:in integer range 0 to 9; seg:out std_logic_vector(6 downto 0);end component;begin -三個(gè)不同模塊u1:fenpin port map(clk,cp1k,cp100,cp1);u2:traffic port map(cp1,cp1k,change,reset,number,lights,sel);u3:display port map(number,seg);end;-分頻模塊-library ieee;-分頻器use ieee.std_logi
12、c_1164.all;use ieee.std_logic_unsigned.all;entity fenpin is port(clk:in std_logic; clk1k,clk100,clk1:out std_logic);end fenpin;architecture a of fenpin issignal count:integer range 0 to 999;signal count1:integer range 0 to 9;signal count2:integer range 0 to 99;signal m,n:std_logic;beginp1: process(c
13、lk) -1khz分頻 數(shù)碼管選通輸出使用 begin if(clkevent and clk=1)then if(count=999) then count=0; else count=count+1; end if; if(count499) then m=1; else m=0; end if; end if; end process;p2:process(m) -100hz分頻 擴(kuò)展功能使用 m來驅(qū)動(dòng) begin if(mevent and m=1) then if(count1=9)then count1=0; else count1=count1+1; end if; if(cou
14、nt14)then n=1; else n=0; end if; end if; end process;p3:process(n) -1hz分頻 倒計(jì)時(shí)使用 n來驅(qū)動(dòng) begin if(nevent and n=1)then if(count2=99)then count2=0; else count2=count2+1; end if; if(count249)then clk1=1; else clk1=0; end if; end if;end process;clk1k=m; clk100segsegsegsegsegsegsegsegsegsegseg=xxxxxxx; end c
15、ase; end process;end;-控制主模塊-library ieee; -交通燈控制use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity traffic is port(clk1,clk1k:in std_logic; change,reset:in std_logic; num:out integer range 0 to 9; lights:out std_logic_vector(7 downto 0); sel:out std_logic_vector(5 downto 0); end traf
16、fic;architecture a of traffic istype states is(s1,s2,s3,s4,s5,s6,s7);signal state:states;signal num1,num2,num3,num4:integer range 0 to 9;signal ch:std_logic:=0;signal count:integer range 1 to 50 :=1;beginu1:process(change)-緊急狀態(tài)按鍵 begin if(change=1)then -標(biāo)志位 ch=not ch; end if; end process;u2:process(
17、clk1,ch,reset)-計(jì)時(shí)器清零 恢復(fù)初始狀態(tài) begin if(clk1event and clk1=1)then if (reset=1) then count=50; else if(ch=1)then count=count; elsif(count=1)then count=50; else count=count-1; end if; end if; end if; end process;u3:process(ch,count)-根據(jù)時(shí)間來選擇交通燈狀態(tài)begin if(ch=1)then state=45)then state=s1; elsif(count=30)th
18、en state=s6; elsif(count=25)then state=s2; elsif(count=20) then state=s3; elsif(count=5) then state=s7; else statelightslightslightslightslightslightslights=00100100; 南北紅,東西紅 緊急狀態(tài) end case; end process;u4:process(ch,count)-倒計(jì)時(shí)技計(jì)數(shù) beginif count = 50 then 從50開始計(jì)數(shù) 遞減num1=2;num2=5;num3=2;num4=45 and cou
19、nt 50 then num1=2;num2=count-45;num3=1;num4=count-40;elsif (count=40) then num1=1;num2=count-35;num3=1;num4=count-40;elsif (count=35) then num1=1;num2=count-35;num3=0;num4=count-30;elsif (count=30) then num1=0;num2=count-25;num3=0;num4=count-30;elsif (count=25) then num1=0;num2=count-25;num3=0;num4=
20、count-25;elsif (count=20) then num1=1;num2=count-15;num3=2;num4=count-20;elsif (count=15) then num1=1;num2=count-15;num3=1;num4=count-10;elsif (count=10) then num1=0;num2=count-5;num3=1;num4=count-10;elsif (count=5) then num1=0;num2=count-5;num3=0;num4=count;else num1=0;num2=count;num3=0;num4num=num
21、1;temp:=1;selnum=num2;temp:=2;selnum=num3;temp:=3;selnum=num4;temp:=0;sel=111011; end case; end if; end process;end;八 總體電路圖及管角分布quartus實(shí)體圖管角分布九 資源利用率十 仿真波形交通燈正常運(yùn)行 紅綠燈從狀態(tài)s1:00100001開始 雙向左轉(zhuǎn)彎從01開始 無復(fù)位 reset=0無緊急情況 change=0復(fù)位鍵按下 reset=1恢復(fù)成初始狀態(tài)s1:00100001 南北綠 東西紅緊急狀態(tài)鍵按下 change=1進(jìn)入緊急情況 s7:00100100再次按下緊急狀況
22、鍵 恢復(fù)上一個(gè)狀態(tài)數(shù)碼管翻譯成二進(jìn)制數(shù)顯示十一 元件清單epm7128ls84-15 1 下載程序,實(shí)現(xiàn)功能穩(wěn)壓直流電源 4 提供下載所需環(huán)境 發(fā)光二極管 8 交通燈,紅綠燈和左右轉(zhuǎn)燈數(shù)碼管 4 顯示交通燈持續(xù)時(shí)間按鍵 2 緊急情況和復(fù)位十二 實(shí)驗(yàn)中遇到的困難與解決因?yàn)檫@是第一次做數(shù)字電路綜合實(shí)驗(yàn),以前只是用vhdl編過非?;镜男〕绦?,只能實(shí)現(xiàn)某個(gè)單獨(dú)的功能,所以當(dāng)要獨(dú)立完成一個(gè)比較大的而且代碼也很長(zhǎng)的程序時(shí)還是遇到了不少困難。1 剛開始編程的時(shí)候思路比較混亂,對(duì)分模塊編程的思路并不清晰,在查閱了參考實(shí)例之后有了比較深刻的了解,領(lǐng)悟了實(shí)例中各模塊功能不同被頂層文件調(diào)用來實(shí)現(xiàn)整體功能的概念2
23、reset和change按鈕的設(shè)計(jì)必須有標(biāo)志位,特別是緊急狀態(tài)按鍵change,否則程序無法判斷是第幾次按下,造成錯(cuò)誤,3開始時(shí)七段數(shù)碼管顯示時(shí)間不對(duì),出現(xiàn)亂碼,經(jīng)檢查發(fā)現(xiàn)譯碼錯(cuò)誤,修改譯碼后解決。4沒有設(shè)置管腳的元件亂閃爍的現(xiàn)象,影響實(shí)驗(yàn)效果,后來發(fā)現(xiàn)是沒有把不用的管腳設(shè)置為高阻態(tài)。經(jīng)過設(shè)置之后,閃爍的現(xiàn)象就消失了。5 數(shù)碼管顯示不連續(xù)后來提高了掃面選通頻率后因?yàn)轭l率過高,又出現(xiàn)了顯示數(shù)字發(fā)虛不清楚的情況,最后選定用1khz的頻率使得數(shù)碼管輸出正常。6在用源程序做仿真時(shí),紅綠燈一直沒有波形變化,最后得知是由于分頻的內(nèi)循環(huán)次數(shù),即一次分頻太高程序未予執(zhí)行有關(guān)。所以修改了源程序使元件都盡量使用了
24、主時(shí)鐘信號(hào),之后仿真正常。緊急狀態(tài)和復(fù)位鍵沒有反映出來,原因是reset和change時(shí)間太短,改正后仿真正常。在實(shí)驗(yàn)中遇到的問題不少但是通過仔細(xì)的檢查還有與同學(xué)的討論都可以比較輕松的把問題解決,只要認(rèn)真最后實(shí)驗(yàn)一定會(huì)順利完成的。十三 實(shí)驗(yàn)心得與體會(huì) 雖然這5周遇到了不少困難,但是還是通過努力完成了本學(xué)期的數(shù)字電路綜合設(shè)計(jì)實(shí)驗(yàn)交通燈控制器。通過這次實(shí)驗(yàn),我實(shí)現(xiàn)了設(shè)計(jì)交通燈控制器所要求的基本功能,并且有一些附加功能,獨(dú)立的開發(fā)了交通燈的程序和擴(kuò)展功能,并進(jìn)行了仿真與下載的軟硬件實(shí)現(xiàn)。在實(shí)驗(yàn)的過程中,經(jīng)歷了很多的困難,也遇到了一些麻煩,下面就自己所遇到的問題談一些實(shí)驗(yàn)的心得與體會(huì)。前期準(zhǔn)備:因?yàn)楸敬螌?shí)驗(yàn)是綜合性實(shí)驗(yàn),所以對(duì)上學(xué)期所學(xué)的vhdl語言
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)習(xí)生成果證明及在校表現(xiàn)報(bào)告(7篇)
- 海外留學(xué)工作經(jīng)歷證明(5篇)
- 2025年殘疾人公務(wù)員錄用考試公安專業(yè)科目試卷
- 2025年水處理自動(dòng)化系統(tǒng)項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告
- 分析制造業(yè)中質(zhì)量管理的關(guān)鍵要素
- 2025年征信考試題庫:征信市場(chǎng)監(jiān)管案例分析試題
- 養(yǎng)殖業(yè)魚苗供應(yīng)與銷售戰(zhàn)略合作協(xié)議
- 那場(chǎng)雨后的美景寫景作文7篇
- 共享辦公空間使用權(quán)協(xié)議
- 2025年會(huì)計(jì)職稱考試《初級(jí)會(huì)計(jì)實(shí)務(wù)》成本核算與管理重點(diǎn)難點(diǎn)全真試題
- 2024年研究生考試考研植物生理學(xué)與生物化學(xué)(414)試題與參考答案
- 天津市南開區(qū)2023-2024學(xué)年六年級(jí)下學(xué)期期末數(shù)學(xué)試題
- 公司招聘保安合同模板
- 2023-2024學(xué)年廣東省深圳市福田區(qū)七年級(jí)(下)期末數(shù)學(xué)答案
- 老年患者術(shù)后譫妄護(hù)理
- 2023年貴州遵義四中自主招生考試語文試卷真題(精校打印版)
- MAM6090空壓 機(jī)微電腦控制器說明書
- 北師大版八年級(jí)數(shù)學(xué)下冊(cè)??碱}專練專題18平行四邊形中的周長(zhǎng)和面積問題(原卷版+解析)
- 探監(jiān)證明樣本范文(篇一)
- 2023-2024學(xué)年年北京市懷柔區(qū)八年級(jí)初二(下)期末道德與法治試卷(含答案)
- 山東省濟(jì)寧市曲阜市2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試題
評(píng)論
0/150
提交評(píng)論