




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0 扬州大学水利与能源动力工程学院 课程设计报告 题 目 电子琴设计 课 程 单片机原理及应用课程设计 专 业 电气工程及其自动化 班 级 姓 名 学 号 1 第 一 部 分 任 务 书 2 单片机原理及应用单片机原理及应用 课程设计任务书课程设计任务书 一 课题名称一 课题名称 电子琴设计 二 课程设计目的二 课程设计目的 课程设计是课程教学中的一项重要内容 是达到教学目标的重要环节 是综合性较强的实践教学环节 它对帮助学生全面牢固地掌握课堂教学内容 培养学生的实践和实际动手能力 提高学生全面素质具有很 重要的意义 单片机原理及应用 是一门理论性 实用性和实践性都很强的课程 课程设计环节应占有更加重要 的地位 单片机原理及应用课程设计的目的是让学生在理论学习的基础上 通过完成一个涉及 MCS 51 单片 机多种资源应用并具有综合功能的小系统目标板的设计与编程应用 使学生不但能将课堂上学到的理论知 识与实际应用结合起来 而且能进一步加深对电子电路 电子元器件等知识的认识与理解 同时在软件编 程 排错调试 相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高 为今后能够独立进行某 些单片机应用系统的开发设计工作打下一定的基础 通过单片机硬件和软件设计 调试 整理资料等环节 的培训 使学生初步掌握工程设计方法和组织实践的基本技能 逐步熟悉开展科学实践的程序和方法 三 课程设计内容三 课程设计内容 设计以 89C51 单片机和外围元器件构成的单片机应用系统 并完成相应的软硬件调试 1 系统方案设计 综合运用单片机课程中所学到的理论知识 学生根据所选课题的任务 要求和条件 进行总体方案的设计 2 硬件电路设计 对方案中以单片机为核心的电路进行设计计算 包括元器件的选择和电路参数的计 算 并画出总体电路图 3 软件设计 根据已设计出的软件系统框图 用汇编语言或 C51 编制出各功能模块的子程序和整机软 件系统的主程序 4 调试 在单片机 EDA 仿真软件环境 Proteus 下进行仿真设计并调试 或在单片机周立功实验箱上进 行相关设计并调试 四 课程设计要求四 课程设计要求 设计一个电子琴 利用所给键盘的 1 2 3 4 5 6 7 8 八个键 能够发出 8 个不同的音调 并且 要求按下按键发声 松开延时一段时间停止 中间再按别的键则发另一音调的声音 3 五 进度安排五 进度安排 序号内容天数 1布置任务 熟悉课题要求0 5 2总体方案确定 硬件电路设计1 5 3软件编程1 5 4Proteus 仿真 或在周立功实验箱上调试2 5总结 撰写课程设计报告1 5 七 课程设计报告内容 七 课程设计报告内容 总结设计过程 写出设计报告 设计报告具体内容要求如下 1 课程设计的目和设计的内容 2 课程设计的要求 3 控制系统总框图及系统工作原理 4 控制系统的硬件电路连接图 电路的原理 5 软件设计流程图及其说明 6 电路设计 软件编程 调试中遇到的问题及分析解决方法 7 实验结果及其分析 8 体会 4 第 二 部 分 课 程 设 计 报 告 5 目目 录录 1 课题简介 6 1 1 课题设计目的 6 1 2 课题任务 6 1 3 课题要求 6 2 电子琴方案设计 7 2 1 控制系统总体介绍 7 2 2 系统框图 7 2 3 工作原理 8 3 电子琴硬件电路设计 9 3 1 时钟电路 9 3 2 复位电路 9 3 3 键盘电路 9 3 4 扬声器发声模块及音乐播放模块 10 3 5 总体电路图 11 4 电子琴软件编程设计 12 4 1 主程序设计 12 4 2 对音调的控制 12 4 3 对音长的控制 13 4 4 回放模块编程 14 5 实验与结果分析 15 5 1 软件仿真电路图 15 5 2 调试结果 15 6 小结与体会 16 参 考 文 献 17 附录一 源程序 18 6 1 课题简介课题简介 1 11 1 课题设计目的课题设计目的 课程设计是课程教学中的一项重要内容 是达到教学目标的重要环节 是综合性较强的实践教学环节 它对帮助学生全面牢固地掌握课堂教学内容 培养学生的实践和实际动手能力 提高学生全面素质具有很 重要的意义 单片机原理及应用 是一门理论性 实用性和实践性都很强的课程 课程设计环节应占有更加重要 的地位 单片机原理及应用课程设计的目的是让学生在理论学习的基础上 通过完成一个涉及 MCS 51 单片 机多种资源应用并具有综合功能的小系统目标板的设计与编程应用 使学生不但能将课堂上学到的理论知 识与实际应用结合起来 而且能进一步加深对电子电路 电子元器件等知识的认识与理解 同时在软件编 程 排错调试 相关软件和仪器设备的使用技能等方面得到较全面的锻炼和提高 为今后能够独立进行某 些单片机应用系统的开发设计工作打下一定的基础 通过单片机硬件和软件设计 调试 整理资料等环节 的培训 使学生初步掌握工程设计方法和组织实践的基本技能 逐步熟悉开展科学实践的程序和方法 1 21 2 课题任务课题任务 简易电子琴设计 设计以 89C51 单片机和外围元器件构成的单片机应用系统 并完成相应的软硬件调试 1 系统方案设计 综合运用单片机课程中所学到的理论知识 学生根据所选课题的任务 要求和条件 进行总体方案的设计 2 硬件电路设计 对方案中以单片机为核心的电路进行设计计算 包括元器件的选择和电路参数的计 算 并画出总体电路图 3 软件设计 根据已设计出的软件系统框图 用汇编语言或 C51 编制出各功能模块的子程序和整机软 件系统的主程序 4 调试 在单片机 EDA 仿真软件环境 Proteus 下进行仿真设计并调试 或在单片机周立功实验箱上进 行相关设计并调试 1 31 3 课题要求课题要求 设计一个电子琴 利用所给键盘的 1 2 3 4 5 6 7 8 八个键 能够发出 8 个不同的音调 1 要求按下按键发声 松开延时一段时间停止 中间再按别的键则发另一音调的声音 2 将按下的音符储存起来 放在外部扩展的 ROM 中 3 按下一个键 可以将之前储存的乐曲播放出来 7 2 电子琴方案设计电子琴方案设计 2 12 1 控制系统总体介绍控制系统总体介绍 根据方案的要求 将程序写入 AT89C51 单片机芯片 利用不同的音阶的频率不一样 用单片机来模拟 电子琴 可以使单片机的定时器工作在计数器模式下 工作方式设为方式 1 改变 TH0 和 TH1 来产生不同的 频率 从而产生不同的音阶 P1 口接独立式键盘 用扫描法读取 P1 口外接的键盘 若有键按下 则发出 对应频率的声音 单片机 P3 3 作为音频放大电路的输入 此外 系统还能实现按键的记录与重放功能 按下的键的音调和时长信息会被存储在外扩 ROM 中 按下一个键后便可回放刚才所弹奏的音乐 2 22 2 系统框图系统框图 AT89C51 单片机 按键模块 时钟电路 发声模块 记录与重播模块 8 2 32 3 工作原理工作原理 声音的频谱范围约在几十到几千赫兹 若能利用程序来控制单片机某个口线不断输出高 低电平 则在 该口线上就能产生一定频率的方波 将该方波接上喇叭就能发出一定频率的声音 若再利用程序控制高 低 电平的持续时间 就能改变输出波形的频率从而改变音调 乐曲中 每一音符对应着确定的频率 下表给出各 音符频率 如果单片机某个口线输出高 低电的频率和某个音符的频率一样 那么将此口线接上喇叭就可以发出此 音符的声音 本系统就是根据此原理设计 对于单片机来说要产生一定频率的方波大致是先将某口线输出高 电平然后延时一段时间再输出低电平 如此循环的输出就会产生一定频率的方波 通过改变延时的时间就可 以改变输出方波的频率 单片机内部有两个位的定时计数器 T1 和 T0 单片机的定时计数器实际上是个计数 装置它既可以对单片机的内部晶振驱动时钟计数也可以对外部入的脉冲计数 对内部晶振计数时称为定时器 对外部时钟计数时称为计数器 当对单片机的内部晶振驱动时钟计数时 每个机器周期定时计数器的计数值 就加 当计数值达到计数最大值时计数完毕并通知单片机的尸比对外部输入的时钟信号计数时 外部时钟的 每个时钟上升沿定时计数器的计数值就加 当计数值达到计数最大值时计数完毕并通知单片机 因此 如果知道单片机的机器周期或者外部输入时钟信号的周期单片机就可以根据定时器的计数值计算 出定时的时间 用此方法定时十分准确 想得到多大的延时时间就可以给定时器赋一定的计数初值 定时器 从预先设置的计数初值开始不断增当增加到计数最大值时计数完毕 调整计数初值的大小就可以调整定时器 定时的时间 从而达到准确的延时 9 3 3 电子琴硬件电路设计电子琴硬件电路设计 3 13 1 时钟电路时钟电路 单片机内部具有一个高增益反相放大器 用于构成振荡器 通常在引脚 XTALl 和 XTAL2 跨接石英晶 体和两个补偿电容构成自激振荡器 结构图 2 中 X1 C1 C2 可以根据情况选择 6MHz 12MHz 或 24MHz 等频率的石英晶体 补偿电容通常选择 30pF 左右的瓷片电容 图 2 时钟电路 3 23 2 复位电路复位电路 单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作 上电复位要求接通 电源后 自动实现复位操作 手动复位要求在电源接通的条件下 在单片机运行期间 用按钮开关操作使 单片机复位 其结构如下图 上电自动复位通过电容 C3 充电来实现 手动按键复位是通过按键将电阻 R1 与 VCC 接通来实现 图 3 复位电路 3 33 3 键盘电路键盘电路 键盘在单片机应用系统中是一个关键的部件 它能实现向计算机输入数据 传送命令等功能 是人工 干预计算机的主要手段 键盘可以分为 2 类 独立连接式键盘和矩阵式键盘 1 矩阵式键盘 单片机系统中 若按键较多时 通常采用矩阵式 也称行列式 键盘 矩阵式键盘由行线和列线组成 按键位于行 列线的交叉点上 显然 在按键数量较多时 矩阵式键盘较之独立式按键键盘要节省很多 I O 口 矩阵式键盘中 行 列线分别连接到按键开关的两端 行线通过上拉电阻接到 5V 上 当无键按下时 行线处于高电平状态 当有键按下时 行 列线将导通 此时 行线电平将由与此行线相连的列线电平决 定 这是识别按键是否按下的关键 10 2 独立连接式键盘 独立式按键是直接用 I O 口线构成的单个按键电路 其特点是每个按键单独占用一根 I O 口线 每个按 键的工作不会影响其它 I O 口线的状态 独立式按键电路配置灵活 软件结构简单 但每个按键必须占用一 根 I O 口线 然而 在按键较多时 I O 口线浪费较大 不宜采用 独立式按键软件常采用查询式结构 先逐位查询每根 I O 口线的输入状态 如某一根 I O 口线输入为低 电平 则可确认该 I O 口线所对应的按键已按下 然后 再转向该键的功能处理程序 由于本程序较为简单 为了使用方便及节省资源 选择独立式键盘 下图为独立式键盘电路图 图 3 键盘电路 3 43 4 扬声器发声模块及音乐播放模块扬声器发声模块及音乐播放模块 如下图所示 蜂鸣器接 P3 3 单脉冲开关电路接 P3 2 INT0 并配有示波器 11 图 4 发声电路 3 4 外扩外扩 ROM 模块模块 如下图 外扩 ROM 模块由一块 74LS373 和一块 62256 组成 可外扩 32KB ROM 空间 图 5 扩展电路 3 53 5 总体电路图总体电路图 图 6 总体电路 12 4 电子琴软件编程设计电子琴软件编程设计 4 14 1 主程序设计主程序设计 开始 初始化 是否有键 按下 赋键值 进入 T0 中断程序 P3 3 取反 存储按键信息 键是否松开 重装初值 4 24 2 对音调的控制对音调的控制 乐音实际上是有固定周期的信号 利用 AT89C51 单片机的一个定时器 如 T0 控制 在 P3 3 脚上输出 方波周期信号 驱动蜂鸣器 从而产生乐音 根据不同的按键 调节 T0 的溢出时间 可输出不同频率的乐音 这样就做出了一个简易七键电子琴 13 每个乐音的音高 频率 是固定的 表 1 列出了一个 8 度 1 2 3 4 5 6 7 共 7 个音的音名 频率 及定时器 T0 初值对照 晶振为 12MHz 调调 高高简谱音名简谱音名音音 频频定时器方式定时器方式 1 1 初值初值 1 C1522 264579 1 D2587 464685 1 E3659 264778 1 F4698 464820 1 G578464898 1 A688064968 1 b798765030 根据不同的按键 对定时器 T0 送入不同的初值 以调节 T0 的溢出时间 这样就可以输出不同音调频 率的方波 不同音调下各个音阶的定时器 编程如下 START MOV R3 P1 读 P1 口参数 CJNE R3 0FFH KEY0 检测是否有键按下 SJMP START KEY0 CJNE R3 0FEH KEY1 键一是否被按下 否则检测键二 MOV R4 0FBH 1 的发声频率 MOV R5 0E9H LJMP SOUND 转发声子程序 KEY1 CJNE R3 0FDH KEY2 键二到键八同理 MOV R4 0FCH MOV R5 5CH LJMP SOUND KEY2 CJNE R3 0FBH KEY3 MOV R4 0FCH MOV R5 0C1H LJMP SOUND KEY3 CJNE R3 0F7H KEY4 MOV R4 0FCH MOV R5 0EFH LJMP SOUND KEY4 CJNE R3 0EFH KEY5 MOV R4 0FDH MOV R5 045H LJMP SOUND KEY5 CJNE R3 0DFH KEY6 MOV R4 0FDH MOV R5 92H LJMP SOUND KEY6 CJNE R3 0BFH KEY7 14 MOV R4 0FDH MOV R5 0D6H LJMP SOUND KEY7 CJNE R3 7FH NO 键 8 是否被按下 无键被按下则返回 MOV R4 0FDH MOV R5 0FBH LJMP SOUND 4 34 3 对音长的控制对音长的控制 通过检测按键接通时间长短来控制 T0 定时器的开启时间 T0 中断程序编程如下 ITa CJNE R3 0FFH RE 判断键是否松开 CLR TR0 停止发声 MOV A R5 存储发音频率 MOVX DPTR A INC DPTR MOV A R4 MOVX DPTR A INC DPTR MOV A B 存储发音时长 MOVX DPTR A INC DPTR MOV A R2 MOVX DPTR A INC DPTR MOV B 0 MOV R2 0 SJMP RETURN RE CPL P3 3 P3 3 输出端接播放设备发声 MOV TH0 R4 MOV TL0 R5 MOV A B CJNE A 0FFH CARRY 记录发音时长 MOV B 0 INC R2 SJMP RETURN CARRY INC B RETURN RETI 15 4 44 4 回放模块编程回放模块编程 回放功能由外部中断 INT0 和定时器 IT1 两个中断服务程序实现 外部中断检测到按键的脉冲后即开始 查表 将之前弹奏的音阶的初值和时间送给定时器 T1 播放 播放结束后还会自动清空之前 ROM 中存储的信 息 流程图如下 按键产生外部中断 INT0 中断服务程 序 提取存储按键信息 T1 中断服务程序 扬声器发声 清空存储 16 5 5 实验与结果分析实验与结果分析 5 15 1 软件仿真电路图软件仿真电路图 采用 protues 软件 仿真效果图如下 5 25 2 调试结果调试结果 按下按键 1 2 3 4 5 6 7 8 蜂鸣器发出相应声音 DO RE MI FA SO LA SI 高 音 DO 且按下按键发声 松开延时一段时间停止 中间再按别的键则发另一音调的声音 按下外部中断开关 则重放之前弹奏的旋律 调试结果与试验预期相一致 17 6 6 小结与体会小结与体会 为期一周的单片机课程设计结束了 在夏老师的悉心指导和我们小组成员的共同努力下 最终圆满完 成了这次课程设计的任务 通过本次课设 我我学到了不少课本上没有的知识 也锻炼了自己的动手能力 将以前学过的零散的知识串到一起 我的小组课程设计的题目是电子琴设计 在过程中我的硬件和软件开发能力都获得了提高 首先硬件 方面 基本了解了电子产品的开发流程和所要做的工作 并设计了外围电路 通过外围电路的设计和搭建 的过程 使我对 52 系单片机的接口有了更深层次的理解 熟悉了一些单片机常用的外围电路引脚和连接方 法 如 LED 数码管 键盘等 在软件方面 通过编写和调试程序 与仿真工具的使用 使我加深了对单片 机理解 熟悉了 52 系列单片机内部的寄存器和编程规则 以及如何控制外围电路 课程设计还培养了我的耐心和毅力 常常一个小小的错误就会导致系统不正常工作 通过这个课程设 计 我积累了不少经验 对以后我们学习及工作均有很大帮助 在设计过程中 我们小组不仅完成了任务 的指定要求 还另外增加了额外的功能 我们设计的电子琴不仅可以弹奏音乐 还能将之前弹奏的旋律回 放出来 并且按键的时间长短也同样还原 当然 这其中不乏困难 当题目的难度一次次增加是 在调试 冗杂的源程序时 一次次的失败曾经让我们想过放弃 不过夏老师给了我们宝贵的指导意见和坚定的鼓励 我们终于还是坚持下来了 并且做出了满意的成果 两人一组 培养了我团队协作意识 为以后团队协作 起到了很好的借鉴 此外在学习单片机知识的时候对于这个领域有了更新更全面的认识 微型计算机的出现和大量使用将 人类社会带入一个新的时代 单片微型计算机 简称单片机 在其中扮演着十分重要的角色 虽然它没有常见 的 PC 那样大的体积和重量 不会在办公桌或控制台上占据一个显要的位置 但它就像小小的螺丝钉一样 镶嵌在人们工作 生活中需要计算 控制 测量等智能活动的各个角落 自 20 世纪 70 年代问世以来 单 片机以其体积小 可靠性高 控制功能强 使用方便 性能价格比高 容易产品化等特点 在智能仪表 机电一体化 实时控制 分布式多机系统 家用电器等各个领域得到了广泛应用 对各个行业的技术改造 和产品的更新换代起着重要的推动作用 对人们生活质量的提高产生了深刻的影响 作为 21 世纪的工科大 学生 学好单片机 一方面可以加深对计算机原理和结构的认识 另一方面也为自身在专业上的深入发展 构筑了一个很好的平台其重要性怎么强调都不为过 总之 这次的课程设计让我们进步了很多 再次感谢老师的谆谆教导和小组成员的支持 希望我们以 后能做得更好 18 参参 考考 文文 献献 1 张毅刚主编 单片机原理及应用 北京 高等教育出版社 2004 2 陈涛编著 单片机应用及 C51 程序设计 北京 机械工业出版社 2008 3 周润景主编 PROTEUS 入门实用教程 北京 机械工业出版社 2007 4 皮大能主编 单片机课程设计指导书 北京 北京理工大学出版社 2010 5 楼然苗主编 单片机实验与课程设计 Proteus 仿真版 浙江 浙江大学出版社 2010 7 控制 电子技术类杂志 报刊 19 附录一 源程序附录一 源程序 ORG 0000H LJMP MAIN ORG 0003H LJMP INTa ORG 000BH LJMP ITa ORG 001BH LJMP ITb ORG 0100H MAIN MOV SP 70H MOV TMOD 11H 定时器初始化 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB IT0 MOV TL0 00H 定时器 0 赋初值 MOV TH0 00H MOV TL0 00H 定时器 1 赋初值 MOV TH0 00H MOV P1 0FFH MOV B 0 MOV R2 0 MOV DPTR 0000H 数据指针初始化 START MOV R3 P1 读 P1 口参数 CJNE R3 0FFH KEY0 检测是否有键按下 SJMP START KEY0 CJNE R3 0FEH KEY1 键一是否被按下 否则检测键二 MOV R4 0FBH 1 的发声频率 MOV R5 0E9H LJMP SOUND 转发声子程序 KEY1 CJNE R3 0FDH KEY2 键二到键八同理 MOV R4 0FCH MOV R5 5CH LJMP SOUND KEY2 CJNE R3 0FBH KEY3 MOV R4 0FCH MOV R5 0C1H LJMP SOUND KEY3 CJNE R3 0F7H KEY4 20 MOV R4 0FCH MOV R5 0EFH LJMP SOUND KEY4 CJNE R3 0EFH KEY5 MOV R4 0FDH MOV R5 045H LJMP SOUND KEY5 CJNE R3 0DFH KEY6 MOV R4 0FDH MOV R5 92H LJMP SOUND KEY6 CJNE R3 0BFH KEY7 MOV R4 0FDH MOV R5 0D6H LJMP SOUND KEY7 CJNE R3 7FH NO 键 8 是否被按下 无键被按下则返回 MOV R4 0FDH MOV R5 0FBH LJMP SOUND SOUND SETB TR0 启动 T0 开始发声 NO LJMP START ITa CJNE R3 0FFH RE 判断键是否松开 CLR TR0 停止发声 MOV A R5 存储发音频率 MOVX DPTR A INC DPTR MOV A R4 MOVX DPTR A INC DPTR MOV A B 存储发音时长 MOVX DPTR A INC DPTR MOV A R2 MOVX DPTR A INC DPTR MOV B 0 MOV R2 0 SJMP RET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床教学课件题目
- 新解读《GB-T 36436-2018信息技术 学习、教育和培训 简单课程编列XML绑定》
- 乐器英文课件游戏教学
- 防爆电气培训
- 生管基础知识培训课件
- 2024车队汽车出租合同
- 急性间歇性卟啉病腹痛急救护理查房
- 2025年注册会计师(CPA)考试 会计科目核心考点冲刺试卷
- 教师资格证考试(中学科目二)教育知识与能力专项冲刺模拟试卷2025
- 动静脉内瘘感染护理查房记录
- 陕鼓集团线上笔试题目
- 七年级数学下册 专题 不等式(组)中新定义运算&程序性问题(解析版)
- 娱乐场所营业日志
- 《交通事故车辆及财物损失价格鉴证评估技术规范》
- 我和我的祖国混声四部合唱简谱
- LYT 2085-2013 森林火灾损失评估技术规范
- GB/T 26527-2024有机硅消泡剂
- 信息安全技术 电信领域数据安全指南
- 新人教版高中物理必修3-1全册导学案
- 青岛版科学 二年级《天气与动植物》
- 儿科系列常见病中药临床试验设计与评价技术指南-变应性鼻炎
评论
0/150
提交评论