3489|0

7172

帖子

195

TA的资源

五彩晶圆(高级)

楼主
 

【Espier FPGA VHDL学习帖】第17帖按键消抖.doc [复制链接]

Espier FPGA VHDL学习帖】第17 按键消抖



按键消抖程序的思路都是来源于特权同学的按键消抖,特权同学采用的是VHDL改编了他的程序。



20ms就会读取键值,把这个键值放到寄存器low_sw的值锁存到low_sw
wire [2:0] led_ctrl = low_sw_r[2:0] &( ~low_sw[2:0]); 这是特权同学



Key_an是检测第一次按下,同时也是cnt计数,本开发板用的大概为48M晶振,并没有进行分频操作,所以
(1110101001100000000)2 这里我们直接用全1

初始值 1 1  0  0  1  1      -> key_rst
       0 0  1  1  0 0     ->取反
         1 1  0  0  1      ->key_rst_r
         0 1  0  0  0  key_an



把1跳变到led_ctrl拉高。回顾前面的20ms内如果出现按键被按下,

那么有一个时钟周期里led_ctrl的置高就使得相应的LED灯的亮灭做一次改变,这就达到了目的。





附上我的工程
LESSON6_SW_xiaodou.rar (2.93 MB, 下载次数: 26)

[ 本帖最后由 常见泽1 于 2013-12-15 02:27 编辑 ]
此帖出自FPGA/CPLD论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表