numa<=ayellow; //黄灯亮
LAMPA<=4; //输出0100
counta<=4; //进入下一个状态
end
4: begin //状态4
numa<=ared; //红灯亮
LAMPA<=8; //输出1000
counta<=0; //进入下一个状态(状态0)
end
default: //默认状态
LAMPA<=8; //红灯亮,输出1000
endcase
end
else begin //每一个状态的倒计时
if(numa>1) //判断倒计时未归零时分别对高地位进行递减
if(numa[3:0]==0) begin
numa[3:0]<=4'b1001;
numa[7:4]<=numa[7:4]-1;
end
else
numa[3:0]<=numa[3:0]-1;
if (numa==2)
tempa<=0; //倒计时结束,返回灯状态变化判断,将进入下一个状态
end
end
else begin
LAMPA<=4'b1000; //使能无效时,红灯亮
counta<=0; //返回方向A的状态0(绿灯状态)
tempa<=0; //进入状态变化判断