万方科技学院模拟电子琴发声控制系统.doc

上传人:自*** 文档编号:126899930 上传时间:2020-03-28 格式:DOC 页数:25 大小:148KB
返回 下载 相关 举报
万方科技学院模拟电子琴发声控制系统.doc_第1页
第1页 / 共25页
万方科技学院模拟电子琴发声控制系统.doc_第2页
第2页 / 共25页
万方科技学院模拟电子琴发声控制系统.doc_第3页
第3页 / 共25页
万方科技学院模拟电子琴发声控制系统.doc_第4页
第4页 / 共25页
万方科技学院模拟电子琴发声控制系统.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《万方科技学院模拟电子琴发声控制系统.doc》由会员分享,可在线阅读,更多相关《万方科技学院模拟电子琴发声控制系统.doc(25页珍藏版)》请在金锄头文库上搜索。

1、河南理工大学河南理工大学河南理工大学河南理工大学 单片机应用与仿真训练单片机应用与仿真训练 设计报告设计报告 模拟电子琴发声控制系统模拟电子琴发声控制系统 姓姓 名 名 学学 号 号 专业班级 专业班级 指导老师 指导老师 所在学院 所在学院 电气工程与自动化学院电气工程与自动化学院 2012 年 6 月 27 日 摘摘 要要 本设计是一个基于单片机的简易电子琴 它是以单片机作为主控核心 设 置键盘 蜂鸣器等外围器件 另外还用到一些简单器件如 NPN 型三极管及电 阻等 利用按键实现音符和音调的输入 用 NPN 型三极管 8550 实现低音频功率 放大 最后用蜂鸣器进行播放 世上只有妈妈好 本

2、设计硬件部分主要由最小系统 按键系统模块 数码管显示模块和蜂鸣 器模块组成 其软件部分主要有主程序模块 定时中断程序 定时计数程序 显示程序 1 最小系统 它是单片机应用系统的设计基础 它包括单片机的选择 时钟 系统设计 复位电路设计 简单的 I O 口扩展 掉电保护等 2 按键系统模块 本设计采用 10 个按键 其中 7 个按键用来显示 7 个音调 其它 3 个按键可以进行高低中音的切换 并自动播放已存歌曲 3 蜂鸣器模块 此电子琴发音电路是通过三极管驱动蜂鸣器发音 经过上拉 电阻提高驱动能力 本次设计首先对单片机设计简易电子琴仔细分析 接着制作硬件电路和编 写软件的程序 最后进行软硬件的调

3、试运行 并且从原理图 主要芯片 各模 块的原理和各个模块的程序调试来阐述 利用单片机产生不同频率来获得我们 要求的音阶 实现高 中 低共 21 个音符的发音和显示和音乐播放时的控制显 示 并且能自动播放程序中编排的音乐 系统运行稳定 其优点是硬件电路简 单 软件功能完善 控制系统可靠 性价比高等 具有一定的使用和参考价值 目目 录录 1 1 概述概述 3 3 1 1 设计背景 3 1 2 设计意义 3 1 3 设计任务 3 2 2 系统总体方案及硬件设计系统总体方案及硬件设计 4 4 2 1 总体设计 4 2 2 单片机选型 4 2 3 原理框图 5 2 4 显示部分设计 5 2 5 按键部分

4、设计 5 2 6 发音部分设计 7 3 3 系统软件设计系统软件设计 8 8 3 1 系统分析 8 3 2 参数计算 10 3 3 程序设计 12 4 4 PROTEUSPROTEUS 软件仿真软件仿真 1515 4 1 硬件调试 15 4 2 软件调试 15 4 3 仿真结果 15 4 4 结果分析 16 5 5 课程设计体会课程设计体会 1717 参考文献参考文献 1818 附附 1 1 源程序代码源程序代码 1919 附附 2 2 系统原理图系统原理图 2424 1 1 概述概述 1 1 设计背景 随着电子科学技术的飞速发展 电子技术正在逐渐改善着人们的学习 生 活 工作 因此开发本系统

5、希望能够给人们带来更多的生活乐趣 基于当前市场上的玩具需求量增大 其中电子琴就是一个很好的应用方面 单片机技术使我们可以利用软硬件来实现电子琴的功能 从而可以实现电子琴 的微型化 可以用作玩具琴 音乐转盘以及音乐童车等等 并且可以进行一定 的功能扩展 鉴于传统电子琴可以用键盘上的 1 到 A 键演奏从低 So 到高 DO 等 11 个音 从而也可以通过单片机实现对十个按键的扩展 实现七个音符 键的高 中 低 21 个音调的显示播放和任意音乐的自动播放 该设计将十个音 键制作成独立键盘 其中七个为音符键 三个为控制键 并用数码管进行显示 使电子琴的功能更加完美 不但可以实现对按键的显示 而且可以

