毕业论文-基于AT89S52单片机的电子琴设计06646.doc_第1页
毕业论文-基于AT89S52单片机的电子琴设计06646.doc_第2页
毕业论文-基于AT89S52单片机的电子琴设计06646.doc_第3页
毕业论文-基于AT89S52单片机的电子琴设计06646.doc_第4页
毕业论文-基于AT89S52单片机的电子琴设计06646.doc_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

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

文档简介

广州大学松田学院 毕业论文(设计) 题 目 基于 at89s52 单片机的电子琴设计 1 基于 at89s52 单片机的电子琴设计 摘要:微型计算机是大规模集成电路技术发展的产物,属第四代电子计算 机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。 就因为它的应用非常广泛,因此,单片机的开发应用已成为高科技和工程领域 的一项重大课题。而音乐现在也成了人们生活的一部分,生活的压力,学习的 压力,工作的压力,一切的不顺利可以在音乐声中放松下来,让人们心情舒畅, 听着音乐放松心情,让我们提高生活质量。本论文设计一个基于单片机的简易 电子琴。电子琴是现代电子科技与音乐结合的产物,是一种键盘乐器。本系统 是以 51 系列单片机 at89s52 为主芯片,附有矩阵键盘、 led 显示管、扬声器 组成。系统完成显示输入信息、播放相应音符等基本功能。本系统运行稳定, 其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有 一定的实用和参考价值。 关键词:at89s52,矩阵键盘,led 显示管,扬声器。 design of electronic organ based on mcu abstract:microcomputers are large scale integrated circuit technology development of the fourth generation of the product, electronic computers, it has high performance, high speed, small volume, low prices, stable and reliable, widely characteristics. just because its very extensive, therefore, scm for the development and application of high-tech and engineering field has become a major issue. but music now also become a part of life, life pressure, the pressure of learning, working pressure, all is not well in music can relax and let people in a relaxed mood, listen to music to relax, let us improve the quality of life. this paper is based on single chip design a simple keyboard. modern electronic technology and keyboard is the combination of music, is a kind of keyboard instrument. scm has strong control function and flexible programmable achieve properties, it has into modern peoples life, become part of the entertainment and leisure. this system is mainly 51 series microcontroller at89s52, accompanied by matrix keyboard, chip, speaker ,led. system completes display input information, the basic function such as broadcast corresponding notes. this system stable operation, its advantage is hardware circuit is simple, software function consummation, the control system is reliable, cost-effective higher, has certain practical and reference value. keywords: at89s52, matrix, led, speaker 目 录 1 引 言 1 1.1 课题的背景和意义 1 1.2 课题的研究内容与拟解决的主要问题 2 2 任务要求与总体设计方案 3 2.1 系统设计要求 3 2.2 单片机简介 3 2.2.1 单片机的定义 .3 2.2.2 单片机的应用 .3 2.3 系统框图 4 2.4 元件简介 4 2.4.1 at89s52 .4 2.4.2 lm386 .6 3 硬件设计及说明 8 3.1 系统硬件总体设计 8 3.2 系统的工作原理 .10 3.2.1 矩阵键盘模块 .12 3.2.2 数码管模块 14 3.2.3 扬声器模块 14 3.2.4 红外电源模块 15 4 软件设计 16 4.1 整体程序处理流程图 .16 4.2 如何用单片机实现音乐的节拍 17 4.3 音乐播放设计 .18 5 系统调试 20 5.1 程序调试 .20 5.2 仿真调试 22 结论 25 参考文献 26 致谢 27 附录 1 系统硬件实物图 28 附录 2 系统电路原理图及 pcb 图 .29 附录 3 系统主要程序 .30 1 1 引 言 1.1 课题的背景和意义 随着生活水平的提高,人们的需求不再仅仅是物质上的满足,更多的是要 求精神上的放松。在放松自己的同时又能提高各个方面的能力。学习和欣赏音 乐可以在人们疲劳的时候得到放松,同时提高人们的精神品质和素养。如今爱 好音乐的人越来越多,有不少人自己练习乐器作为业余爱好来陶冶情操,可鉴 于一些乐器学习难度大,需要太多的时间,并且价格又太过于高昂,使得一部 分有这种想法的人不得不放弃。而一些简易的电子乐器价格相对便宜,学习简 单,价格相对便宜,能够了满足一般爱好者的需求。因此简易电子乐器的研制 具有一定的社会意义。 单片机是在一块芯片内集成了计算机的各个功能部件,构成一种单片式的 微型计算机。单片机的发展迅速,应用不断深入,新技术层出不穷。并已广泛 应用到人类生活的各个领域,如家电、通讯设备、玩具、智能卡、汽车及防盗、 医用保健、仪表、工业过程控制等,成为当今科学技术现代化不可缺的重要工 具。 之所以以单片机电子琴选题,目的在于从日常生活能接触到的细微处着手, 通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论上的不 足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和 实践相得益彰。当前市场上的玩具市场需求量大,其中电子产品占有重要的位 置,然而电子琴也是一个很好的应用方面。单片机技术使我们可以利用软硬件 实现电子琴的功能,从而实现电子琴的微型化,可以用于玩具琴、音乐盒中、 儿童车里等等。 本文首先介绍了单片机的定义,分别介绍了单片机的特点,应用领域还有 单片机的历史,然后介绍了电子琴的系统,分别介绍了电子琴的硬件系统的构 成还有电子琴的软件部分还有电子琴的仿真,最后介绍了电子琴在调试中所用 的软件。 2 1.2 课题的研究内容与拟解决的主要问题 本课题主要研究基于单片机的电子琴设计,以 at89s52 芯片作为主要核心 部件,4*4 的矩阵键盘作为输入部分,数码管显示字符,扬声器作为主要输出 设备,结合 keil 和 protues 等软件的功能,通过编译程序结合仿真,实现 电子琴内置音乐的播放和弹奏音乐的功能,同时通过两个 led 灯的亮灭表示当 时弹奏或播放的状态,数码管显示按键的 16 个字符“09,a f”来表示当 前所按下的键。 本设计拟定解决的主要问题: 1. 了解单片机单元的结构和主要要求; 2. 根据要求进行总体方案的论证和设计; 3. 对音调的控制; 4. 对音长的控制; 5. 对演奏的控制; 6. 乐谱的编码规则; 7. 键盘输入部分和电源供给部分的设计; 8. 总体电路的设计和软件编程实现功能。 3 2 任务要求与总体设计方案 2.1 系统设计要求 本系统分为两个部分,音乐播放和音乐的弹奏。 1、 要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。 2、 用键盘作出电子琴的按键,每个键代表一个音符。 3、 各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。 4、 固定音乐播放有按键控制:“播放” 、 “弹奏/停止” 。 5、 弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。 2.2 单片机简介 2.2.1 单片机的定义 随着大规模集成电路的出现和发展,芯片厂家把中央处理器 cpu,随机存 取内存 ram,只读存储器 rom,定时器/计数器以及 i/o 接口电路等主要计算机 部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片机 微处理器。 2.2.2 单片机的应用 虽然单片机出现的历史并不长,单发展十分迅猛,在集成度、功能、速度、 可靠性、应用领域等全方位向更高水平发展。目前单片机已用于工业控制、机 电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗 设备及家用电器等各个领域。单片机技术发展非常快,所以目前的产品都致力 于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研 究,精心设计,单片机的应用有利于产品的小型化、多功能话和智能化,有助 于提高劳动效率。减轻劳动强度,提高产品质量,改善劳动环境,减少能源和 4 材料消耗,保证安全等。 2.3 系统框图 单片机因体积小、功能强、价格低而得到诪泛应用。本系统只要以 51 单片 机为主控核心,扩展一组矩阵键盘、扬声器、led 显示管模块和一组发光二极 管来指示电子琴的工作状态一起组合而成。 具体如下图 21: at89s52 单片机4*4 矩阵键 盘 数码管显示 发光二极管 喇叭 图 21 电子琴的框图 用 p0 口的高四位和 p0 口的低四位作 4*4 矩阵式按键的接口,用 p2 口作数 码管的接口,用 p3.7 作信号输出口。 2.4 元件简介 2.4.1 at89s52 1.at89s52低功耗高性能 cmos 8 位单片机,片内 8k bytes isp(in- system programmable)的可反复擦写 1000 次的 flash 只读程序存储器,器件采用 atmel 公司之高密度、非易失性存储技术制造,兼容标准 mcs-51 指令系统及 80c51 引脚结构,片上 flash 允许程序存储器在系统可编程,亦适于常规编程 器。单芯片上,拥有 8 位 cpu 及在系统可编程 flash,使 at89s52 为众多嵌入 式控制应用系统提供高灵活、超有效之解决方案。 5 2.at89s52 之特点: 40 个引脚,8k bytes flash 片内程序存储器,256 bytes 的随机存取数据存储 器(ram),32 个外部双向输入/输出(i/o)口,5 个中断优先级 2 层中断嵌套 中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗(wdt)电 路,片内时钟振荡器。 3.at89s52 功能 8k 字节 flash,256 字节 ram,32 位 i/o 口线,看门狗定时器,2 个数据指针, 三个 16 位定时器/计数器,一 6 向量 2 级中断结构,全双工串行口,片内晶振 及时钟电路。at89s52 可降至 0hz 静态逻辑操作,支持 2 种软件可选节电模式。 空闲模式下,cpu 停止工作,允许 ram、定时器/计数器、串口、中断继续工作。 掉电保护方式下,ram 内容被保存,振荡器被冻结,单片机一切工作停止,直到 下一中断或硬件复位为止。 4.at89s52 引脚结构 at89s52单片机有4个8位并行i/o口: p0口、p1 口、p2 口和p3口,各引脚 如图2-3 所示。 6 图 2-3 dip40 封装 89s52 引脚图 2.4.2 lm386 lm386 是美国国家半导体公司生产的音频功率放大 器,主要应用于低电压 消费类产品。为使外围元件最少,电压增益内置为 20。但在 1 脚和 8 脚之间增 加一只外接电阻和电容,便可将电压增益调为任意值,直至 200。输入端以地位 参考,同时输出端被自动偏置到电源电压的一半,在 6v 电源电压下,它的静态功 耗仅为 24mw,使得 lm386 特别适用于电池供电的场合。lm386 是一种音频集成功 放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐 波失真小等优点,广泛应用于录音机和收音机之中。 lm386 的封装形式有塑封 8 引线双列直插式和贴片式。 图 2-4 lm386 的封装形式 特性(features) 静态功耗低,约为 4ma,可用于电池供电。 工作电压范围宽,4-12v or 5-18v。 外围元件少。 电压增益可调,20-200。 低失真度。 其典型应用电路如下: 7 图 2-5 放大器增益=20(最少器件) 图 2-6 放大器增益=50 图 2-7 低频提升放大器 8 3 硬件设计及说明 3.1 系统硬件总体设计 本系统由键盘矩阵、led 显示管、扬声器这几个部分组成,led 显示管显示 当前按键,扬声器发出对应音符。 单片机因体积小、功能强、价格低廉而得到广泛应用。at89s52 单片机设 计微型电子琴的方法,仅需 at89s52 最小系统,扩展一组矩阵键盘,再接一组 发光二极管用来指示单片机的工作状态。 单片机最小系统 要使单片机工作起来,最基本的电路的构成为 1、电源电路:向单片机供电。单片机电源: 9 at89s51 单片机的工作电压范围:4.0v5.5v, 所以通常给单片机外接 5v 直流电源。连接方式为 vcc(40 脚):接电源+5v 端 vss(20 脚):接电源地端 2、时钟电路:单片机工作的时间基准,决定单片机工作速度。 时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单 片机的执行速度。at89s51 单片机时钟频率范围:033mhz。 时钟电路连接方式为: 3、复位电路:确定单片机工作的起始状态,完成单片机的启动过程。 单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作 状态。手动按键产生复位信号,完成 10 单片机启动,确定单片机的初始状态。 通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机 “重启”。 硬件总体设计图如图 31: 图 31 利用 proteus 仿真设计的硬件电路图 3.2 系统的工作原理 本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。 用 at89s52 的并行口 p0 接 44 矩阵键盘,以 p0.0p0.3 作输入线,以 p0.4p0.7 作输出线;在数码管上显示每个按键的“0 f”序号。 总体电路具体原理如下: 开始 模块初始化 发送扫描码 有键按下 扫描键盘矩阵 显示按键 启动定时器 停止播放 11 否 是 图 32 系统工作原理图 延时 结束 12 3.2.1 矩阵键盘模块 a0a1a2 a3a4a5 a6a7 a7 a6 a3 a2 a1 a0 a5 a4 r2pulup r3pulup r4pulup r5pulup r6 pulupr7pulupr8 pulupr9 pulup 图 3-3 矩 阵 键 盘 模 块 图 如 图 3-3: 在 键 盘 中 按 键 数 量 较 多 时 , 为 了 减 少 i/o 口 的 占 用 , 通 常 将 按 键 排 列 成 矩 阵 形 式 。 在 矩 阵 式 键 盘 中 , 每 条 水 平 线 和 垂 直 线 在 交 叉 处 不 直 接 连 通 , 而 是 通 过 一 个 按 键 加 以 连 接 。 这 样 , 一 个 端 口 ( 如 p0 口 ) 就 可 以 构 成 4*4=16 个 按 键 , 比 直 接 将 端 口 线 用 于 键 盘 多 出 一 倍 , 而 且 线 数 越 多 , 区 别 越 明 显 , 比 如 再 多 加 一 条 线 就 可 以 构 成 20 键 的 键 盘 , 而 直 接 用 端 口 线 则 只 能 多 出 一 个 键 。 由 此 可 见 , 在 需 要 的 键 数 比 较 多 时 , 采 用 矩 阵 法 来 做 键 盘 是 合 理 的 。 矩 阵 式 结 构 的 键 盘 显 然 比 直 接 法 要 复 杂 一 些 , 识 别 也 要 复 杂 一 些 , 列 线 通 过 电 阻 接 正 电 源 , 并 将 行 线 所 接 的 单 片 机 的 i/o 口 作 为 输 出 端 , 而 列 线 所 接 的 i/o 口 则 作 为 输 入 。 这 样 , 没 有 键 按 下 时 , 所 有 的 输 出 端 都 是 高 电 平 , 代 表 无 键 按 下 。 行 线 输 出 是 低 电 平 , 一 旦 有 键 按 下 , 则 输 入 线 就 会 被 拉 低 , 这 样 , 通 过 读 入 输 入 线 的 状 态 就 可 得 知 是 否 有 键 按 下 了 。 13 矩阵式键盘的按键识别方法: 确 定 矩 阵 式 键 盘 上 何 键 被 按 下 , 介 绍 一 种 “行 扫 描 法 ”。 行 扫 描 法 又 称 逐 行 扫 描 查 询 法 , 是 一 种 最 常 用 的 按 键 识 别 方 法 。 判 断 键 盘 中 有 无 键 按 下 , ,将全部行线 a0-a3 置低电平,然后检测列线 的状态,只要有一列的电平为低,就表示键盘中有键被按下,而且闭合的键位 于低电平线与 4 根行线相交叉的 4 个按键之中。再判断闭合键所在的位置,依 次将行线置为低电平时,再逐行检测各列线的电平状态,若某列为低电平,则 该列线与置为低电平的行线交叉处的按键为闭合。若所有的列线均为高电平, 则无按键按下。 键盘接口必须具有的 4 个基本功能: (1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的 持续时间与键的质量相关。所谓抖动是指在识别被按键是必顺避开抖动状态, 只有处在稳定接通或稳定断开的状态才能保证识别正确无误。去抖问题可通过 软件延时或硬件电路解决。 (2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又 有新的按键按下时产生的问题。常用的方法有双键锁定和 n 键轮回两种方法。 双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效 键并产生相应的键码。n 键轮回,是当检测到有多个键被按下时,能根据发现 它们的顺序依次产生相应键的键码。 (3)被按键识别:如何识别被按键是接口解决的主要问题,一般可能过软硬 结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本回 想是由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭全键,为此需 要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本 思想是通过行列颠倒两次扫描来识别闭合键,为些需要提供两个可编程的双向 输入/输出端口。 (4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在 内在区中建立一个键盘编码表,通过查表获得被按键的键码。 14 3.2.2 数码管模块 共阴极数码管在应用时将公共极 com 接到地线 gnd 上,当某一字段发光 二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时, 相应字段就不亮,这样来显示字符。 led 显示模块如图 3-4 所示,利用 at89s52 单片机的 p2 端口的 p2.0p2.6 连接到一个七段数码管上,数码管的公共端接地。 矩阵扫描显示当前按键模块如下: 图 3-4 数码管模块图 3.2.3 扬声器模块 音乐播放和弹奏是在 p3.7 引脚上输出方波周期信号,产生音乐。 矩阵扫描扬声器发出对应音符模块如下: 图 3-5 扬声器模块图 15 3.2.4 红外电源模块 该模块主要由红外模块,继电器,电源组成。主要为了实现由红外控制电 源的开关。 红外模块由红外接收器,红外遥控器组成。红外接收器上电默认输出低电 平且状态灯不亮并保持,直到按一下遥控器按键后,模块会输出变为高电平且 状态指示灯会点亮并保持至下一次再按遥控器按键为止,输出电平依据遥控按 键次数高低电平循环变化并保持状态。 继电器:常开口与单片机的 gnd 线接通,单片机的 vcc 线与电源接通, 则输入高电平继电器吸合,输入低电平继电器释放。吸合时单片机与电源接通, 正常工作,释放时,单片机与电源断开,停止工作。 控制结构框图: 释放状态 吸合状态 工作原理:上电后当红外接收器接收到遥控器的红外信号,向继电器输出高电 平,继电器输入高电平后处于吸合状态,单片机与电源接通正常工作,再次按 下遥控器,红外接收器向继电器输出低电平,继电器输入低电平后处于释放状 态,单片机与电源断开,停止工作。 红外接收器 继电器 单片机工作单片机不工作 16 4 软件设计 4.1 整体程序处理流程图 n 有无按键按下 y 有无按键 按下 n y 图 41 程序流程图 初始化 键盘扫描 延时消抖 根据当前状态识别按键 功能选择键键值 选择查表法 矩阵键盘键值 根据键值查表 查表所得数据送入 p2,p3.7 17 电子琴播放音乐原理: 乐音实际上是有固定周期的信号。本文介绍用 at89s52 的两个定时器(如 t0,t1)控制,在 p3.7 脚上输出方波周期信号,产生乐音,通过矩阵键盘按键 产生不同的音符。由于一首音乐是许多不同的音阶组成的,而每个音阶对应着 不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的 音乐了,当然对于单片机产生不同的频率非常方便,我们可以利用单片机的单 片机的定时/计数器 t0 来产生这样方波频率信号,因此,我们只要把一首歌曲 的音阶对应频率关系弄正确即可。乐曲中,每一音符对应确定的频率,我们将 每一个音符的时间常数和其对应的节拍常数作为一组,按顺序将乐曲中的所有 常数排列成一个表,然后由查表程序一次取出,产生音符并控制节奏,就可以 实现演奏效果。 在电子琴开始工作时,系统默认电子琴处于弹奏状态,歌曲选择功能键的 目的是赋予矩阵键盘第二功能,即对系统内置的歌曲进行选择,在放歌时能通 过弹奏/停止键来结束放歌,选歌时必顺先按下歌曲选择功能键,在通过矩阵键 盘来选择和切换曲目。 4.2 如何用单片机实现音乐的节拍 除了音符以外,节拍也是音乐的关键组成部分。 节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现, 如果 1/4 拍的延时是 0.4 秒,则 1 拍的延时是 1.6 秒,只要知道 1/4 拍的延时 时间,其余的节拍延时时间就是它的陪数。如果单片机要自己播放音乐,那么 必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通 过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。对于不同的曲 调我们也可以用单片机的另外一个定时/计数器来完成。音乐的音拍,一个节拍 为单位(c 调)具体如下表: 曲调值 delay 曲调值 delay 调 4/4 125ms 调 4/4 62ms 调 3/4 187ms 调 3/4 94ms 18 表 3 音乐节拍表 4.3 音乐播放设计 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样 就可以利用不同的频率的组合来构成想要的音乐。我们可以利用单片机的定时/ 计数器 t0 来产生这样的方波频率信号。 若要产生音频脉冲,只要算出某一音频的周期(1/ 频率) ,再将此周期除以 2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将 p3.7 反相,然后重复计时再反相。就可在 p3.7 引脚上得到此频率的脉冲。 利用 at89s52 的内部定时器使其工作计数模式( mode1)下,改变计数 值 th0 及 tl0 以产生不同频率的方法产生不同音阶,例如,频率为 523hz, 其周期 t/5231912u,因此只要令计数器计时 956us/1us=956,每计数 956 次时将 i/反相,就可得到中音 do(523hz) 。 计数脉冲值与频率的关系式是:n=fi/2/fr 式中,n 是计数值:fi 是机器频率(晶体振荡器为 12mhz 时,其频率为 1mhz) ;fr 是想要产生的频率。 其计数初值 t 的求法:t=65536-n=65536-fi/2/fr 例如:设 k=65536,fi=1mhz,求低音 do(261hz) 、中音 do(523hz) 、 高音 do(1046hz)的计数值。 t=65536-n=65536-fi/2/fr=65536-1000000/2/fr=65536-500000/fr 低音 do 的 t=65536-500000/262=63628 中单 do 的 t=65536-500000/523=64580 高音 do 的 t65536-500000/1046=65058 c 调的各音符频率与计数值 t 的对照如下表: 调 2/4 250ms 调 2/4 125ms 19 表 4 音符频率表 音频 频率 (hz) 简谱码 ( t 值) 音频 频率 (hz) 简谱码 ( t 值) 休止 0 0 中音 4 698 64820 低音 1 262 63628 中音 5 784 64898 低音 2 294 63835 中音 6 880 64968 低音 3 330 64021 中音 7 988 65030 低音 4 349 64103 高音 1 1046 65058 低音 5 393 64260 高音 2 1175 65110 低音 6 440 64400 高音 3 1318 65157 低音 7 494 64524 高音 4 1397 65178 中音 1 523 64580 高音 5 1568 65217 中音 2 587 64684 高音 6 1760 65252 中音 3 659 64777 高音 7 1967 65283 对于不同的曲调我们要用单片机的另外一个定时/计数器来完成。在这个程 序中用到了两个定时/计数器来完成的。其中 t0 用来产生音符频率,t1 用来产 生音拍。 20 5 系统调试 5.1 程序调试 1、打开 keil,创建工程 my project ,输入程序。 2、保存程序为“电子琴.c”编译运行,如图: 图 51 程序调试图 3、设置 options for target “target 1”,生成.hex 文件。 21 图 52 设置 target 图 53 设置 output 22 5.2 仿真调试 1、用 proteus 设计硬件电路图 图 54 仿真设计图 2、在 u1 中导入电子琴.hex. 将鼠标放置 at89s52 元件上,双击弹出对话框,在 program file 中选择 电子琴.hex,单击确定键。 23 图 55 编辑元件 24 3、运行仿真 点击图中运行按钮 ,运行仿真。 将程序导入 at89s52 芯片后,运行成功。 如图 56 图 56 运行仿真图 25 结论 本课题通过制作电子琴,将几个模块很好的融合起来,对使用单片机设计 简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机 产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。说明 一首音乐是许多不能的音阶组成的,而每个音阶对应着不同的频率,这样我们 就可以利用不同的频率的组合,即可构成我们所想要的音乐了,于是我们可以 利用单片机的定时/计数器 t0 来产生这样方波频率信号,因此,我们主要把一 首歌曲的音阶对应频率关系弄正确即可,然后我们利用功放电路来将音乐声音 放大,同时通过显示模块确知自己所弹的音符。 通过这次课程设计,我学到了不少课本上没有的知识,也锻炼了自己的动 手能力,将以前学过的零散的知识串到一起。经过我长时间的设计及调试,本 系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放 对应的音符。但由于仿真系统原因,本设计音频效果不是很好。不足之处有:1.未 能完全达到老师给的要求,和本设计的歌曲播放控制方法未达理想状态。2.音 量不可调。 我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软 件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和 所要做的工作。并设计了一个单片机最小系统。通过开发板的设计和硬件搭建 的过程,使我对 51 系单片机的接口有了更深层次的理解,并且我学会了分析问 题解决问题的能力,加深了对所学理论知识的理解和运用。我的动手能力得到 了很大的提高,创新意识得到了锻炼。 26 参考文献 1康年光.电子技术基础(数宇部分).高等教育出版社.2005. 07 2刘乐喜.微机计算机接口技术及应用.华中科技大学出版社.2005. o8 3谢嘉奎.电子线路(线性部分).高等教育出版社.2004. 04 4潭浩强.c 语言程序设计.清华大学出版社.2005. 07 5李群芳,肖看.单片机原理、接口及应用一嵌入式系统技术基础.清华大学 出版社.2005. 03 6 博琴.微型计算机原理与接口技术.清华大学出版社.2004 7长德,李华,李东.hics51/98 系列单片机原理与应用.机械工业出版社. 1997 8李群芳,张士军,黄建.单片微型计算机原理与接口技术.电子工业出版社. 2002 9石东海等.单片机数据通信技术从入门到精通.西安电子科技大学出版社. 2002 10谢自美等.电子线路设计、实验、测试(第二版).华中科技大学出版社.2000 27 致谢 经过数多月的设计,本毕业设计已经完成。 通过本次毕业设计,使我对单片机的了解进一步加深,无论在硬件还是在 软件方面使我对电子产业都有了更深的了解,也使我拥有了查阅资料和解决设 计过程中遇到的实际问题的能力,这些都将成为我以后工作道路上不可或缺的 经验。 首先,感谢一些专家学者等同志的专著文献和网上的一些发表资料。 其次,感谢系里的领导和老师们,感谢他们在毕业设计论文阶段对自己的 严格要求和关心支持。 还要感谢所有帮助过自己的同学们,与他们的讨论和交流给了自己很多有 益的启迪,对自己掌握学科知识、完成设计任务和论文写作给予了很大帮助。 最后感谢本人的设计论文指导老师。本设计论文是在他悉心指导下完成了, 老师特别注重工作方法、工作方向的指导,使自己的工作能力得到了很大的提 高。指导老师严谨的治学态度,谦逊和蔼的风范对自己产生的深远影响,使自 己受益终生。他严谨的治学态度和宽厚、坦诚的人生原则,为自己所深深敬佩。 衷心地感谢老师的悉心指导。并对我以后走向工作岗位还是很受帮助的,他的 精神将激励着我不断的成长。 29 附录 1 系统硬件实物图 30 附录 2 系统电路原理图及 pcb 图 31 附录 3 系统主要程序 #include #include #include #include #define uchar unsigned char /宏定义 #define uint unsigned int /宏定义 uchar sth0; /定时器计数初值 uchar stl0; bit fy=0; /放乐曲时 fy=1,电子琴弹奏时 fy=0 uchar song_index=0,tone_index=0; /放音乐的参数 uchar k, key; sbit spk=p37 ; /定义蜂鸣器端口 sbit led1=p10 ; /led1 端口定义 sbit led2=p11 ; /led2 端口定义 uchar code dsy_code=0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71; uchar code song50= /歌曲的旋律 1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1, 3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,5,3,3,2,1,1,-1, 3,2,1,3,2,1,1,2,3,2,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1, 10,10,10,9,10,9,10,9,9,6,6,7,8,9,8,7,6,5,6,-1, 10,10,10,9,10,13,12,13,12,12,9,9,10,11,12,11,10,9,8,10,10,-1, 13,14,13,12,12,10,12,10,12,9,13,12,10,9,10,10.-1, 9,13,13,13,8,13,13,13,13,14,15,14,13,14,13,14,10,10,-1, 13,14,13,12,12,10,12,10,12,13,14,13,14,13,14,10,-1, 9,13,13,13,8,13,13,13,13,14,15,14,13,13,14,12,13,-1, 5,5,10,9,8,5,5,5,5,10,9,8,6,6,6,11,10,9,6,-1, 32 6,12,12,11,9,10,8,5,5,10,9,8,5,5,5,10,9,8,6,-1, 6,6,11,10,9,12,12,12,12,13,12,11,9,8,10,10,10,-1, 10,10,10,10,12,8,9,10,11,1,11,11,11,10,10,10,10,10,9,9,8,9,12,12,12,11, 9,8,-1, 13,13,8,13,13,13,13,14,15,14,13,14,13,14,10,10,13,14,13,12,12,10,12,10, 12,13,14,13,14,13,14,10,9,13,13,13,8,13,13,13,13,14,15,14,13,13,14,12,13,-1, 6,6,11,10,9,12,12,12,12,13,12,11,9,8,10,10,10,10,10,10,10,12,8,9,10,11,11,11,1 1,11,10,10,10,10,10,9,9,8,9,12,12,12,11,9,8,-1, 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,-1 ; uchar code len50= /上面对应的节拍,间隔时间 1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,-1, 1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1, 1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1, 1,1,1,1,2,1,1,1,1,0,1,1,0,1,1,0,1,1,2,1, 1,1,1,1,0,1,1,1,1,1,0,1,1,0,1,1,0,1,1,3,1,-1, 0,1,1,0,1,1,2,1,1,0,1,1,0,1,1,2,-1, 0,1,1,2,0,1,1,0,1,1,0,1,1,0,1,1,2,1,-1, 0,1,1,0,1,1,2,1,1,0,1,1,0,1,1,4,-1, 0,1,1,2,0,1,1,0,1,1,0,1,1,0,1,4,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-1, 1,1,2,0,1,1,0,1,1,0,1,1,0,1,1,2,1,0,1,1,0,1,1,2,1,1,0,1,1,0,1,1,4,0,1,1,2,0,1,1,0,1,1,0 ,1,1,0,1,4,-1, 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 ,1,-1, 1,1,1,1,1,1,1,1,1,1,1,1

温馨提示

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

评论

0/150

提交评论