module traffic_control(clk,reset,r1,r2,y1,y2,g1,g2
);
input clk,reset;//1Hz输入时钟信号
output r1,r2,y1,y2,g1,g2;//红绿黄灯
reg r1,r2,y1,y2,g1,g2;
reg w1,w2,w3,c1,c2,c3;//计时器标志位和使能端
parameter [1:0] s0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;//4种状态
reg[1:0] current_state,next_state;
reg[2:0] cnt_5;
reg[4:0] cnt_25,cnt_30;
initial
begin
cnt_5=0;cnt_25=0;cnt_30=0;w1=0;w2=0;w3=0;c1=0;c2=0;c3=0; //赋初值
end
always@(posedge clk)//3s计时器
begin
if(c2)
begin
if(cnt_5==2)
begin cnt_5<=0;w2<=1'b1;end
else if(cnt_5<2)
begin cnt_5<=cnt_5+1;w2<=1'b0;end
else ;
end
else ;
end
2022-05-11 21:21:54
27KB
电工电子
1