6、实现对音乐 的自动存储和播放 使该设计功能更加完善 1 2 设计意义 该设计具有以下优点 可以方便得知播放的音符和音调 比传统电子琴功能更完善 制作简单 成本低 1 3 设计任务 实现电子琴发声控制系统 要求电路实现如下功能 利用蜂鸣器作为发声部件 设置 10 个按键 实现高音 中音 低音的 1 2 3 4 5 6 7 的发音 并在存储一首歌曲的内容 可以实现自动播放 用 PROTEUS 实现的电子琴仿真设计 说明 单片机的工作时钟频率为 11 0592MHz 2 系统总体方案及硬件设计系统总体方案及硬件设计 2 1 总体设计 采用 AT89S52 单片机作为主控芯片 设置键盘 蜂鸣器等外围器

7、件 另外 还用到一些简单器件如 NPN 型三极管及电阻等 利用按键实现音符和音调的 输入 两位的数码管进行被操作的按键显示 用 NPN 型三极管 8550 实现低音频 功率放大 最后用蜂鸣器发音 2 2 单片机选型 硬件电路要以单片机作为主控芯片 实现按键输入音符和音调 两位数码 管的显示以及低音频功率放大和蜂鸣器发音 针对本设计的功能和用途 采用 AT89S51 单片机更好 实现功能完全 性价比较高 更适合本设计 时钟电路 单片机内部具有一个高增益反相放大器 用于构成振荡器 通常在引脚 XTALl 和 XTAL2 跨接石英晶体和两个补偿电容构成自激振荡器 结构图 2 中 X1 C1 C2 可

8、以根据情况选择 6MHz 12MHz 或 24MHz 等频率的石英晶体 补 偿电容通常选择 30pF 左右的瓷片电容 图 2 1 时钟电路 复位电路 单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复 位操作 上电复位要求接通电源后 自动实现复位操作 手动复位要求在电源 接通的条件下 在单片机运行期间 用按钮开关操作使单片机复位 其结构如 下图 上电自动复位通过电容 C3 充电来实现 手动按键复位是通过按键将电阻 R1 与 VCC 接通来实现 图 2 2 复位电路 2 3 原理框图 本系统有主控芯片 89S52 发音单元 显示模块 按键模块组成 图 2 3 原理框图 2 4 按键

9、部分设计 键盘设计 键盘在单片机应用系统中是一个关键的部件 它能实现向计算机输入数据 传送命令等功能 是人工干预计算机的主要手段 键盘可以分为 2 类 独立连接式键盘和矩阵式键盘 独立连接式键盘 89S52 单片 机 发音模块 LED 显示模 块 按键控制模 块 独立式按键是直接用 I O 口线构成的单个按键电路 其特点是每个按键单 独占用一根 I O 口线 每个按键的工作不会影响其它 I O 口线的状态 独立式 按键电路配置灵活 软件结构简单 但每个按键必须占用一根 I O 口线 然而 在按键较多时 I O 口线浪费较大 不宜采用 独立式按键软件常采用查询式结构 先逐位查询每根 I O 口线

10、的输入状态 如某一根 I O 口线输入为低电平 则可确认该 I O 口线所对应的按键已按下 然后 再转向该键的功能处理程序 由于本程序较为简单 为了使用方便及节 省资源 选择独立式键盘 下图为独立式键盘电路图 图 2 5 独立式键盘电路图 去抖 键盘编程中主要考虑去抖动的问题 当测试表明有键被按下之后 紧接着就进行去抖动处理 因为键是机械开 关结构 由于机械触点的弹性及电压突跳等原因 在触点闭合或断开的瞬间会 出现电压抖动 为保证键识别的准确 在电压信号抖动的情况下不能进行行状 态输入 为此需进行去抖动处理 去抖动有硬件和软件两种方法 硬件方法就 是加去抖动电路 从根本上避免抖动的产生 软件消

