主题:vhdl语言
可能的亮灯情况如下
在quartus2环境下能实现
有两条通行道路,分别沿方向一和方向二通行,每一方向都由红黄绿组成的交通信号灯.这些信号灯由相应的高有效信号(r1,g1,y1,r2,g2,y2)来驱动.此外,每个方向上都装有一个传感器,当相应方向有车辆要求通过时,传感器给出高电平有效的信号.
具体要求:
1.当sen1和sen2之一为1时,相应方向的绿灯应点亮.
2.当sen1和sen2同时为1或同时为0时,两个方向的交通灯应循环点亮.
3要求绿灯点亮时间为20s,黄灯点亮时间为5s.
4按倒计时的方法用数码管指示灯亮时间(当一个方向的绿灯常亮时,数码管显示最大点亮时间).
交通流向的四种情况和可能的亮灯情况如下
sen1 sen2 流向
0 1 允许方向2通行r1=g2=1
1 0 允许方向1通行r1=g2=1
0 0 两个方向等时循环亮灯
1 1 两个方向等时循环亮灯
可能亮灯情况
情况 r1 g1 y1 r2 g2 y2
1 1 0 0 0 1 0
2 0 1 0 1 0 0
3 0 1 0 0 0 0
4 0 0 1 0 1 0
用状态机实现
高手编编看,我想破脑袋也不知道写的对不对.
在quartus2环境下能实现
有两条通行道路,分别沿方向一和方向二通行,每一方向都由红黄绿组成的交通信号灯.这些信号灯由相应的高有效信号(r1,g1,y1,r2,g2,y2)来驱动.此外,每个方向上都装有一个传感器,当相应方向有车辆要求通过时,传感器给出高电平有效的信号.
具体要求:
1.当sen1和sen2之一为1时,相应方向的绿灯应点亮.
2.当sen1和sen2同时为1或同时为0时,两个方向的交通灯应循环点亮.
3要求绿灯点亮时间为20s,黄灯点亮时间为5s.
4按倒计时的方法用数码管指示灯亮时间(当一个方向的绿灯常亮时,数码管显示最大点亮时间).
交通流向的四种情况和可能的亮灯情况如下
sen1 sen2 流向
0 1 允许方向2通行r1=g2=1
1 0 允许方向1通行r1=g2=1
0 0 两个方向等时循环亮灯
1 1 两个方向等时循环亮灯
可能亮灯情况
情况 r1 g1 y1 r2 g2 y2
1 1 0 0 0 1 0
2 0 1 0 1 0 0
3 0 1 0 0 0 0
4 0 0 1 0 1 0
用状态机实现
高手编编看,我想破脑袋也不知道写的对不对.