EDA课程设计自动奏乐机一完美终结篇.docx
《EDA课程设计自动奏乐机一完美终结篇.docx》由会员分享,可在线阅读,更多相关《EDA课程设计自动奏乐机一完美终结篇.docx(8页珍藏版)》请在冰豆网上搜索。
![EDA课程设计自动奏乐机一完美终结篇.docx](https://file1.bdocx.com/fileroot1/2023-2/6/ffe5b21b-fd17-4065-a430-a104636c9404/ffe5b21b-fd17-4065-a430-a104636c94041.gif)
EDA课程设计自动奏乐机一完美终结篇
EDA课程设计报告书
自动奏乐器一
题目:
姓名:
班级:
学号:
成绩:
(注:
此文件应以同学学号为文件名)
一、设计题目及要求
1.开机能自动奏一个乐曲,可以反复演奏;
2.演奏速度可变;节拍分别为1秒和0.5秒
1155665–
4433221–
5544332–
5544332–
3.附加:
用数码管显示乐谱。
二、设计过程及内容(包括
总体设计的文字描述,即由哪几个部分构成的,各个部分的功能及如何实现方法;
主要模块比较详尽的文字描述,并配以必要的图片加以说明,但图片数量无需太多)
(1)实验采用23.438KHZ的时钟信号。
为产生6种不同音符,必须有一分频器能够在控制下产生与六种音符相对应的时钟频率(SPEAKER模块)。
(2)为实现反复自动奏乐,需要一个32循环顺序脉冲发射器,脉冲控制分频器,在32个循环周期的相应节拍产生相应的音符频率,从而达到开机自动反复演奏32个节拍音乐效果(32loop模块)。
(3)为了能够调节奏乐速度,需有一套组合分频器在控制下可以产生0.5秒/节拍和1秒/节拍的奏乐速度(CUT模块)。
电路总图如下:
各部分详细说明:
1、关于输入输出,本实验时钟输入信号为23.438KHZ,控制电路并产生对应的六个音符。
高低电平控制演奏快慢。
2、Speed3模块
本模块由4个74160模块组成,分别组成1465进制和2929进制,当in=1时,NAND7起作用,此时为2929进制,输出为8HZ,当in=0时,NAND6起作用,此时进制为1465进制,输出为16HZ,输出频率的不同从而实现了奏乐的快慢。
(通过后一模块实现了1HZ和2HZ,即节拍大小为1秒和0.5秒)。
3、32loop模块
电路图如下
两个74160组成32进制计数器,产生乐谱中的32个音符,同时通过两个74154组成32-8译码器,使每一位对应相应的音符,产生六个音符输出。
这里又有两个小模块:
(1)、cut模块,实现二次分频,输入频率分别为8HZ和16HZ,此模块由74160组成八进制分频器,产生1HZ和2HZ频率,用于控制每个音符的时间,分别为1秒和0.5秒,接于顺序脉冲选通主电路,从而控制演奏速度;
电路如图:
仿真图如下:
(2)CD模块,74160组成八进制,每个音符包括八个节拍,此模块实现,其中1/8节拍截断,7/8节拍奏乐。
电路图如下:
仿真图如下:
3、SCREEN模块
用一简单组合电路对1-6个控制信号译码产生000,001,010,011,100,101,110然后经过7449译码产生数码管显示的7个控制信号.
1
2
3
4
5
6
a
b
c
d
e
f
g
1
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
1
1
1
真值表为:
S1
S2
S3
S4
S5
S6
C
B
A
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
1
1
1
0
电路如图:
此模块由74154显示译码器显示输出,通过32为循环计数器控制输出,产生对应音符。
4、SPEAKER模块,
各音符对应频率如下
:
S1
S2
S3
S4
S5
S6
置位数
输出频率(HZ)
对应音符
1
0
0
0
0
0
44
23438/2/45=
1
0
1
0
0
0
0
39
23438/2/40=
2
0
0
1
0
0
0
35
23438/2/36=
3
0
0
0
1
0
0
33
23438/2/34=
4
0
0
0
0
1
0
29
23438/2/30=
5
0
0
0
0
0
1
26
23438/2/27=
6
电路如图
总图仿真波形图:
In=1时
In=0时
三、设计结论(包括设计过程中出现的问题;对EDA课程设计感想、意见和建议)
通过EDA数字电路课程设计,使我在理论学习的基础上,进一步加深了对数字电路的认识,通过实践我深入了解了各种数字电路器件的的设计使用方法,掌握了用基本数字电路设计小电子产品的原理和过程。
在这次实验过程中我深刻的体会到了实际动手操作的重要性,以及自己所学知识的有限和不足和数字电路的知识的庞大。
原本认为挺简单的电路在实际的电路设计和编译过程中却总是反复出现了各种意想不到的困难和错误,比如在编译时就把建立工程忽略了而造成困难,然而在老师们的热心帮助下以及同学们的互相讨论之下我终于克服了这些困难,并按时完成了实验验收。
建议:
次试验最好能改用编程语言编程实现,这样更与时俱进,对以后的学习也会更有帮助,也挺能锻炼编程能力的。