freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vhdl語言的交通燈設計說明書(已修改)

2025-05-23 19:03 本頁面
 

【正文】 長沙民政職業(yè)技術(shù)學院 課程設計報告 基于 VHDL 的交通燈設計 課程 : 片上可編程系統(tǒng)編程與調(diào)試 系別:電子信息工程系 專業(yè):應用電子技術(shù) 指導老師:張 老師 完成時間: 2021 年 06月 12日 摘要 隨著社會上特別是城市中機動車輛保有量的不斷增加 ,在現(xiàn)代城市的日常運行控制中,車輛的交通控制越來越重要,在十字交叉路口,越來越多的使用紅綠燈進行交通指揮和管理。本文以 VHDL硬件描述語言為設計手段,完成了交通信號燈控制電路的設計,其中交通信號燈控制電路的開發(fā)目的是設計一個適用于主、支干道十字交叉路口的 紅黃綠交通燈的控制系統(tǒng),通過合理設計系統(tǒng)功能,使紅黃綠燈的轉(zhuǎn)換有一個準確的時間間隔和轉(zhuǎn)換順序。所設計的交通信號燈控制電路經(jīng)過在 QuartusⅡ ,觀察其波形,證明所設計的交通信號燈控制電路完全可以實現(xiàn)預定的功能,并有一定的實用性。 關(guān)鍵詞: FPGA。 VHDL。 QuartusⅡ 。 交通燈 一、 設計思路 本設計主要是利 用狀態(tài)機控制 , 交通燈的工作分成 5個狀態(tài),如下 : St0:支干道亮紅燈,主干道亮綠燈,數(shù)碼管不顯示。 St1:主干道亮綠燈 45 秒,數(shù)碼管顯示 45 秒倒計時;支干道亮紅燈 ,數(shù)碼管顯示從 49 秒倒計時到 05 秒。 St2::主干道亮黃燈 5秒,數(shù)碼管顯示 5 秒倒計時;支干道亮紅燈,數(shù)碼管顯示從 04秒倒計時到 00 秒。 St3:支干道亮綠燈 25 秒,數(shù)碼管顯示 25 秒倒計時;主干道亮紅燈,數(shù)碼管顯示從 29 秒倒計時到 05 秒。 St4:支干道亮黃燈 5 秒,數(shù)碼管顯示 5 秒倒計時;主干道亮紅燈,數(shù)碼管顯示從 04秒倒計時到 00 秒。 把交通燈的工作分成五個狀態(tài),則寫程序的時候思路就比較清晰,只要在相應的狀態(tài)里完成相應的工作,控制好黃綠紅燈和數(shù)碼管的倒計時顯示,而且把握好五個狀態(tài)轉(zhuǎn)換的條件 即可 。 實現(xiàn)起來也 方便。 二、設計分析 根據(jù)設計思路可以把整體設計分為三個模塊: 分頻模塊: 把 實驗板上的 50MHz 的頻率分成 1Hz 信號( 用于倒計時計數(shù)的時鐘信號 )、 1kHz 信號( 用于數(shù)碼管掃描顯示的片選時鐘信號 )和 2hz(用于黃燈的閃爍) ; 交通燈控制 以 及倒計時(五個狀態(tài)的控制)模塊; 數(shù)碼管譯碼掃描顯示模塊。 整體的系統(tǒng)框圖如下: 段碼輸出 位碼輸出 1khz 信號 50Mhz 信號 分頻 2hz 信號 數(shù)碼顯 1hz 信號 示模塊 七段譯碼 數(shù)碼管位選 交通燈 控制以 及倒計時模塊 六個 led燈輸出 分頻模塊 , 就是把輸入的 50MHz 時鐘頻率 50000 分頻得到 1KHz 的頻率用于數(shù)碼管的 位選 信號,其原理就是設計一個 0到 50000 循環(huán)計數(shù)的的計數(shù)器,當計數(shù)溢出,即計數(shù)到 50000 時使輸出量取反,就得到了 1KHz 的方波,作為 數(shù)碼管位選 信號。 同理, 1Khz 再經(jīng)分頻即可得到 2hz(黃燈閃爍信號)和1hz(倒計時計數(shù)信號 )。 交通燈控制及倒計時模塊 , 就是五個狀態(tài)的轉(zhuǎn)換模塊,是整個系統(tǒng)的 最主要 模塊,其五個狀態(tài)分別 st0、 st st st st4。其中 st0 是當支干道沒有車通行的狀態(tài), st1 是主干道綠燈亮 45 秒的狀態(tài), st2 是主干道 黃燈閃爍 5秒的狀態(tài), st3 是支干道亮綠燈 25 秒的狀態(tài), st4 是支干道黃燈 閃爍 5秒的狀態(tài)。當主干道亮綠燈和黃燈 閃爍 時,支干道都是亮紅燈,當支干道亮綠燈和黃燈 閃爍 時,主干道都是亮紅燈,并且主、支干道都會顯示亮燈的倒計時時間,主、支干道的紅黃綠燈用 實驗板上的的最左邊三個和最右邊三個 LED發(fā)光二極管 代替。 數(shù)碼管倒計時顯示 ,是用 實驗板上的其中 四個數(shù)碼管,分別表示主干道和支干道的秒倒計時, 動態(tài) 掃描的頻率 用的是 1KHz 的頻率。 三、 各模塊電路符號如下: 頂層電路圖如下: 圖 23頂層文件原理圖 三、單元模塊設計與仿真 時鐘分頻模塊 時鐘分頻模塊就是把輸入的 2kHz 時鐘頻率 2021 分頻得到 1Hz 的頻率用于數(shù)碼管倒計時的時鐘信號,其原理就是設計一個 0到 999 循環(huán)計數(shù)的的計數(shù)器,當計數(shù)溢出,即計數(shù)到 999 時使輸出量取反,則輸出為 秒的高電平和 秒的低電平交替出現(xiàn),就 得到了 1Hz 的方波,作為秒倒計時的時鐘信號。 時鐘分頻模塊生成的元件符號如下: 分頻模塊 實驗板上的 50Mhz 頻率 經(jīng)分頻后得到 1Khz、 2hz、 1hz 三路信號。 交通燈控制及計時模塊 此模塊是整個系統(tǒng)的核心部分,主要功能是完成五個狀態(tài)的轉(zhuǎn)換,并且在每個狀態(tài)里完成相應的控制作用,即控制主干道和支干道的紅黃綠燈的點亮和各自數(shù)碼管倒計時顯示。 編程時主要是用一個進程語句,其敏感信號是時鐘分頻模塊產(chǎn)生的 1Hz時鐘信號,進程里主要用 case 語句完成五 個狀態(tài)的控制,在每個狀態(tài)里要控制主干道和支干道的紅黃綠燈的點亮,而且要控制各自數(shù)碼管倒計時的顯示,并為掃描顯示譯碼模塊提供倒計時時間, 同時要使每個狀態(tài)結(jié)束時能順利進入下一個狀態(tài)。 數(shù)碼管 顯示譯碼 和掃描 模塊 此模塊中含有七段 數(shù)碼管譯碼和掃描顯示兩個部分。其中 clk1khz 是輸入的掃描時鐘信號 四、 硬件驗證結(jié)果 引腳配置如下: 硬件驗證效果如下: 說明: 主干道和支干道分別繼續(xù)亮綠燈和紅燈,同 時主干道的數(shù)碼管從44 開始一秒一秒地倒計時顯示直至倒計時到 00,而支干道的數(shù)碼管從 49 開始一秒一秒地倒計時顯示,并且主、支干道的數(shù)碼管顯示值始終相差 5。當主干道的倒計時到 00(支干道倒計時到 05)后的下一秒,主干道的綠燈滅,黃燈閃爍 ,而且主干道的數(shù)碼管從 04 開始秒倒計時直至 00,支干道的紅燈在這一過程中始終是亮的,而且數(shù)碼管正常倒計時,和主干道的數(shù)碼管顯示。當主、支干道數(shù)碼管倒計時到 00 后的下一秒,主干道的黃燈滅,紅燈亮,數(shù)碼管從29 開始一秒一秒地倒計時,而支干道的紅燈滅,綠燈亮,數(shù)碼管開始從 24 一秒一秒地 倒計時,始終和主干道的數(shù)碼管少 5,直至倒計時到 00。當支干道數(shù)碼管倒計時到 00(主干道為 05)的下一秒后,支干道的綠燈滅,黃燈 閃爍 ,數(shù)碼管開始從 04 一秒一秒地倒計時直至 00,而主干道在這一過程中繼續(xù)亮紅燈,數(shù)碼管繼續(xù)正常地倒計時,而和支干道數(shù)碼管顯示相同。當主、支干道倒計時到 00的下一秒,則進入到主干道亮綠燈,支干道亮紅燈的狀態(tài) 。 五、 心得 體會 這次設計給我最大的收獲就是做什么事都不要急,要一步一步的做好前提工作,我開始看到這個課題的時候就動手去寫程序,只是憑著自己腦子里想一點就寫一點,但是經(jīng)過幾次反復的 修改還是沒有成功,看不到效果,所以后來干脆就放下來先把每一步每一個模塊都弄清楚再動手去寫,可以再本子上把各個模塊的端口以及連接都畫好,再去寫,這樣能做到事半工倍的效果,而且在設計的時候不懂得地方可以參考別人寫的程序,畢竟,不管做什么課程設計都是為了讓自己弄懂、學好,只要將別人的程序設計轉(zhuǎn)為自己的知識就 ok 了,在次基礎(chǔ)上加上自己的一些想法,學會變通, 或許還有些知識沒學到,比如狀態(tài)機這部分,但是通過別人的程序能讓自己學到更多的知識,而且能鞏固知識,所以我覺得要想把程序?qū)懞闷匠R欢ㄒ鄬懚嗑毝鄥⒖?,這就是我這 次設計的收獲。 附 :各模塊程序代碼 分頻模塊 library ieee。 對開發(fā)板上的 50MHZ 信號進行分頻得到 1khz位選信號、2hz黃燈閃爍信號和 1hz計時信號 use 。 entity div_freq is port(freq_in:in std_logic。 flag_1khz,flag_2hz,flag_1hz: buffer std_logic)。 end entity。 architecture one of div_freq is signal plete_1khz: integer range 0 to 50000。 signal plete_2hz:integer range 0 to 499。 signal plete_1hz: integer range 0 to 1000。 begin process(freq_in) 此進程得到的是 1khz的位選信號 begin if(freq_in 39。event and freq_in=39。139。) then plete_1khz=plete_1khz+1。 if(plete_1khz=50000) then plete_1khz=0。 elsif(plete_1khz25000) then flag_1khz=39。039。 else flag_1khz=39。139。 end if。 end if。 end process。 process(flag_1khz) 此進程是得到 2hz信號 begin if(flag_1khz 39。event and flag_1khz=39。139。) then plete_2hz=plete_2hz+1。 if(plete_2hz=500)then plete_2hz=0。 flag_2hz=39。039。 else flag_2hz=39。139。 end if。 end if。 end process。 process(flag_1khz) 此進程是得到 1hz信號 begin if(flag_1khz 39。event and flag_1khz=39。139。) then plete_1hz=plete_1hz+1。 if(plete_1hz=1000)then plete_1hz=0。 flag_1hz=39。039。 else flag_1hz=39。139。 end if。 end if。 end process。 end architecture one。 交通燈控制及倒計時模塊 交通燈控制及計時模塊 library ieee。 use 。 use 。 entity state5 is port(clk1hz,clk2hz:in std_logic。1hz 倒計時時鐘信號 one1,ten1,one2,ten2:out integer range 0 to 10。倒計時數(shù) ra,ga,ya,rb,gb,yb:out std_logic)。主支干道紅黃綠燈 end。 architecture two of state5 is type states is (st0,st1,st2,st3,st4)。定義五個狀態(tài) signal r1,g1,y1,r2,g2,y2:std_logic。 signal a,y11,y22:std_logic。 begin process(clk1hz)5 states variable st:states。 variable eoc:std_logic。倒計時結(jié)束標志位 variable h1,l1,h2,l2:integer range 0 to 10。 begin if clk1hz39。event and clk1hz=39。139。 then case st is when st0= st:=st1。 h1:=4。l1:=4。 h2:=4。l2:=9。 when st1=主干
點擊復制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1