源码和报告请加QQ:2309636835
一、课程设计要求概述
1.课程设计基本功能
本课程设计实现基于basys3的键盘电子琴,基本功能要求如下。
(1)使用PS2接口键盘作为输入识别三音阶21键;
(2)配合PMOD AMP2模块输出不同音频;
(3)可以实现音乐演奏。
2.课程设计扩展功能
在实现基本功能的基础上,本课程设计对键盘电子琴的功能进行了扩展,扩展功能如下。
(1)增加跑马灯的效果让跑马灯随按键的变化而改变;
(2)增加数码管显示效果让数码管显示对应音符及音阶高低;
(3)增加录音效果;
(4)增加自动播放音乐效果。
五、关键模块设计与实现
1.接收外界信号模块
(1)通过片选信号控制有限状态机的3种状态,自动播放模式,键盘输入模式和回放模式;
(2)使用移位寄存器捕捉时钟线下降沿,下降沿触发键盘信号接收与处理。每帧Data有11位数据,使用计数器保存当前接受了几位数据,第一位为开始位,2至9位接受数据,第10位为奇偶校验位,本次不作处理。当遇到第11位断码时,一组数据接收完毕,计数器清零。接收到第0位开始码时,标识当前有键被按下;
(3)歌曲的储存以储存对应的键盘码的方式实现,位于自动播放模式时,通过片选信号控制播放的歌曲,将储存的键盘码读出,0001为第一首歌曲,0011为第二首歌曲;
(4)片选信号高2位为01时开启录音功能,为11时回放录音。
图5.1 有限状态机示意图
图5.2 用移位寄存器捕捉时钟下降沿
图5.3 处理键盘输入数据
......
......
......
图* 数码管显示仿真
图* 测试结果