【正文】
south_north_led_red=39。 east_west_led_green=39。 east_west_led_yellow=39。 east_west_led_red=39。 south_north_led_green=39。 南北紅燈亮 south_north_led_yellow=39。 else if(count_nanbei=20) then south_north_led_red=39。 east_west_led_yellow=39。 東西方向紅燈亮 east_west_led_green=39。 east_west_led_red=39。 south_north_led_yellow=39。 南北方向紅燈亮 south_north_led_green=39。) then 緊急情況到來 south_north_led_red=39。 process(clk1Hz,count_nanbei) begin if(key=39。 end if。 end if。 東西方向停止計(jì)數(shù) else if(count_dongxi=46) then count_dongxi=0。039。139。 process(clk1Hz) begin if(clk1Hz39。 end if。 end if。 南北方向停止計(jì)數(shù) else if(count_nanbei=46) then count_nanbei=0。039。139。 process(clk1Hz) begin if(clk1Hz39。 end if。) then del=del+1。event and clk=39。 end process。 end if。 else clk_count=00000000000001。139。 begin process(clk) 分頻 begin if (clk39。 signal dount : std_logic_vector(8 downto 0)。 signal clk1HZ : std_logic。 signal display : integer range 0 to 10。 signal s_n_gewei : integer range 0 to 9。 signal e_w_gewei : integer range 0 to 9。 signal num_dongxi : integer range 0 to 25。 signal count_dongxi : integer range 0 to 45。 end traffic。 南北方向綠燈 hang : out std_logic_vector(15 downto 0)。 南北方向紅燈 south_north_led_yellow : out std_logic。 東西方向黃燈 east_west_led_green : out std_logic。 按鍵S1,緊急情況 east_west_led_red : out std_logic。 38譯碼器輸入 seg : out std_logic_vector(7 downto 0)。entity traffic is port(clk : in std_logic。use 。參考文獻(xiàn),李立軍. EDA技術(shù)基礎(chǔ)[M]. 北京:北京大學(xué)出版社,[M].西安:西安交通大學(xué)出版社,譚克俊,(第四版)[M]. 北京:電子工業(yè)出版社,[M]. 北京:電子工業(yè)出版社,附錄:源程序清單 十字路口交通燈的設(shè)計(jì) 學(xué)號(hào)030940910 姓名 楊波library ieee。設(shè)計(jì)能夠按照預(yù)期的要求正常工作,但是,設(shè)計(jì)還存在一些不足,東西方向和南北方向的紅綠燈計(jì)時(shí)時(shí)間相同,不能夠達(dá)到兩個(gè)方向的時(shí)間不同步顯示;點(diǎn)陣只能夠現(xiàn)實(shí)普通的數(shù)字和漢字,還不能夠現(xiàn)實(shí)人形,在紅燈亮?xí)r,人形不動(dòng),當(dāng)綠燈亮?xí)r,人形行走,此功能還不能實(shí)現(xiàn)。熟悉了數(shù)碼管、點(diǎn)陣的動(dòng)態(tài)掃描方法和原理,了解了VHDL語言的結(jié)構(gòu)特點(diǎn)及編程思想,能夠編寫簡單的程序。時(shí)鐘是一個(gè)系統(tǒng)正常工作的重要保證,沒有時(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í)鐘頻率。字庫數(shù)據(jù)的格式如下圖:圖135 字庫格式 該模塊與控制器的連接圖如下圖所示: 圖136 16*16點(diǎn)陣電路圖 本設(shè)計(jì)中采用蜂鳴器是為了在緊急情況下報(bào)警。同樣的道理其它列也是這樣,直到顯示下一個(gè)漢字。當(dāng)完成一個(gè)16*16點(diǎn)陣的數(shù)據(jù)輸入時(shí),即列選擇計(jì)數(shù)到最后一列后,再從第一列開始輸入相同的數(shù)據(jù)。同時(shí)也可以按照這個(gè)原理來顯示其它的漢字下圖114是一個(gè)漢字顯示所需要的時(shí)序圖: 圖134 顯示時(shí)序圖在上圖中,在系統(tǒng)時(shí)鐘的作用下,首先選取其中的一列,將數(shù)據(jù)輸入讓這列的LED顯示其數(shù)據(jù)(當(dāng)為高電平時(shí)LED發(fā)光,否則不發(fā)光)。依此類推,顯示第二列、第三列……第N列中需要被點(diǎn)亮的點(diǎn)。根據(jù)前面我們所介紹的點(diǎn)陣顯示的原理。通過給Rn輸入一個(gè)高電平,也就相當(dāng)于給這一列所有LED輸入了一個(gè)高電平,這時(shí)只要某個(gè)LED的Cn端輸入一個(gè)低電平時(shí),對(duì)應(yīng)的LED就會(huì)被點(diǎn)亮。也就是LED點(diǎn)陣對(duì)應(yīng)的這個(gè)點(diǎn)被點(diǎn)亮。16*16點(diǎn)陣由256個(gè)LED通過排列組合而形成16行*16列的一個(gè)矩陣式的LED陣列,俗稱16*16點(diǎn)陣。當(dāng)選中第8個(gè)數(shù)碼管時(shí),送入