1、目目 录录 第 1 章系统总体方案说明1 第 2 章系统硬件电路设计框图和工作原理4 2.1 89C51 单片机4 2.2 35 矩阵式键盘5 2.3 I/O 并行口直接驱动 LED 显示6 2.4 发音电路7 第 3 章 软件设计及调试8 3.1 主程序设计流程框图8 3.2 按键处理子程序9 3.3 音乐播放程序流程框图9 3.4 翻译按键码程序10 3.5 延迟子程序11 3.6 软件调试11 第 4 章 总结和体会12 第 5 章 参考文献13 附录14 附 录 A 系 统 硬 件 电 路 原 理 图 14 附录 B 源程序清单15 1 第第 1 1 章章 系统总体方案说明系统总体方案
2、说明 本文的主要内容是用 AT89C51 单片机为核心控制元件,设计 一个电子琴。以单片机作为主控核心,与键盘、蜂鸣器等模块组 成核心主控制模块,在主控模块上设有 15 个按键和蜂鸣器。本文 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单 片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要 求的音阶,最终可随意弹奏想要表达的音乐。但是由于按键数目 有限,本设计只有 15 个按键,并且还可以通过按转换键(本文为 MUSIC 来切换歌曲与音符的转换。还有,本文分别从原理图,主要 芯片,各模块原理及各模块的程序的调试来详细阐述。 本课题要求以单片机为核心设计一个简易电子琴,具有自动
3、播放乐曲和弹奏乐曲的功能。一首音乐是许多不同的音阶组成的, 而每个音阶对应着不同的频率,这样我们就可以利用不同的频率 的组合, 即可构成我们所想要的音乐了, 音阶对应频率关系图 1-1: C C 调各音符频率与计数值调各音符频率与计数值 T T 的关系的关系 音符 频率(Hz) 半 周 期 (ms) 简谱码 T 值 定时值 (H) 简谱码 T 值 定时值 (D) 低 1 Do 262 1.90 F894H 62628 低 2 Re 294 1.70 F95CH 63835 低 3 Mi 330 1.51 FA1AH 64021 低 4 Fa 349 1.43 FA6AH 64103 低 5 S
4、o 392 1.28 FB00H 64260 低 6 La 440 1.14 FB8CH 64400 低 7 Si 494 1.01 FC0EH 64524 中 1 Do 523 0.95 FC4AH 64580 中 2 Re 587 0.85 FCAEH 64684 中 3 Mi 659 0.76 FD08H 64777 中 4 Fa 698 0.72 FD30H 64820 2 中 5 So 784 0.64 FD80H 64896 中 6 La 880 0.57 FDC6H 64966 中 7 Si 988 0.51 FE02H 65030 高 1 Do 1046 0.47 FE2AH
5、65058 高 2 Re 1175 0.42 FE5CH 65110 高 3 Mi 1318 0.38 FE84H 65157 高 4 Fa 1397 0.36 FE98H 65178 高 5 So 1568 0.32 FEC0H 65217 高 6 La 1760 0.28 FEE8H 65252 高 7 Si 1967 0.25 FF06H 65283 图 1-1 本设计用 89C51 单片机为核心,利用 8 段数码管显示器.采用动态 显示输出,用户信息输入则采用 35 矩阵式键盘,声音输出用蜂 鸣器来实现。采用 8 段数码管显示器进行动态显示需要占用 4 根 I/O 线,35 矩阵式键盘占用 7 根 I/O 线,蜂鸣器占用 1 根 I/O 线,89C51 单片机有足够的线,不用扩展 I/O 口。用一片单片机即 可满足本设计的输入输出。系统框图如图 1-2 所示: 图 1-2 时钟电路 复位电路 单片机 (AT89C 51)控制 系统 8 段数码管显 示器 35 矩阵式键 盘 蜂鸣器发声电 路 3 通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的 基本功能,设定按钮 K1、 K2 和 K3。按钮 K1 打开并自动播放乐曲 1;按钮 K2 打开并