11、抖 在第一次检测到有键 按下时 执行一段延时程序之后 再检测此按键 如果第二次检测结果仍为按 下状态 CPU 便确认此按键己按下 消除了抖动 2 5 发音部分设计 如下图所示 发音电路是由蜂鸣器 三极管 上拉电阻构成 由三极管来 驱动扬声器发音的 同时加上拉电阻增强驱动电流 提高驱动能力 图 2 5 发音部分电路图 3 3 系统软件设计系统软件设计 3 1 系统分析 系统软件的组成 1 键盘扫描程序 检测是否有按键按下 有按键按下则记录按下键的 键值 并跳转至功能转移程序 无按键按下 则返回键盘扫描程序继续检测 2 功能转移程序 对检测到的按键值进行判断 是琴键则跳转至琴键 处理程序 是功能键

12、则跳转至相应的功能程序 我们设计的功能程序有两种 即音色调节功能和自动播放乐曲的功能 3 琴键处理程序 根据检测到的按键值 查询音调表 给计时器赋值 使发出相应频率的声音 4 自动播放歌曲程序 检测到按键按下的是自动播放歌曲功能键后执行 该程序 电子琴会自动播放事先已经存放的歌曲 歌曲播放完毕之后自动返回 至键盘扫描程序 继续等待是否有按键按下 系统总体功能流程图 开开始始 扫扫描描键键盘盘 初初始始化化T T0 0 是是否否有有音音阶阶键键按按下下 播播放放内内部部音音乐乐 判判断断P PO O口口输输入入 音音阶阶键键按按下下 自自动动播播放放键键按按下下 B B0 0 2 2 0 0 高

13、高中中低低三三种种 根根据据键键值值和和工工 作作方方式式确确定定T TO O 的的值值 键键值值是是否否为为0 0 用用数数码码管管2 2显显示示 七七个个音音调调 并并发发 出出对对应应的的声声音音 启启动动T TO O 选选择择 数数码码管管一一的的工工 作作方方式式 关关掉掉声声音音 B0 Y N Y N Y N 图 3 1 系统总体功能流程图 3 2 参数计算 发音原理 若要产生音频脉冲 只要算出某一音频的周期 1 频率 再将此周期除以 2 即为半周期的时间 利用定时器计时半周期时间 每当计时终止后就将 P1 0 反相 然后重复计时再反相 就可在 P1 0 引脚上得到此频率的脉冲 利

14、 用 AT89C51 的内部定时器使其工作计数器模式 MODE1 下 改变计数值 TH0 及 TL0 以产生不同频率的方法产生不同音阶 例如 频率为 523Hz 其周期 T 1 523 1912 s 因此只要令计数器计时 956 s 1 s 956 每计数 956 次时将 I O 反相 就可得到中音 DO 523Hz 计数脉冲值与频率的关系式是 N fi 2 fr 式中 N 是计数值 fi 是机器 频率 晶体振荡器为 12MHz 时 其频率为 1MHz fr 是想要产生的频率 其计 数初值 T 的求法如下 T 65536 N 65536 fi 2 fr 例如 设 K 65536 fi 1MHz

15、 求中音 DO 261Hz T 65536 N 65536 fi 2 fr 65536 1000000 2 fr 65536 500000 f r 中音 DO 的 T 65536 500000 523 64580 计算结果 1 单片机 12MHZ 晶振 中音符与计数 T0 相关的计数值如表所示 音符频率 HZ 计数值 T 值 音符频率 HZ 计数值 T 值 低 1DO26263628 4FA 74064860 1DO 27763737中 5SO78464898 低 2RE29463835 5SO 83194934 2RE 31163928中 6LA88064968 低 3MI33064021

16、6LA 93264994 低 4FA34964103中 7SI96865030 4FA 37064185低 1DO104665058 低 5SO39264260 1DO 110965085 5SO 41564331高 2RE117565110 低 6LA44064400 2RE 124565134 6LA 46664463高 3MI131865157 低 7SI49464524高 4FA139765178 中 1DO52364580 4FA 149065198 1DO 55464633高 5SO156865217 中 2RE58764633 5SO 166165235 2RE 62264884高 6LA176065252 中 3MI65964732 6LA 186565268 中 4FA69864820高 7SI196765283 采用查表程序进行查表时 可以为这个音符建立一个表格 有助于单片机通过 查表的方式来获得相应的数据 低音 0 19 之间 中音在 20 39 之间 高音在 40 59 之间 用单片机播放音乐 或者弹奏电子琴 实际上是按照特定的频率 输出一连串的方波 为了输出合

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号