【正文】
t_led_yellow=39。 南北黃燈亮 south_north_led_green=39。 else if(count_nanbei=20) then south_north_led_red=39。 end if。 南北方向停止計(jì)數(shù) else if(count_nanbei=46) then count_nanbei=0。 end if。 signal e_w_gewei : integer range 0 to 9。 38 譯碼器輸入 seg : out std_logic_vector(7 downto 0)。同樣的道理其它列也是這樣,直到顯示下一個(gè)漢字。當(dāng)選中第 8 個(gè)數(shù)碼管時(shí),送入表 22 中的段選,可以顯示相應(yīng)的數(shù)字 。 EDA 課程設(shè)計(jì)論文 9 紅黃綠燈控制模塊 由于東西方向計(jì)時(shí)與燈的控制相同,設(shè)計(jì)中在此方向只用了三個(gè)燈,即紅、黃、綠燈。系統(tǒng)的基本框圖如下 : 圖 11 系統(tǒng)原理框圖 工作原理 系統(tǒng)開(kāi)始時(shí),南北方向和東西方向正常工作,兩個(gè)方向的紅、黃、綠三燈交EDA 課程設(shè)計(jì)論文 7 替亮滅,當(dāng)緊急情況到來(lái),即按鍵 S1 按下時(shí),兩個(gè)方向的數(shù)碼管停止計(jì)時(shí),而且兩個(gè)方向的紅燈全部點(diǎn)亮,蜂鳴器響起,表明此時(shí)南北和東西方 向行人和普通車(chē)輛嚴(yán)禁通行。蜂鳴器作為緊急情況使用。 東西方向模塊 東西方向包含紅黃綠燈控制模塊和計(jì)時(shí)模塊 。 計(jì)時(shí)模塊 計(jì)時(shí)模塊與東西方向相同,只是南北方向的計(jì)時(shí)用到的是實(shí)驗(yàn)系統(tǒng)中的第 8 個(gè)數(shù)碼管,工作原理與東西方向的完全相同 。這樣只要第一次顯示第一列的數(shù)據(jù)和第二次顯示第一列的數(shù)據(jù)的時(shí)間足夠短,那么人的眼睛就會(huì)看到第一列的數(shù)據(jù)總 是顯示的,而沒(méi)有停頓現(xiàn)象。 時(shí)鐘信號(hào) del : buffer std_logic_vector(2 downto 0)。 signal e_w_shiwei : integer range 0 to 9。 end if。) then 緊急情況到來(lái) count_nanbei=count_nanbei。 end if。039。139。139。 end if。 process(del) begin case del+1 is 位選掃描加 1 when 000=display=e_w_shiwei。 5 when 6=dis=01111101。 end if。 when 1001=hang=0001000010001000。 when 1000=hang=1010100100100001。 when 1000=hang=0010000000000010。 end process。 when 0100=hang=0000010000010000。 when 0100=hang=0000000000000100。 when 0101=hang=0001000010001000。 else s=s+1。 1 when 2=dis=01011011。 e_w_gewei=num_dongxi mod 10。 num_dongxi=25count_dongxi。039。139。139。) then 緊急情況到來(lái) count_dongxi=count_dongxi。event and clk1Hz=39。event and clk=39。 architecture behave of traffic is signal count_nanbei : integer range 0 to 45。 庫(kù)文件 use 。然后根據(jù)人眼的視覺(jué)原理,將每一列顯示的點(diǎn)的間隔時(shí)間設(shè)為一定的值,那么我們 就會(huì)感覺(jué)顯示一個(gè)完整的不閃爍的漢字。 南北方向模塊 南北方向包含紅黃綠燈控制模塊和計(jì)時(shí)模塊。 譯碼器與主控制器的連接圖如下圖所示: 圖 22 38 譯碼器與控制器的接口圖 74LS138 為一個(gè) 38 線(xiàn)譯碼器,低電平輸出,其工作原理見(jiàn)下表格: 表 21 74LS138 譯碼表 輸入 輸出 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 L L L L H H H H H H H L L H H L H H H H H H L H L H H L H H H H H L H H H H H L H H H H H L L H H H H L H H H H L H H H H H H L H H H H L H H H H H H L H H H H H H H H H H H L 從表中可以看出:每輸入一種組合,輸出端只有一端響應(yīng),這樣可以通過(guò)輸入端的組合,選中想要選中的數(shù)碼管,讓其工作。所以,如何采用合適的方法,最大限度的利用好交通燈的控制, 緩解城市道路交通堵塞問(wèn)題,降低交通事故發(fā)生率,成為人們共同關(guān)注的話(huà)題。由于引腳個(gè)數(shù)較其他芯片多,因此,外部硬件資源比較多,而且性能很好,穩(wěn)定,易于控制。 在實(shí)驗(yàn)系統(tǒng)中使用的是兩個(gè)四位一體、共陰極型七段數(shù)碼管。也就是 LED 點(diǎn)陣對(duì)應(yīng)的這個(gè)點(diǎn)被點(diǎn)亮。 時(shí)鐘模塊 EDA 課程設(shè)計(jì)論文 13 時(shí)鐘是一個(gè)系統(tǒng)正常工作的重要保證,沒(méi)有時(shí)鐘,再優(yōu)越的條件,系統(tǒng)都不能正常工作由于 FPGA 控制器外設(shè)中不含有晶振,即時(shí)鐘模塊,只有一個(gè)時(shí)鐘輸入,但是該時(shí)鐘頻率對(duì)于完成本設(shè)計(jì)是不夠的,數(shù)碼管以及點(diǎn)陣的動(dòng)態(tài)顯示都要用到時(shí)鐘,而且兩個(gè)的掃描的時(shí)鐘頻率不一樣,這樣,就要求對(duì)原有的時(shí)鐘頻率進(jìn)行分頻,得到所需要的時(shí)鐘頻率。 東西方向黃燈 east_west_led_green : out std_logic。 signal display : integer range 0 to 10。event and clk=39。 end if。) then 緊急情況到來(lái) south_north_led_red=39。 south_north_led_green=39。 east_west_led_yellow=39。 end if。 s_n_gewei=num_nanbei mod 10。 滅 when 101=display=10。 滅 end case。 lie=cdount。 when 1110=hang=0001000000000010。 when 1101=hang=0000100000000011。 when 1101=hang=0110000000000000。 when 1111=hang=0000000000000000。 when 1111=hang=0000000000000000。 end case。 process(cdount,s) 交 begin if s=00 then case cdount is when 0000=hang=0001000000000001。 process(clk) 分頻 begin if(clk39。 第七個(gè)數(shù)碼管顯示南北十位 when 111=display=s_n_gewei。 end if。 end if。 東西黃燈亮 east_west_led_green=39。 east_west_led_red=39。 南北方向紅燈亮 south_north_led_green=39。 process(clk1Hz) begin