杭州电子科技大学数电大作业实验报告电子琴_第1页
杭州电子科技大学数电大作业实验报告电子琴_第2页
杭州电子科技大学数电大作业实验报告电子琴_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、杭州电子科技大学数电大作业实验报告电子琴数电大作业实验报告如图是 CODE3的 case语句程序,该模块是一个编码器,即将输入的 8位琴键信号进行编码,输出一个 4位码,最多能对应 16个音符(若有 16个键)。如图所示是 INX2CODE的 case语句程序,该模块是一个译码器,它将来自键盘输入的编码信号译码成数控分频器 SPK0输出信号的频率控制字。另外两个模块是 M_CODE和 DCD7SG,它们的 case语句程序如上图所示。前者的功能是将来自 CODE3的键盘编码译成简谱码和对应的音调高低值 ,后者是一个数码管 7段显示译码器,负责将简谱码译成数码管的显示信号。如图所示是 SPK0模

2、块的内部结构。其中的计数器 CNT11B是一个 LPM宏模块,这是一个 11位二进制加法计数器。在设置其结构参数时,应该选择同步加载控制,即 sload(Synchronous ),这样能较好地避免来自进位信号 cout中可能的毛刺影响。异步加载 aload极易受到随机窄脉冲的误触发,在此类电路中不宜采用。图中 D触发器和反相器的功能是将用于控制加载的进位信号延迟半个时钟周期,一来也是为了滤除可能的毛刺,以免对加载更为可靠,因为这时,时钟上升沿正好处于加载脉冲的中点。模块 CODE3,INX2CODE和 SPK0的主要工作过程是这样的:当按琴键后,产生的数据经编码器获得一个编码(例如,当按下第

3、二个键,对应0010,即 2),它对应模块 INX2CODE中的一个值(2对应 390H)。当这个值(如390H)被置入模块 SPK0中的 11位可预置计数器中后。由于计数器的进位端与预置数加载段端相连,导致此计数器将不断以此值作为计数起始值,直至全 1。以下以预置值为 390H为例,来计算 SPK0输出信号的频率值。当以 390H为计数器起始值后,此计数器成为一个模(7FFH-390H=46FH=1135)的计数器。即每从 CLK端输入 1135个脉冲,BEEP端输出一个进位脉冲。由于输入的时钟频率是1MHz(周期是 1us),于是 BEEP输出的信号频率是 1/(1135us)=841Hz。由下面电子琴的顶层电路可见,SPK0的输出信号经过一个由 D触发器接成的 T触发器后才输出给蜂鸣器。这时信号被作了二分频,于是,预置值 390H对应的与蜂鸣器发音的基频 F 约等于440Hz。B电子琴顶层电路中 T触发器有两个功能,一个作用是作二分频器;另一个作用是作为占空比均衡电路。这是因为由 SPK0模块输出信号的脉宽极窄,功率极低,无法驱动蜂鸣器,但信号通过 T脉宽就均

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论