云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > VHDL键盘扫描 - 图文

VHDL键盘扫描 - 图文

  • 62 次阅读
  • 3 次下载
  • 2026/1/27 7:05:34

图3.17驱动行信号

4、发声模块 4.1音调的产生

音调的产生是通过分频实现的。设计要求产生不同的音调,就需要不同的分频器。可以先构造一个分频器,然后通过VHDL中的参数传递语句构造出十二个不同的分频器,其分频数见表3.2(输入时钟是2MHz)。

表3.3音符频率对照表 键值 0 1 2 3 4 5 6 音符 低5 低6 低7 中1 中2 中3 中4 频率 392 440 494 523 578 659 698 分频数 5102.0408 4545.4545 4048.583 3824.0918 3460.2076 3034.9014 2865.3295 键值 7 8 9 A B C D 音符 中5 中6 中7 高1 高2 高3 高4 频率 784 880 988 1046 1175 1318 1397 分频数 2551.0204 2272.7273 2024.2915 1912.0459 1702.1277 1517.4507 1431.6392 4.2电路实现

发声模块其内部是一个有一个输入,十二个输出的分频器,用于产生十二种音调。然后根据键值判断哪个口输出。其顶层视图如图3.18所示。

9

图3.18发声模块外观

发声模块的仿真见图3.19

图3.19发声模块仿真

仿真波形中l5~h4是分频器的十二个输出口,当键值是C时speaker输入的是h3的值,达到了要求。

5、顶层模块实现

顶层电路只是把分频模块、键盘扫描模块、LED点阵模块和发声模块连接起来,其外观和内部结构如图3.20和3.21所示。

10

图3.20顶层模块外观

图3.21顶层模块内部结构

6、管脚的定义

管脚的定义如表3.4所示 I/O Name clk Speaker keydrv<0> keydrv<1> keydrv<2> keydrv<3> keyin<0> keyin<1> keyin<2> keyin<3> LEDcolumn<0> LEDcolumn<1> LEDcolumn<2> LEDcolumn<3> LEDcolumn<4> LEDcolumn<5> LEDcolumn<6> LEDcolumn<7> LEDcolumn<8>

表3.4 管脚的定义 I/O Direction Loc Input P3 Output P95 Output P120 Output P121 Output P122 Output P123 Input P125 Input P127 Input P129 Input P132 Output P133 Output P134 Output P136 Output P138 Output P139 Output P140 Output P141 Output P147 Output P148 Bank BANK7 BANK4 BANK3 BANK3 BANK3 BANK3 BANK3 BANK3 BANK3 BANK2 BANK2 BANK2 BANK2 BANK2 BANK2 BANK2 BANK2 BANK2 BANK2 11

LEDcolumn<9> LEDcolumn<10> LEDcolumn<11> LEDcolumn<12> LEDcolumn<13> LEDcolumn<14> LEDcolumn<15> LEDrow<0> LEDrow<1> LEDrow<2> LEDrow<3> LEDrow<4> LEDrow<5> LEDrow<6> LEDrow<7> LEDrow<8> LEDrow<9> LEDrow<10> LEDrow<11> LEDrow<12> LEDrow<13> LEDrow<14> LEDrow<15> Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output Output P149 P150 P151 P152 P162 P163 P164 P165 P167 P73 P74 P70 P71 P68 P69 P63 P67 P61 P62 P59 P60 P57 P58 BANK2 BANK2 BANK2 BANK2 BANK1 BANK1 BANK1 BANK1 BANK1 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 BANK5 附录Ⅰ 程序代码

1、顶层模块

library IEEE;

use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM;

--use UNISIM.VComponents.all;

entity play_show is

Port ( clk : in STD_LOGIC;

keyin : in STD_LOGIC_VECTOR (3 downto 0); keydrv : out STD_LOGIC_VECTOR (3 downto 0);

LEDrow : out STD_LOGIC_VECTOR(15 downto 0);

--LED行扫描信号

LEDcolumn : out STD_LOGIC_VECTOR(15 downto 0);

Displayshow: out STD_LOGIC_VECTOR (6 downto 0); Displayselect: out STD_LOGIC_VECTOR (3 downto 0); speaker : out STD_LOGIC);

12

搜索更多关于: VHDL键盘扫描 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

图3.17驱动行信号 4、发声模块 4.1音调的产生 音调的产生是通过分频实现的。设计要求产生不同的音调,就需要不同的分频器。可以先构造一个分频器,然后通过VHDL中的参数传递语句构造出十二个不同的分频器,其分频数见表3.2(输入时钟是2MHz)。 表3.3音符频率对照表 键值 0 1 2 3 4 5 6 音符 低5 低6 低7 中1 中2 中3 中4 频率 392 440 494 523 578 659 698 分频数 5102.0408 4545.4545 4048.583 3824.0918 3460.2076 3034.9014 2865.3295 键值 7 8 9 A B C D 音符 中5 中6 中7 高1 高2 高3 高4 频率 784 880 988 1046 1175 1318 1397 分频

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com