**这是本文档旧的修订版!**

基于STEP FPGA的矩阵按键驱动

本节将和大家一起使用FPGA驱动底板上的4×4矩阵键盘。

====硬件说明==== ——- STEP-MXO2 V2开发板虽然很小巧,上面也集成了不少外设,在本实验里我们就看看如何用FPGA控制简单外设,如何用按键或者开关控制LED的亮和灭。

这是开发板上的8个红色LED,LED1~8信号连接到FPGA的引脚,作为FPGA输出信号控制。当FPGA输出低电平时LED变亮,当FPGA输出高电平时LED熄灭。

这是开发板上4个按键和4个开关,Key1~4是按键控制信号,SW1~4是开关控制信号,都连接到FPGA的引脚,作为FPGA的输入信号。当按键断开时,FPGA输入为高电平,当按键按下时,FPGA输入为低电平;当开关断开(OFF)时,FPGA输入为低电平,当开关合上(ON)时,FPGA输入为高电平。
所以我们可以用开关或者按键来控制LED的亮灭。
====Verilog代码==== —— <code verilog>
»»»»»»»»»»»»> COPYRIGHT NOTICE ««««««««««««< File name : LED.v Module name : LED Author : STEP Description : control LED Web : www.stepfpga.com ——————————————————————– Code Revision History : ——————————————————————– Version: |Mod. Date: |Changes Made: V1.0 |2017/03/02 |Initial ver ——————————————————————– Module Function:利用按键和开关的状态来控制LED灯的亮灭。 module LED (key,sw,led); input [3:0] key; 按键输入信号

input [3:0] sw;							//开关输入信号
output [7:0] led;						//输出信号到LED

assign led = {key,sw};                                          //assign连续赋值。大括号是拼接符,表示把key和sw拼接组成一个新的8位数赋值给led

endmodule

</code>



引脚分配


综合(synthesize)完成之后一定要配置FPGA的引脚到相应的外设,这样下载FPGA程序后才能达到我们想要的效果。

====小结====

下载完程序后就可以实现按键开关控制LED灯的亮灭。了解小脚丫STEP-MXO2 V2上的外设LED、按键和开关的使用。如果你对Diamond软件的使用不了解,请参考这里:Diamond的使用