单片机课程设计范本.doc_第1页
单片机课程设计范本.doc_第2页
单片机课程设计范本.doc_第3页
单片机课程设计范本.doc_第4页
单片机课程设计范本.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

请各位同学注意 以下是一个比较规范的模板 请同学们参考这个模板修改 你的单片机课程设计的报告 另外 要求字数达到 3500 左右 修改完成后 星期天晚点名时将打印稿交给我 如果不认 真修改 交来的打印稿仍然不符合要求 我将打回重做 信信息息工工程程学学院院 课课程程设设计计报报告告书书 题题 目目 电子琴设计电子琴设计 专专 业 业 计算机科学与技术计算机科学与技术 班班 级 级 0307403074 班班 学学 号 号 030920431030920431 学生姓名 学生姓名 邬龄霄邬龄霄 指导教师 指导教师 李晓艳李晓艳 2010 年 6 月 2 日 信息工程学院课程设计报告 I 摘摘 要要 电子琴是现代与音乐结合的产物 是一种新型的键盘乐器 它在现代音乐扮演 着重要的角色 单片机具有强大的控制功能和灵活的编程实现特性 它已经溶入现 代人们的生活中 成为不可替代的一部分 本文的主要内容是用 AT89S51 单片机为 核心控制元件 设计一个电子琴 以单片机作为主控核心 与键盘 扬声器等模块 组成核心主控制模块 在主控模块上设有 16 个按键和扬声器 本系统运行稳定 其 优点是硬件电路简单 软件功能完善 控制系统可靠 性价比较高等 具有一定的 实用和参考价值 关键词关键词 键盘 扬声器 电子琴 信息工程学院课程设计报告 II Abstract The design takes 89C51 SCM as the core of system s control section In order to achieve the effect of the circuit that performancing the musical instrument requesting a song the function of the memory and demonstration we can carry on software and hardware s debugging through manufacturing hardwae circuit and compiling the software s design The design applies the principle of the interruption system and fixed time the counting to performance sound production and according to the program language to realize the separation of the note and time at the sme time We can use it to playwith the broadcast music And the best advantage is this design is simply and clear Keyword Music Generator AT89C51 信息工程学院课程设计报告 III 目目 录录 摘摘 要要 I ABSTRACT II 1 前前 言言 1 1 1 课题开发背景 1 1 2 课题研究的目的和意义 1 1 3 课题的主要研究工作 1 2 系统硬件设计及说明系统硬件设计及说明 2 2 1 系统组成及总体框图 2 2 2 部分硬件方案论述 2 2 3 硬件电路图 3 2 4 元件清单 3 2 4 1 AT89C51 3 2 4 2 LCD1602 4 2 4 3 键盘输入单元 5 3 系统软件设计系统软件设计 6 3 1 使用单片机实现音乐节拍 6 3 2 使用单片机产生音频脉冲 6 3 3 系统总体功能流程图 6 3 4 程序描述 10 4 总结与展望总结与展望 11 参考文献参考文献 12 信息工程学院课程设计报告 1 1 前前 言言 1 1 课题开发背景课题开发背景 随着电子科技的飞速发展 电子技术正在逐渐改善着人们的学习 生活 工作 因此开发本系统希望能够给人们多带来一点生活上的乐趣 基于当前市场上的玩具市场需求量大 其中电子琴就是一个很好的应用方面 单片机技术使我们可以利用软硬件实现电子琴的功能 从而实现电子琴的微型化 可以用作玩具琴 音乐转盘以及音乐童车等等 并且可以进行一定的功能扩展 鉴 于传统电子琴可以用键盘上的 1 到 A 键演奏从低 So 到高 DO 等 11 个音 从 而可以用来弹奏喜欢的乐曲 该设计将十一个琴键改成 16 个 使电子琴的功能更加 完美 不但可以实现对乐曲的演奏 同时还具有存储音乐 播放歌曲以及显示按键 的功能 使该设计功能更加完善 1 2 课题研究的目的和意义课题研究的目的和意义 利用 AT89C51 单片机自带资源 设计一款能实现弹奏和带存储功能的电子琴 1 3 课题的主要研究工作课题的主要研究工作 本课题设计的主要工作有以下几个方面 1 设计出 15 个音符 随意弹奏 按 0 键为音乐休止符 不发声 用它时 间的长短表示休止时间的长短 2 用功能键转换成歌曲演奏 可播放预存的音乐 3 可存储现场弹奏的音乐 扩充功能 1 采用 LCD 显示信息 开机时有欢迎提示符 播放时显示歌曲序号 或名 称 2 显示乐曲播放时间或剩余时间 信息工程学院课程设计报告 2 2 系系统统硬硬件件设设计计及及说说明明 2 1 系统组成及总体框图系统组成及总体框图 硬件设计的任务是根据总体设计要求 在选择的机型的基础上 具体确定系统 中所要使用的元器件 设计出系统的原理框图 电路原理图 该设计要实现一种由单片机控制的电子琴 单片机工作于 12MHZ 时钟频率 使 用其定时 计数器 T0 工作模式为 1 改变计数值 TH0 和 TL0 可以产生不同频率的 脉冲信号 该设计具有 11 个音节的键盘 用户可以根据乐谱在键盘上进行演奏 音 乐发生器会根据用户的弹奏 通过扬声器将音乐播放出来 用单片机产生的音频脉 冲直接驱动扬声器并不能产生所要实现的音乐 因为它没有足够的驱动能力 这就 需要音频功率放大电路 系统结构图如图 2 1 所示 按键 单片机 AT89S52 扬声器 LED 显示电 路 图 2 1 系统结构图 2 2 部分硬件方案论述部分硬件方案论述 LCD1602 显示方式的方案比较 方案一 采用花样显示 花样显示是指 lcd 显示某一屏字符时 采取从左到右或 者是从右到左的整屏移动的显示方式 在这种显示方式下 给人的感觉就是程序是 在执行的 同时如果控制好了移动一屏的时间间隔的话 在整体视觉上可以达到很 好的效果 方案二 采用静态显示 静态显示是指 lcd 显示某一屏字符时 时钟保持当前字 符的显示 不使用移屏显示 便于控制 同时能够满足正常的显示效果 由于在显示中存在播放时间的动态变化 这样的话 即使是不产生整屏移动 也能给人动态感 也易于控制 基于以上各种特点 我选择了方案二 键盘连接方式方案比较 方案一 独立式键盘 一个具有 16 个按键的独立式键盘 每一个按键的一端都接地 另一端接 信息工程学院课程设计报告 3 AT89C51 的 I O 口 独立式键盘每一按键都需要一根 I O 线 占用 AT89C51 的硬件 资源较多 因此独立式键盘只适合按键较少的场合 键盘是一组按键或开关的集合 键盘接口向计算机提供被按键的代码 特点 使用方便 结构复杂 成本高 方案二 矩阵式键盘 我选择采用 4 4 矩阵式键盘 键盘的行线 X0 X3 通过电阻接 P3 口低四位 当键盘没有键闭合时 所有的行线和列线断开 行线 X0 X3 均呈高电平 当键盘 上某一键闭合时 该键所对应的行线与列线短路 此时该行线的电平将由被短路的 列线电平所决定 如果将行线接至单片机的输入端口 列线接至单片机的输出端口 则在单片机的控制下使列线 Y0 为低电平 其余三根列线 Y1 Y2 Y3 均为高电平 然后单片机读输入口状态 即键盘行线状态 若 X0 X1 X2 X3 均为高电平 则 Y0 这一列上没有键闭合 如果读出的行线状态不全为高电平 则为低电平的行线和 0 相交的键处于闭合状态 如果 Y0 这一列没有键闭合 紧接着使列线 Y1 为低电 平 其余列线为高电平 用同样的方法检查 Y1 这一列有无键闭合 如此类推 这种 逐行逐列地检查键盘状态的过程称为对键盘的扫描 CPU 对键盘的扫描可以采取程 序控制的随机方式 CPU 空闲时才扫描键盘 也可以采取定时控制方式 每隔一段 时间 CPU 对键盘扫描一次 还可以采用中断方式 当键盘上有键闭合时 向 CPU 请求中断 CPU 响应键盘发出的中断请求 对键盘进行扫描 以识别哪一个键处于 闭合状态 并对键输入信息作相应处理 因为如果采用独立式键盘 AT89C51 的 I O 口对于方案一来说将是很浪费资源的 为了节省 I O 口 同时使设计显得比较美观 我选用方案二 矩阵连接式键盘 为 了能够较为简单的编程 和节省 CPU 的资源 我们采用定时扫描 每隔一段时间 CPU 对键盘扫描一次 并将键值读入 2 3 硬件电路图硬件电路图 系统硬件电路图如图 2 2 所示 2 4 元件清单元件清单 因为小组是分工协作的 我们主要的工作是设计键盘输入模块 后面将会具体 介绍 2 4 1 AT89C51 AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS 8 位微处理 器 俗称单片机 主要特性 与 MCS 51 兼容 4K 字节可编程闪烁存储器 寿命 1000 写 擦 信息工程学院课程设计报告 4 循环 数据保留时间 10 年 全静态工作 0Hz 24MHz 三级程序存储器锁定 128 8 位内部 RAM 32 可编程 I O 线 两个 16 位定时器 计数器 5 个中断 源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 图 2 2 系统硬件连接图 2 4 2 LCD1602 图 2 3 16 2 的液晶显示屏LM016L 1602LCD 的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令 如表 2 1 所示 信息工程学院课程设计报告 5 表 2 1 1602 液晶模块控制指令 序号 指令 RSR WD7D6D5D4D3D2D1D0 1 清显示 0000000001 2 光标返回 000000001 3 置输入模式 00000001I DS 4 显示开 关控制 0000001DCB 5 光标或字符移位 000001S C R L 6 置功能 00001DLNF 7 置字符发生存贮器地址 0001 字符发生存贮器地址 8 置数据存贮器地址 001 显示数据存贮器地址 9 读忙标志或地址 01BF 计数器地址 10 写数到 CGRAM 或 DDRAM 10 要写的数据内容 11 从 CGRAM 或 DDRAM 读数 11 读出的数据内容 2 4 3 键盘输入单元键盘输入单元 采用 16 个 button 分别代表低音到中音的两个八度的音 而 P2 7 端口的 SW1 则是对选择是从 sounder 中播放的是从键盘输入的声音的响应还是内置音乐编码的响 应 键盘硬件连接如图 2 4 所示 图 2 4 键盘连接图 信息工程学院课程设计报告 6 3 系系统统软软件件设设计计 本软件设计关键是要实现一种由单片机控制的简单音乐发生器 它由 16 个音节 组成的的键盘 用户可以根据乐谱在键盘上进行演奏 音乐发生器会根据用户的弹 奏 通过扬声器将音乐播放出来 3 1 使用单片机实现音乐节拍使用单片机实现音乐节拍 除了音符以外 节拍也是音乐的关键组成部分 节拍实际上就是音持续时间的 长短 在单片机系统中可以用延时来实现 如果 1 4 拍的延时是 0 4 秒 则 1 拍的延 时是 1 6 秒 只要知道 1 4 拍的延时时间 其余的节拍延时时间就是它的陪数 如果 单片机要自己播放音乐 那么必须在程序设计中考虑到节拍的设置 由于本例实现 的音乐发生器是由用户通过键盘输入弹奏乐曲的 所以节拍由用户掌握 不由程序 控制 对于不同的曲调我们也可以用单片机的另外一个定时 计数器来完成 音乐的 音拍 一个节拍为单位 C 调 具体如表 3 1 所示 表 3 1 音乐节拍表 曲调值 DELAY 曲调值 DELAY 调 4 4 125ms 调 4 4 62ms 调 3 4 187ms 调 3 4 94ms 调 2 4 250ms 调 2 4 125ms 3 2 使用单片机产生音频脉冲使用单片机产生音频脉冲 了解音乐的一些基本知识后可知 产生不同频率的音频脉冲即能产生音乐 对 于单片机而言 产生不同频率有脉冲非常方便 可以利用它的定时 计数器来产生这 样的方波频率信号 因此 需要弄清楚音乐中的音符和对应的频率 以及单片机定 时计数的关系 在本实验中 单片机工作于 12MHZ 时钟频率 使用其定时 计数器 T0 工作模 式为 1 改变计数值 TH0 和 TL0 可以产生不同频率的脉冲信号 在此情况下 C 调 的各音符频率与计数值 T 的对照如表 3 2 所示 T 的值决定了 TH0 和 TL0 的值 其关系为 TH0 T 256 TL0 T 256 3 3 系统总体功能流程图系统总体功能流程图 该程序设计思路比较清晰既从开始到声明变量与函数再到读取按钮开关 判断 是否按下 然后就是一个一个按钮的动作 其主程序框图如图 3 1 所示 信息工程学院课程设计报告 7 表 3 2 音符频率与计数值 T 的对照表 音符频率 HZ 计数值 T 值 音符频率 HZ 计数值 T 值 低 1DO26263628 4FA 74064860 1DO 27763737中 5SO78464898 低 2RE29463835 5SO 83194934 2RE 31163928中 6LA88064968 低 3MI33064021 6LA 93264994 低 4FA34964103中 7SI96865030 4FA 37064185低 1DO104665058 低 SO39264260 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 循环检测按 键 图 3 1 主程序框图 按键子程序流程图如图 3 2 所示 信息工程学院课程设计报告 8 KEY1 键按下 数码管显示 0 并播放 Do 的中音 KEY2 键按下 KEY3 键按下 KEY4 键按下 KE51 键按下 KEY6 键按下 KEY7 键按下 数码管显示 1 并播放 Re 的中音 数码管显示 2 并播放 Mi 的中音 KEY8 键按下 数码管显示 3 并播放 Fa 的中音 数码管显示 4 并播放 So 的中音 数码管显示 5 并播放 La 的中音 数码管显示 6 并播放 Si 的中音 数码管显示 7 并播放 Do 的高阶中音 信息工程学院课程设计报告 9 KEY9 键按下 KEY10 键按 下 KEY11 键按 下 KEY12 键按 下 KEY13 键按 下 KEY14 键按 下 KEY15 键按 下 数码管显示 8 并播放 Do 的高音 数码管显示 9 并播放 Re 的高音 数码管显示 10 并播 放 Mi 的高音 KEY16 键按 下 数码管显示 11 并播 放 Fa 的高音 数码管显示 12 并播 放 So 的高音 数码管显示 13 并播 放 La 的高音 数码管显示 14 并播 放 Si 的高音 数码管显示 15 并播 放 Do 的高阶高音 图 3 2 按键子程序流程图 信息工程学院课程设计报告 10 3 4 程序描述程序描述 系统启动后 先对 LCD1602 进行初始化 然后进入对功能键进行判断的阶段 此后形成

温馨提示

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

最新文档

评论

0/150

提交评论