西南交通大学【数电实验7---按键防抖动设计】

  • 实验电路图、状态图、程序代码、仿真代码、仿真波形图(可以只写出核心功能代码,代码要有注释)

一共四个状态:1.未按下时空闲状态 2.按下抖动滤除状态 3.按下稳定状态

4.释放抖动滤除状态

在第一个状态时,等待按键按下,一旦有按键按下(按键下降沿到来),便跳转到第二个状态,抖动滤除状态。在第二个状态,有检测到高电平(上升沿),就会被认为是毛刺,进而返回第一个状态继续等待下降沿。等毛刺被滤除后(计数满)则进入按下稳定状态。在按下稳定状态,等待释放(上升沿),同按键按下的状态,再次滤除释放按键的抖动。等抖动滤除后,恢复到第一个状态。

状态图:

代码文件

激励文件

因要求中有精度为0.1ms要求,故需要的时钟频率为10kHz

波形文件

二、引脚分配表(电路中的信号名称->主板器件名称->引脚号PIN

信号名

主板器件

PIN

信号名

主板器件

PIN

clk

50MHz

PIN_90

codeout[0]

Key2/SW2/LED10

PIN_30

CO

LED3

PIN_54

key_flag

LED4

PIN_58

rst_n

Key1/SW1/LED9

PIN_31

key_in

Key0/SW0/LED8

PIN_24

Q[2]

LED2

PIN_52

Q[1]

LED1

PIN_50

Q[0]

LED0

PIN_46

key_state

LED5

PIN_53

codeout[5]

Key7/SW7/LED15

PIN_44

codeout[4]

Key6/SW6/LED14

PIN_39

codeout[3]

Key5/SW5/LED13

PIN_42

codeout[2]

Key4/SW4/LED12

PIN_32

codeout[1]

Key3/SW3/LED11

PIN_33

三、编译报告

Top-level Entity name

Family

Device

zsy_2327_7

Cyclone IV E

EP4CE6E22C8

Total logic elements

Total registers

Total pins

54/6,272( <1% )

33

15/92( 16% )

Total memory bits

Embedded Multiplier 9-bit elements

Total PLLs

0/276,480( 0% )

0/30( 0% )

0/2( 0% )

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 01:52:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 01:52:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 01:52:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 01:52:06       20 阅读

热门阅读

  1. Linux信号

    2023-12-16 01:52:06       40 阅读
  2. 时光机器:用rrweb打造可回溯的用户体验!

    2023-12-16 01:52:06       40 阅读
  3. Go 1.21 新内置函数:min、max 和 clear

    2023-12-16 01:52:06       33 阅读
  4. ESP32网络开发实例-Web串口(WebSerial)

    2023-12-16 01:52:06       37 阅读
  5. day17 二叉树的所有路径

    2023-12-16 01:52:06       31 阅读
  6. 记录 | docker启动权限问题Get Permission Denied

    2023-12-16 01:52:06       32 阅读
  7. js 获取元素宽高的几种方法

    2023-12-16 01:52:06       33 阅读
  8. Future设计模式

    2023-12-16 01:52:06       31 阅读