差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
矩阵按键模块 [2017/05/31 17:25] anran [硬件说明] |
矩阵按键模块 [2022/06/22 14:53] (当前版本) haihang |
||
---|---|---|---|
行 21: | 行 21: | ||
按照扫描的方式,一共分为4个时刻,分别对应4根行线中的一根拉低,4个时刻依次循环,这样就完成了矩阵按键的全部扫描检测,我们在程序中以这4个时刻对应状态机的4个状态。 | 按照扫描的方式,一共分为4个时刻,分别对应4根行线中的一根拉低,4个时刻依次循环,这样就完成了矩阵按键的全部扫描检测,我们在程序中以这4个时刻对应状态机的4个状态。 | ||
- | 至于循环的周期,根据我们基础教程里可知,按键抖动的不稳定时间在10ms以内,所以对同一个按键采样的周期大于10ms,这同样取20ms时间。20ms时间对应4个状态,每5分钟进行一次状态转换。 | + | 至于循环的周期,根据我们基础教程里可知,按键抖动的不稳定时间在10ms以内,所以对同一个按键采样的周期大于10ms,这同样取20ms时间。20ms时间对应4个状态,每5ms进行一次状态转换。 |
\\ | \\ | ||
{{ :矩阵按键程序框图.jpg?800 |}} | {{ :矩阵按键程序框图.jpg?800 |}} | ||
行 126: | 行 126: | ||
\\ | \\ | ||
\\ | \\ | ||
- | ====引脚分配==== | + | |
- | ------- | + | |
- | 综合(synthesize)完成之后一定要配置FPGA的引脚到相应的外设,这样下载FPGA程序后才能达到我们想要的效果。 | + | |
- | \\ | + | |
- | 我们使用PCLK充当程序中的clk_in,使用按键KEY1充当rst_n_in,col和row的引脚按照高低顺序分配,key_out作为本设计的最终产出可以根据项目需要进行连接 | + | |
====小结==== | ====小结==== | ||
行 141: | 行 137: | ||
------ | ------ | ||
\\ | \\ | ||
- | 使用[[STEP-MXO2第二代]]的矩阵按键程序:{{:array_keyboard_for_mxo2.rar|}} | + | 使用[[STEP-MXO2第二代]]的矩阵按键程序: 后续会有下载连接 待更新 |
\\ | \\ | ||
- | 使用[[STEP-MAX10]]的矩阵按键程序:{{:array_keyboard_for_max10.rar|}} | + | 使用[[STEP-MAX10]]的矩阵按键程序: 后续会有下载连接 待更新 |
\\ | \\ |