1、 单片机应用与仿真训练设计报告单片机应用与仿真训练设计报告 模拟电子琴发声控制系统模拟电子琴发声控制系统 2 摘要摘要 本设计是基于 AT89S52 单片机的电子琴的电路设计方法而制作。 该方法利用 单片机定时器来产生固定频率的方波信号以推动喇叭发出旋律。 并使用 LED 显示 器来显示音阶输入的相关消息, 然后通过按下键盘组中的相对按键使喇叭发出相 对音阶单音,并自动存储所输入的单音,之后再一起自动演奏出来,从而实现具 有存储功能的电子琴系统。本设计实现的功能是利用蜂鸣器作为发声部件,两个 数码管作为显示部件,设置 11 个按键,实现高音、中音、低音的 1、2、3、4、 5、6、7 的发音,
2、并存储一首歌的内容,可以实现自动播放。它具有 7 个音阶的 键盘,分别为 DO、RE、MI、FA、SO、LA、SI。每个音阶都对应着不同的频率, 这样,我们就可以利用不同的频率组合构成我们想要的音乐。对于单片机来产生 不同的频率非常方便, 我们可以利用单片机的定时/计数器 T0 来产生这样的方波 频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。用户可 以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音 乐播放出来。 介绍了一种基于 AT89S52 单片机的电子琴的电路设计方法。 该方法利用单片 机定时器来产生固定频率的方波信号以推动喇叭发出旋律。 然后通过按
3、下键盘组 中的相对按键使喇叭发出相对音阶单音,并自动存储所输入的单音,之后再一起 自动演奏出来,从而实现具有存储功能的电子琴系统。 关键词:单片机、电子琴、音阶、频率 3 目录目录 摘要 错误错误!未定义书签。未定义书签。 1、概述 错误错误!未定义书签。未定义书签。 1.1 电子琴概述 错误错误!未定义书签。未定义书签。 1.2 电子琴系统原理 . 错误错误!未定义书签。未定义书签。 1.3 设计任务及要求 . 错误错误!未定义书签。未定义书签。 2、系统总体方案及硬件设计 . 错误错误!未定义书签。未定义书签。 2.1 系统硬件组成 错误错误!未定义书签。未定义书签。 2.11 AT89S
4、52 简介 5 2.12 音乐播放部分 . 8 2.13 电子琴弹奏部分 8 2.2 具体发音原理 8 2.3 各部分电路图 10 2.31 晶振 . 10 2.32 复位电路 10 2.33 按键 . 11 2.34 发音 . 11 3、软件设计 . 12 3.1 流程图 . 12 3.2 主程序代码 . 13 4、Proteus 软件仿真 13 5、课程设计体会 13 参考文献. 14 附录 1 源程序代码 15 附录 2 仿真图. 23 4 1 1 概述概述 1.1 1.1 电子琴概述电子琴概述 电子琴又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自 由调节。音域较宽,和声
5、丰富,甚至可以演奏出一个管弦乐队的效果,表现力极 其丰富。它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合 唱声,风雨声,宇宙声等) 。另外,电子琴在独奏时,还可随意配上类似打击乐 音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。 AT89S52 是一种低功耗、高性能 CMOS 8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常 规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89
6、S52 在众多嵌入式控制应用系统中得到广泛应用。 本文利用 AT89C51 单片机 的强大功能,通过软件产生不同频率的声音信号,经相应的放大电路后,在扬声 器中发出 8 个音节。可以弹奏出不同的曲子。 1.2 1.2 电子琴系统原理电子琴系统原理 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这 样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于 单片机来产生不同的频率非常方便, 我们可以利用单片机的定时/计数器 T0 来产 生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即 可。只要向若将不同的音节与一定的节拍组合在一起形成一定的曲调,因此只要 一单片机 I0 口,通过软件,控制其输出不同频率的信号,就可以产生 8 个基 本音节。将音节以一定的节拍进行组合,便可以产生歌曲。乐曲中每一音符对应 着确定的频率。如果单片机某个口线输出“高低”电平的频率和某个音符的频 率一样,那么将此口线接上喇叭就可以发出此音。 1.3 1.3 设计任务及要求设计任务及要求 本系统分为两个部分, 一个是音乐播放, 另一个就