需求
使用开发板上的四个按键控制四个 LED 灯。按下不同的按键时,四个 LED 灯显示不同效果。
按键状态 | LED 显示效果 |
---|---|
无按键按下 | 四个 LED 灯全灭 |
按下 KEY0 | 自右向左的流水灯 |
按下 KEY1 | 自左向右的流水灯 |
按下 KEY2 | 四个 LED 同时闪烁 |
按下 KEY3 | 四个 LED 灯全亮 |
系统框图
- 内部模块:0.2 秒计数器->状态计数器->LED 模式选择
- 外部驱动:50MHZ 时钟,RST 复位信号,四个按键
- 展示:四个 LED 灯
代码
0.2 秒计时器模块
always@(posedge clk or negedge rst_n)
begin
if(!rst_n)
cnt <= 24'd0;//复位清零
else
if(cnt < 24'd1000_0000)
cnt <= cnt +1'b1;//未到清零时间加1