当前位置:首页 > 数字电路综合实验报告
数字电路综合实验报告
设计并实现一个具有声光显示的电子节拍器
班级 : 姓名: 班内序号: 学号:
一:设计课题的任务要求
设计并实现一个具有声光显示的电子节拍器。
基本要求:
1、 速度在40~120 次/分钟范围内连续可调,通过2 个按键进行速度调节,一个用来增 加,一个用来减少,当长按按键时,按5 次/秒的速度连续增加或减少,用3 个数码 管显示当前速度。
2、 节拍有1/4、2/4、3/4、4/4、3/8、6/8 可选,通过一个按键选择,用2 个数码管显示。 3、 通过一个按键开始和停止打节拍,开始后按照设置好的节拍和速度打节拍。
4、 要求有声音和灯光提示,声音要有强弱区别,灯光可用不同颜色的发光二极管表示 强弱。
提高要求:
1、 通过一个按键选择时值(节奏类型),并在用点阵显示,如下图。
2、 自拟其他功能。
二:系统设计
1、 设计思路:
首先根据设计要求,在输入端有三个部分,即开关、速度选择和节拍选择,其中速度选择又分为加速和减速。开关可由一个按键设置;速度的设置范围为40-120次/分钟,加速和减速可各设置一个按键,短按变化1,长按变化5;节拍可由一个按键设置,按一下变化一个节拍。输出则要有数码管的显示,LED的显示,以及蜂鸣器。LED和蜂鸣器状态的判定条件相同,即选择的节拍和速度。
由乐理知识,节拍分为强、次强、弱三个状态,为表示区分,用频率不相同的三个声调do、re、mi来表示,LED灯则用三种颜色的灯来区分。
需要注意的时,在设置速度长按变化时,要注意防抖部分的设置。
2、 系统框图:
速度选择
节拍选择
数码管显示 模式判定 强弱分频 时钟 蜂鸣器 LED 3、分块设计:
(1) 速度选择:
输入端分为加速、减速、复位、时钟输入端。输入端输入长按或短按两种信号(如tmp1、tmp1_1),输出端S作为速度的变化量传输给下个模块。
该模块实现的功能为:当没有按键输出时,速度为初始状态;当短按一下加速按键,S加1,;当长按加速按键,若此时S小于75,S加5,若S大于75,S等于80。减速同理。
状态转移图如图所示
tmp1_1=0,短按 S=S+1 Add=1 S S=S+5 Add=0 Add=1,tmp1=49长按 Add=1 S>75 S=80 (2) 节拍选择:
输入端按键输入由SR表示,SR=1时表示有按键输入,clear为复位端,clk为时钟输入端,J为三位二进制变量分别表示节拍。
该模块实现的功能为:刚开始没有按键输入时默认节拍1/4,即J=001。每当有按键输入,变化一个节拍,J=J+1。当显示节拍6/8,即SR=1且J=110,下一个节拍变为1/4,即J=001。
状态转移图如图所示:
011 010
100 001 110 101
(3)显示判定
输入端为时钟模块输出的speed,节拍模块输出的节拍J,clear为复位端。输出端V1代表强,V2代表次强,V3代表弱。
此模块实现的功能为:节拍1/4为强,间隔为2时间分量;2/4拍为强、弱,间隔为2时间分量;3/4拍为强、弱、弱,间隔为2时间分量;4/4拍为强、弱、次强、弱,间隔为2时间分量;3/8拍为强、弱、弱,间隔为1时间分量;6/8拍为强、弱、弱、次强、弱、弱,间隔为1时间分量。
(4)分频模块:
输入端为选择模块判定的状态V1、V2、V3,clear为复位端,clk为时钟输入端。输出端为音阶,V1为mi,V2为do,V3为re。
该模块实现的功能为:将判定模块输出的状态分频输出,即将输出的信号规定一定的频率范围再输出,超过范围则赋值0并将时钟翻转。
(5)时钟模块:
输入端为总体外部时钟clk,速度模块的输出S,clear为复位端。输出的SPEED作为模式判定模块的速度输入,clkout作为速度模块和节拍选择模块的时钟输入。
(6)数码管显示模块:
共分享92篇相关文档