【正文】
ensor3,sensor4,sensor5組成,該信號為高電平時,分別表示2s,1s,5s,3s的計時完成)。輸出信號有:(1) 橫向交通燈控制信號(LEDR0,LEDG0,LEDG1)。(2) 縱向交通燈控制信號(LEDR4,LEDG4,LEDG5)。(3) 控制狀態(tài)信號:state(輸出到定時計數(shù)器,分別表示2s,1s,5s,3s計時)。主控單元的狀態(tài)轉(zhuǎn)移圖:主控制模塊程序:module traffic_control(clock,reset,KEY,sensor,LEDR0,LEDG0,LEDG1,LEDR4,LEDG4,LEDG5)。input clock,reset,KEY,sensor;output LEDR0,LEDG0,LEDG1,LEDR4,LEDG4,LEDG5。parameter st0=0,st1=1,st2=2,st3=3,st4=4,st5=5,st6=6,st7=7,st8=8,st9=9,st10=10,st11=11。reg[2:0] state,nxstate。reg LEDR0,LEDG0,LEDG1,LEDR4,LEDG4,LEDG5。always @(posedge clock) beginif(!reset)state=st1。elsestate=nxstate。endalways @(state or KEY or sensor ) begin case(state) st1:begin if (KEY0) begin nxstate=st1。 LEDR0=139。b0。LEDG0=139。b1。LEDG1=139。b0。 LEDR4=139。b1。LEDG4=139。b0。LEDG5=139。b0。end else if(KEY1) begin LEDR0=139。b1。LEDG0=139。b0。LEDG1=139。b0。 LEDR4=139。b0。LEDG4=139。b1。LEDG5=139。b0。 nxstate=st6。end else if(KEY3) LEDR0=139。b0。LEDG0=139。b。LEDG1=139。b0。 LEDR4=139。b1。LEDG4=139。b0。LEDG5=139。b0。 nxstate=st1。else if(sensor1) begin LEDR0=139。b0。LEDG0=139。b1。LEDG1=139。b1。 LEDR4=139。b1。LEDG4=139。b0。LEDG5=139。b0。 nxstate=st2。 end end end st2:begin if (KEY0) begin LEDR0=139。b0。LEDG0=139。b1。LEDG1=139。b0。 LEDR4=139。b1。LEDG4=139。b0。LEDG5=139。b0。 nxstate=st1。end else if(KEY1) begin LEDR0=139。b1。LEDG0=139。b0。LEDG1=139。b0。 LEDR4=139。b0。LEDG4=139。b1。LEDG5=139。b0。 nxstate=st6。end else if(KEY3) LEDR0=139。b0。LEDG0=139。b1,LEDG1=139。b1。 LEDR4=139。b1。LEDG