单片机电子琴单片机课程设计
单片机简易电子琴课程设计

单片机简易电子琴课程设计简易电子琴实验一、课程设计目的与要求1、掌握蜂鸣器的使用方法;2、掌握蜂鸣器的不同发音的方法;3、通过本次课程设计加深对单片机课程的认识和掌握,对单片机的应用做进一步了解。
二、课程设计设备STAR 序列试验仪一套、PC 机一台三、课程设计内容1、简易电子琴原理(1)蜂鸣器输入不同频率的方波,会发出不同的声音;(2)通过按键,由单片机控制产生不同频率的方波,从而发出不同的声音。
2、课程设计过程(1)通过单片机,是G6区的1-7号键由低到高发出1-7的音阶。
四、课程设计原理图1234567P1.0P1.1P1.2P1.3P1.4P1.5P1.6VccBuzzerLS12KR15.1KR28550Q60.01uFC40Ctrl100R11P1.7五、课程设计框图主程序:节拍1子程序(手动按键时用) 节拍2子程序(手动按键时用)0FFH->P1 开始 播放一段音乐 P1.0=0调用节拍1子程序 N Y 调用节拍2子程序 Y调用节拍3子程序Y 调用节拍4子程序 调用节拍5子程序 调用节拍6子程序 调用节拍7子程序P1.1=0P1.2=0N P1.3=0Y Y Y P1.4=0P1.5=0N P1.6=0Y N N N 0->P1.7 延时180us 1->P1.7 延时190us开始 返回0->P1.7 延时200us 1->P1.7 延时200us开始 返回节拍3子程序(手动按键时用)节拍4子程序(手动按键时用)开始0->P1.7延时180us1->P1.7延时170us返回开始0->P1.7延时160us1->P1.7延时160us返回节拍5子程序(手动按键时用)节拍6子程序(手动按键时用)开始0->P1.7延时150us1->P1.7延时150us返回开始0->P1.7延时140us1->P1.7延时140us返回节拍7子程序(手动按键时用)节拍1子程序(自动放音时用,时间约0.2s )节拍2子程序(自动放音时用,时间约0.2s ) 节拍3子程序(自动放音时用,时间约0.2s )0->P1.7 延时220us 计数器-1 1->P1.7 延时210us 1100->计数器 N计数器-1=0返回Y 0->P1.7 延时130us 1->P1.7 延时130us开始 返回开始节拍4子程序(自动放音时用,时间约0.2s ) 节拍5子程序(自动放音时用,时间约0.2s )节拍6子程序(自动放音时用,时间约0.2s ) 节拍7子程序(自动放音时用,时间约0.2s )NY 0->P1.7 延时170us 计数器-1 1->P1.7 延时170us开始 1300->计数器 计数器-1=0返回Y N0->P1.7 延时180us 计数器-1 1->P1.7 延时180us 开始 1250->计数器 计数器-1=0返回0->P1.7 延时185us 计数器-1 1->P1.7 延时180us开始 1200->计数器 Y N计数器-1=0返回NY 0->P1.7 延时190us 计数器-1 1->P1.7 延时190us 开始 1150->计数器 计数器-1=0返回六、课程设计步骤1、主机连线说明D1区:Ctrl — A3区:P1.7 G6区:JP74 —A3区:JP51(P1口)2、运行程序,按G6区的1-7号键,输出7种音阶。
基于51单片机的电子琴设计课程设计

目录前言 (2)第1章基于51单片机的电子琴设计 (3)1.1 电子琴的设计要求 (3)1.2 电子琴设计所用设备及软件 (3)1.3 总体设计方案 (3)第2章系统硬件设计 (5)2.1 琴键控制电路 (5)2.2 音频功放电路 (6)2.3 时钟-复位电路 (6)2.4 LED显示电路 (6)2.5 整体电路 (6)第3章电子琴系统软件设计 (7)3.1 系统硬件接口定义 (7)3.2 主函数 (8)3.2.1 主函数程序 (8)3.3 按键扫描及LED显示函数 (9)3.3.1 键盘去抖及LED显示子程序 (10)3.4 中断函数 (11)3.4.1 中断程序 (12)第4章电子琴和调试 (12)4.1 调试工具 (12)4.2 调试结果 (13)4.3 电子琴设计中的问题及解决方法 (14)第5章电子琴设计总结 (15)参考文献 (16)附录 (17)前言音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。
近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。
但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。
如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。
而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。
结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。
现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。
电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。
单片机课程设计电子琴 (汇编语言)

目录1. 引言 (1)1.1. 设计的目的 (1)1.2. 设计的内容与要求...................................错误!未定义书签。
2. 总体设计 (1)2.1. 音乐产生原理 (1)2.2. 设计流程 (3)3. 硬件设计 (8)3.1. AT89C51芯片简介 (8)3.1.1 主要特性 (8)3.1.2 功能描述 (8)3.1.3 引脚说明与硬件连接 (9)3.2. 元器件清单 (13)4. 系统工作说明 (13)5. 结束语 (14)5.1 收获与体会 (14)5.2 遇到的问题与解决方法 (15)5.3 教程建议 (15)6.参考文献 (15)7. 附录 (16)1. 引言1.1 设计的目的本设计的主要目的是掌握单片机系统的开发应用,掌握prteus和keil C51软件的应用,巩固和加深已学过的知识,提高动手能力及解决实际问题的能力,同时培养团队合作精神。
1.2. 设计内容与要求(1)本设计以AT89C52单片机为核心控制元件设计一个电子琴,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播放按键和扬声器,并且按下时按键发声,松开延时一段时间停止,中间再按别的键则发另一音调的声音。
16个按键设置成4x4矩阵键盘,能弹奏出 16个音,添加歌曲程序同时能够播放出歌曲。
(2)利用软件 keil C51进行程序的调试。
(3)利用proteus软件画电路图,并在单片机加载程序进行仿真。
(4)根据电路图运用proteus软件的布局和布线功能绘制PCB图并输出显示电路的3D图。
(5)根据电路图、PCB图和3D图快速地焊接电路。
(6)下载程序代码,调试(Easy 51Pro)。
2. 方案总体设计2.1. 音乐产生设计原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系正确即可。
单片机课程设计报告电子琴

单片机课程设计报告电子琴一、选题背景随着数字技术的飞速发展和信息科学的快速推进,单片机作为信息处理的核心器件,正在得到越来越广泛的应用。
随着芯片技术的不断更新和改进,单片机应用领域的拓宽和深化,各行各业对单片机专业人才的需求也愈发迫切。
因此,在单片机课程的教学中,设计一些实用的小项目、小应用,既能提高学生的实践操作能力,又能激发其学习兴趣和学科热情,是非常有必要的。
二、课程目标通过设计电子琴这一实用项目,达到以下三个目标:(1)掌握单片机的基本知识和操作技巧。
在设计项目中,需要使用到很多单片机相关的知识和技术,如单片机的编程语言、端口连接、程序设计、调试样板、原理图设计等。
通过这些操作,学生可以对单片机的工作原理和编程方法有一个更加深入的理解。
(2)培养学生应用知识的能力。
设计电子琴,需要使用到单片机的定时器、PWM输出、按键检测、LED灯控制等相关知识。
学生需要将这些知识应用到实际操作中,才能真正掌握这些知识点,更好地了解单片机的工作原理和性能特点。
(3)激发学生的创造性思维和创新意识。
在设计电子琴的过程中,学生需要从众多课程内容和技能中选择并运用所学知识,遇到问题时需要有创造性解决的思维和意识。
此过程能够帮助学生提高独立思考和创新能力,将所学知识真正运用到实践中。
三、教学方法针对单片机课程设计中的三个目标,教学方法如下:1. 理论和实践相结合学生需要了解单片机的基本知识和操作技巧,包括单片机的性能特点、端口连接、程序设计、原理图设计等。
同时,为了更好地掌握实际操作,需要将理论知识与实践操作相结合,在课程中给予足够的操作机会和实践练习,让学生深刻感受到不同参数的变化对最终设备造成的影响。
2. 开放性思考学习单片机课程时,教师需要引导学生进行开放性思考。
鼓励学生发现问题、提出问题、寻找问题的解决方案,从而提高学生的创造性思维和创新意识。
3. 相互合作学习在课程设计中,可以采用分组方式,让学生互相合作、共同学习、共同探讨解决问题的方法和途径。
电子琴单片机课程设计

引言 (1)1.硬件设计及说明 (2)1.1 系统组成及原理图 (2)1.2 AT89C51单片机 (2)1.3晶振电路 (5)1.4发音电路 (6)2.软件的设计 (8)2.1 如何用单片机实现发音 (8)2.2 系统总体功能流程图 (8)2.3 程序清单 (9)3. Proteus软件仿真 (11)3.1时序仿真图 (11)3.2仿真结果与分析 (11)4.课程设计总结及心得体会 (12)4.1设计中遇到的问题及分析 (12)4.2心得体会 (12)致谢 (14)参考文献 (15)引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
随着电子科技的飞速发展,电子产品在人们的生活中扮演着一个不可或缺的角色,无论是生活必须品还是其他东西,都用到了单片机,特别是在儿童玩具中引用很广泛,当前市场上的玩具市场需求量大,其中电子琴就是一个很好的应用方面。
单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
并且可以进行一定的功能扩展。
本次试验所设计的简易电子琴利用键盘上的6个按键,能够发出6个不同的音调,并且要求按下键发声,松开延时一段时间停止,再按不同的键发出不同的声音。
1.硬件设计及说明1.1 系统组成及原理图硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。
该设计要实现一种由单片机控制的电子琴,单片机工作于12MHZ 时钟频率,本设计主要是通过直接控制发音的周期来间接控制发音的频率,进而实现了不同的音调。
本设计主要由晶振电路,按键电路和发音电路组成。
按下不同的按键,就可以发出不同的音。
单片机课程设计电子琴

单片机课程设计 电子琴一、课程目标知识目标:1. 让学生理解单片机的基本原理,掌握单片机在电子琴设计中的应用。
2. 使学生掌握电子琴的基本结构,能运用单片机编程实现电子琴的基本功能。
3. 帮助学生了解电子琴音调产生原理,掌握音调与频率的关系。
技能目标:1. 培养学生运用单片机进行电子琴设计与编程的能力,能独立完成一个简单的电子琴项目。
2. 培养学生动手实践能力,提高焊接、调试和故障排除等技能。
3. 培养学生团队协作和沟通能力,能在项目过程中进行有效分工与合作。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,提高学习积极性。
2. 培养学生勇于尝试、不断探索的精神,增强克服困难的信心。
3. 引导学生关注科技发展,认识到所学知识在现实生活中的应用,培养创新意识。
分析课程性质、学生特点和教学要求,本课程目标具体、可衡量,有助于学生和教师在教学过程中明确预期成果。
将目标分解为具体学习成果,为后续教学设计和评估提供依据。
在教学过程中,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力。
二、教学内容1. 单片机基础知识:介绍单片机的组成、工作原理,重点讲解CPU、内存、I/O口等部分的功能与应用。
教材章节:第一章单片机基础2. 电子琴结构与原理:讲解电子琴的基本结构,音调产生原理,键盘与发音电路的连接方式。
教材章节:第三章电子乐器原理3. 单片机编程:以C语言为基础,讲解单片机编程方法,重点掌握延时、中断、I/O口控制等编程技巧。
教材章节:第二章单片机编程基础、第五章中断与定时器4. 电子琴设计与制作:结合单片机知识,指导学生进行电子琴设计,包括硬件电路设计、程序编写、调试与优化。
教材章节:第四章单片机应用实例、第六章电子琴设计与制作5. 实践操作:安排学生进行电子琴硬件焊接、程序烧写、调试与测试,培养动手实践能力。
教材章节:第七章实践操作教学内容安排与进度:第一周:单片机基础知识学习,完成CPU、内存、I/O口等功能的学习。
简易电子琴单片机课程设计

简易电子琴单片机课程设计一、课程目标知识目标:1. 让学生掌握简易电子琴单片机的基本原理和组成结构,理解其工作流程。
2. 使学生了解并掌握电子琴音阶与音符的关系,能够识别常见音符及其对应的单片机程序编写方法。
3. 帮助学生掌握基础编程知识,能够使用相关软件编写简易电子琴程序。
技能目标:1. 培养学生运用单片机进行音乐创作的能力,能够编写并演奏简单曲目。
2. 提高学生动手实践能力,能够独立完成简易电子琴单片机的组装和调试。
3. 培养学生团队协作和问题解决能力,能够在团队中共同完成课程项目。
情感态度价值观目标:1. 培养学生对电子琴音乐创作的兴趣和热情,激发学生探索音乐世界的欲望。
2. 培养学生勇于尝试、不断探索的精神,增强面对困难的勇气和信心。
3. 培养学生环保意识和创新精神,关注科技发展,认识到科技进步对音乐产业的影响。
本课程针对高年级学生,结合学科特点,以实用性为导向,将理论知识与实践操作相结合。
课程目标旨在让学生在学习过程中,既能掌握电子琴单片机的基本知识,又能提高动手实践和团队协作能力,同时培养对音乐的热爱和科技创新意识。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供明确方向。
二、教学内容1. 简易电子琴单片机原理及结构- 了解单片机的基本概念及功能- 学习简易电子琴单片机的组成结构及工作原理- 教材章节:第三章 单片机原理及其应用2. 音阶与音符关系- 掌握音阶与音符的基本概念及对应关系- 学习简易电子琴音阶与单片机程序编写方法- 教材章节:第四章 音乐基础与编程3. 编程知识与软件应用- 学习基础编程知识,如C语言基本语法、数据类型等- 掌握相关编程软件的使用,如Keil、Proteus等- 教材章节:第五章 单片机编程与仿真4. 动手实践与项目制作- 完成简易电子琴单片机的组装、调试与演奏- 课程项目:团队协作完成一首简单曲目的电子琴演奏- 教材章节:第六章 单片机项目实践5. 回顾与拓展- 对所学知识进行总结回顾,巩固学习成果- 探讨简易电子琴单片机的拓展应用,如与其他智能硬件的结合- 教材章节:第七章 单片机拓展应用教学内容根据课程目标制定,保证科学性和系统性。
单片机电子琴课程设计

单片机电子琴课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握电子琴的基本构造和演奏方法。
2. 帮助学生掌握单片机编程的基本技巧,学会使用相关软件进行程序设计。
3. 使学生了解音乐理论中音阶、音符的基本知识,并将其应用于电子琴演奏。
技能目标:1. 培养学生动手操作单片机的能力,学会连接电子琴硬件并进行调试。
2. 培养学生编写简单电子琴程序的能力,实现不同音符的播放和乐曲演奏。
3. 提高学生团队协作和沟通能力,能够共同分析和解决在电子琴制作过程中遇到的问题。
情感态度价值观目标:1. 培养学生对单片机及电子琴制作的兴趣,激发学生探究精神,养成自主学习的好习惯。
2. 培养学生具有创新意识,敢于尝试,勇于实践,面对失败保持积极的心态。
3. 增强学生的环保意识,培养节约资源、爱护设备的良好习惯。
课程性质:本课程为实践性较强的课程,结合理论知识,培养学生的动手操作能力和实际应用能力。
学生特点:学生具备一定的电子知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 理论知识:- 单片机原理:介绍单片机的基本结构、工作原理和功能。
- 音乐理论:讲解音阶、音符、音长等基本音乐知识。
- 编程基础:回顾C语言基本语法,学习单片机编程方法和技巧。
2. 实践操作:- 电子琴硬件连接:学习电子琴硬件的组成,进行电路连接和调试。
- 程序编写:编写程序实现电子琴基本功能,如按键识别、音符播放等。
- 歌曲演奏:设计程序,实现简单乐曲的演奏。
3. 教学大纲:- 第一周:单片机原理学习,音乐理论知识回顾。
- 第二周:编程基础复习,电子琴硬件连接与调试。
- 第三周:编写电子琴程序,实现基本功能。
c51单片机课程设计——电子琴

课程设计报告姓名:曹班级:101班学号:课程设计名:简易电子琴一、概述:本系统设计制作一个可演奏的电子琴。
综合应用了两项设计:(1)能产生纯音,了解音调高低的控制方法,用键盘代替电子琴的键盘,控制演奏音乐。
(2)演奏一支乐曲(天空之城)。
那音阶要怎么使用C51单片机产生呢?C51在这项工作中运用它哪些资源呢?我们怎么实现一个按键对应一个音阶呢?二、系统描述:(1)我们从初中开始就知道,声音是由振动产生的,基本的这7个音阶的频率之间满足某种数学关系由低到高排列的自然音,所以我们可以通过改变单片机输出频率就可以得到不同的音阶;(2)为了得到精确的频率(周期的倒数),我们可以使用C51单片机定时中断模块。
(3)通过判断按键是否被按下,然后执行该按键按下时的函数(在程序中是改变T1的初值得到实现)。
需要注意的是,在该程序中让8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。
例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。
记数脉冲值与频率的关系公式如下:N=Fi/2/Fr N:记数值Fi:内部计时一次为1微秒.故其频率为1MHZFr;要产生的频率起记数值的求法如下:T=65536-N=65536-Fi/2/Fr例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr低音D0的T=65536-500000/262=63627中音D0的T=65536-500000/523=64580低音D0的T=65536-500000/1047=65059详细的音阶频率与计数初值可参考附录一;三、电路设计1.单片机最小系统模块2.三极管信号放大模块扬声器发出对应音符模块如下:3.按键电路模块:四.程序设计:本系统的程序流程图如下:程序如下:#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit kongzhi=P1^1;sbit fm=P1^0; //蜂鸣器输出的IO口uchar timeh,timel,i=8,t; //timeh,timel为定时器高低4位,i为演奏音符个数uchar code yinyue[]={0x63,0x71,0x83,0x71,0x82,0xA2,0x76,0x32,0x32,0x63,0x51,0x62,0x82,0x54,0x32,0x32,0x42,0x32,0x42,0x11,0x32,0x81,0x81,0x81,0x73,0x41,0x41,0x71,0x74,0x63,0x71,0x83,0x71,0x82,0xA2,0x74,0x31,0x31,0x63,0x51,0x62,0x82,0x54,0x31,0x42,0x83,0x71,0x71,0x83,0x91,0x91,0xA1,0x82,0x83,0x71,0x61,0x61,0x72,0x51,0x66,0xff};//---------------------------简谱---------------------------------------//1-7代表中音do~si,8代表高音douchar code yinfu[]={0x11,0x21,0x31,0x41,0x51,0x61,0x71,0x81,0xff};//----------------------------简谱音调对应的定时器初值---------------------------uchar code cuzhi[]={ 0xff,0xff, //占位符0xFC,0x44,0xFC,0xAD,0xFD,0x0A,0xFD,0x34,0xFD,0x83,0xFD,0xC8,0xFE,0x06,//中音do~si的T计数初值0xFE,0x22,0xFE,0x57,0xFE,0x85,0xFE,0x9B,0xFE,0xC2,0xFE,0xE4,0xFF,0x03}; //高音do的T计数初值void delay1ms(unsigned int ms); //延时ms毫秒子程序void delay165ms(uint z); //延时165ms,即1/4拍子程序void keysong(); //演奏子程序int key();void song();main(){ kongzhi=1;EA=1; //开总中断ET0=1; //开定时器0TMOD=0x01; //定时器0工作在方式1TH0=0;TL0=0;TR0=1;P3=0xff;while(1){ if(kongzhi==0){song();}else{key();keysong();}}}void song(){uint temp;uchar jp; //jp是简谱1~8的变量t=0;while(1){ temp=yinyue[t];if(temp==0xff) break; //到曲终则跳出循环jp=temp/16; //取数的高4位作为音调if(jp!=0){timeh=cuzhi[jp*2]; //取T的高4位值timel=cuzhi[jp*2+1]; //取T的低4位值}else{TR0=0;fm=1; //关蜂鸣器}delay165ms(temp%16); //取数的低4位作为节拍TR0=0; //唱完一个音停10msfm=1;delay1ms(10);TR0=1;t++;}TR0=0;fm=1;}void timer0() interrupt 1 //定时器0溢出中断子程序用于产生各种音调{TH0=timeh;TL0=timel;fm=~fm; //产生方波}void keysong(){uint temp;uchar jp; //jp是简谱1~8的变量delay1ms(50);if(i!=8){ TR0=1;temp=yinfu[i];jp=temp/16; //取数的高4位作为音调if(jp!=0){timeh=cuzhi[jp*2]; //取T的高4位值timel=cuzhi[jp*2+1]; //取T的低4位值}else{TR0=0;fm=1; //关蜂鸣器}delay165ms(temp%16); //取数的低4位作为节拍TR0=0; //唱完一个音停10msfm=1;delay1ms(10);//TR0=1;//i++;}TR0=0;fm=1;}int key(){ switch(P2){case 0xfe: return 0;case 0xfd: return 1;case 0xfb: return 2;case 0xf7: return 3;case 0xef: return 4;case 0xdf: return 5;case 0xbf: return 6;case 0x7f: return 7;default: return 8;}}//函数名:delay165ms//函数功能:采用软件实现延时约z*165ms//形式参数:无void delay165ms(uint z) //延时165ms,即1/4拍{uint x;for(x=0;x<z;x++)delay1ms(165);}//函数名:delay1ms//函数功能:采用软件实现延时约ms*1ms//形式参数:无//返回值:无void delay1ms(unsigned int ms){ unsigned int i,j;for(j=0;j<ms;j++)for(i=0;i<0x100;i++);}五.制作与调试:最后制作出的成品:六.测试结果。
单片机课程设计电子琴

单片机课程设计电子琴一、课程目标知识目标:1. 学生能理解单片机的基本原理和电子琴的基础知识,掌握单片机控制电子琴的基本电路构成。
2. 学生能掌握单片机编程的基本方法,运用C语言或汇编语言实现电子琴的音调控制。
3. 学生了解电子琴音阶与频率的关系,能运用数学知识进行音调计算。
技能目标:1. 学生能够独立设计并搭建单片机控制电子琴的硬件电路。
2. 学生能够编写程序,实现电子琴的基本功能,如音阶播放、简单曲目的演奏等。
3. 学生能够运用调试工具对电子琴程序进行调试和优化。
情感态度价值观目标:1. 学生通过动手实践,培养对单片机及电子制作的兴趣,增强学习动力。
2. 学生在团队协作中,学会沟通与交流,培养合作精神和解决问题的能力。
3. 学生在学习过程中,认识到科技对生活的改变,培养创新意识和社会责任感。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手操作,掌握单片机控制电子琴的基本知识和技能。
学生特点:学生具备一定的电子基础和编程能力,对单片机有一定了解,对电子琴感兴趣。
教学要求:注重理论与实践相结合,强调动手实践和团队合作,关注学生的个体差异,提高学生的综合能力。
通过分解课程目标为具体学习成果,使学生在完成课程后能够达到上述目标。
后续教学设计和评估将以此为基础,确保课程目标的实现。
二、教学内容1. 理论知识:- 单片机原理与结构:介绍单片机的基本构成、工作原理及性能特点。
- 电子琴基础知识:讲解电子琴的音阶、音色及演奏方法。
- 单片机编程语言:回顾C语言和汇编语言的基本语法,为编程打下基础。
2. 实践操作:- 硬件电路设计:学习并搭建单片机控制电子琴的硬件电路,包括按键输入、音频输出等。
- 程序编写:编写程序实现电子琴的基本功能,如音阶播放、单音演奏等。
- 程序调试与优化:学习使用调试工具,对程序进行调试和优化。
3. 教学大纲:- 第一阶段(1课时):回顾单片机原理、电子琴基础知识及编程语言。
- 第二阶段(2课时):设计并搭建单片机控制电子琴硬件电路。
单片机简易电子琴课程设计

单片机简易电子琴课程设计一、课程目标知识目标:1. 让学生理解单片机的基础知识,掌握其编程原理;2. 帮助学生掌握简易电子琴的设计原理,包括音阶、音色和节奏的控制;3. 引导学生掌握电子琴的硬件连接和软件编程,了解两者之间的联系。
技能目标:1. 培养学生动手操作能力,能够独立完成单片机与电子琴硬件的连接;2. 培养学生编程能力,能够编写简单的程序控制电子琴演奏;3. 提高学生的问题解决能力,能够针对电子琴演奏过程中出现的问题进行调试和优化。
情感态度价值观目标:1. 培养学生对单片机及电子琴制作的兴趣,激发学习热情;2. 培养学生团队协作精神,学会在合作中共同解决问题;3. 培养学生创新思维,鼓励学生敢于尝试,勇于突破。
课程性质分析:本课程为实践性较强的课程,结合单片机技术与音乐知识,旨在培养学生的动手实践能力和创新精神。
学生特点分析:初中年级学生已经具备一定的物理知识和逻辑思维能力,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的综合运用能力;2. 教学过程中,关注学生个体差异,给予每个学生个性化的指导;3. 注重教学评价,及时了解学生学习进度,调整教学策略,确保课程目标的实现。
二、教学内容1. 单片机基础知识:讲解单片机的组成、工作原理,重点掌握I/O口控制、定时器、中断等基本功能。
相关教材章节:第一章 单片机概述、第二章 单片机硬件结构。
2. 电子琴原理:介绍电子琴的基本原理,包括音阶生成、音色合成、节奏控制等。
相关教材章节:第三章 电子乐器原理、第四章 音频信号处理。
3. 硬件连接:学习如何将单片机与电子琴硬件连接,包括键盘矩阵、音频放大器、扬声器等。
相关教材章节:第五章 单片机接口技术。
4. 软件编程:编写程序实现电子琴的基本功能,包括音阶演奏、音色切换、节奏控制等。
相关教材章节:第六章 单片机编程基础、第七章 程序设计实例。
5. 实践操作:分组进行电子琴制作,让学生动手实践,提高实际操作能力。
单片机课程设计——简易电子琴

汇报人:
单击输入目录标题 单片机基础知识 简易电子琴系统设计 单片机与简易电子琴的结合 简易电子琴的功能扩展 简易电子琴的优化与改进
添加章节标题
单片机基础知识
单片机简介
单片机是一种集成电路芯片,将微处理器、存储器、输入/输出接口等集成在一起 单片机具有体积小、功耗低、可靠性高、编程灵活等特点 单片机广泛应用于工业控制、家电、汽车电子等领域 单片机课程设计是学习单片机应用的重要环节,可以提高学生的实践能力和创新能力
音乐播放与控制
单片机控制:通过单片机控制电子琴的音色、音高和节奏 音乐播放:单片机通过控制电子琴的音色、音高和节奏,实现音乐的播放 控制方式:可以通过按键、触摸屏等方式控制音乐的播放 功能扩展:可以增加录音、播放、暂停、快进、快退等功能,提高用户体验
显示模块的应用
显示模块的作用:显示电子琴 的音色、音高、节奏等信息
单片机在简易电子琴中的应用
控制音量:通过单片机控制 音量的大小,实现电子琴的 音量调节功能。
控制音色:通过单片机控制 不同频率的音色,实现电子 琴的多种音色效果。
控制节奏:通过单片机控制 节奏的快慢,实现电子琴的
节奏调节功能。
控制和弦:通过单片机控制 和弦的演奏,实现电子琴的
和弦演奏功能。
单片机开发环境搭建
测试内容:音色、音调、 音量、节奏等性能指标
测试结果分析:对测试数 据进行分析,找出问题并 解决
测试报告:记录测试过程、 结果和分析,为后续改进 提供依据
单片机与简易电子琴的结合
单片机控制简易电子琴的原理
单片机作为核心控制单元,负责接收和处理来自键盘的输入信号
单片机根据接收到的输入信号,控制电子琴的音源产生相应的音调
单片机电子琴课程设计报告

1课程设计的意义单片机自20世纪70年代问世以来,已对人类社会产生了巨大的影响。
尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉、易于使用等优点,在工业控制、智能仪器仪表、办公室自动化、家用电器等诸多领域得到广泛的应用。
20世纪80年代中期以后,Intel公司已把精力集中在CPU芯片的开发、研制上,并逐渐放弃了单片机芯片的生产,但是以MCS-51内核技术为主导的单片机已经成为许多厂家及公司竞相选用的对象。
因此,Intel公司以专利转让或技术交换的形式把MCS-51的内核技术转让给了许多国际上著名的半导体芯片生产厂家,如ATMEL、PHILIPS、Cygnal等公司。
这些厂家生产的与MCS-51系列单片机兼容的各种增强型、扩展型单片机,已成为世界上8位单片机市场的主流产品。
估计在今后若干年内,它们仍是我国8位单片机应用领域的主流机型。
音乐已经成为现代人们生活所不可缺少的艺术,美妙的音乐可以让人放松,使人愉悦,电子琴作为一种乐器已经得到很多音乐人的重视和应用,一个质量好的电子琴可以做出让人欣赏的美好音乐,所以作为从事电子技术领域的我们来说,能做出质量优越的电子琴是我们的义务和责任,虽然今天我们做的是简易电子琴,但其已经具有电子琴的基本功能,为以后的进一步开发研究奠定一个良好的基础。
本课程设计的目的是为了深入了解MCS-51系列单片机的功能以及应用,学会制作简单的电子琴。
会使用LCD显示屏,对其有进一步的了解。
2方案论证2.1设计的任务本课程设计的任务是应用单片机制作一个简易的电子琴,能够准确发出基本的音符,并且同时能将音符在显示屏上现实出来。
2.2设计的要求利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出8个不同的音调,并且要求按下键发声,松开延时一段时间停止,中间再按别的键则发另外一音调的声音。
当系统扫描到有按键被按下,则快速检测出是哪一个键被按下,然后单片机的定时器被启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就回发出相应的音调。
电子琴单片机课程设计

电子琴单片机课程设计一、课程目标知识目标:1. 学生能理解电子琴单片机的基本原理,掌握其结构与功能。
2. 学生能掌握电子琴单片机编程的基本方法,包括音符、节奏和音量的控制。
3. 学生能了解电子琴单片机在音乐制作与自动化控制中的应用。
技能目标:1. 学生能运用所学的知识,独立完成电子琴单片机的编程与调试。
2. 学生能在团队合作中发挥自己的专长,共同完成具有一定难度的电子琴单片机项目。
3. 学生能运用电子琴单片机创作简单的音乐作品,并进行演奏。
情感态度价值观目标:1. 学生通过学习电子琴单片机课程,培养对音乐和电子技术的兴趣,提高创新意识和动手能力。
2. 学生在团队合作中,学会相互尊重、沟通与协作,培养团队精神和责任感。
3. 学生能够认识到电子琴单片机在现代音乐产业中的重要性,激发对科技改变生活的探索热情。
课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,培养学生的动手能力和创新能力。
学生特点:学生处于高年级阶段,具备一定的电子技术基础和音乐素养,对新鲜事物充满好奇,具备一定的自学能力和团队协作能力。
教学要求:教师应注重理论与实践相结合,引导学生主动探索,鼓励学生创新,关注学生的个体差异,提高学生的综合素质。
通过课程学习,使学生能够将所学知识应用于实际项目中,实现课程目标的达成。
二、教学内容本课程教学内容主要包括以下几部分:1. 电子琴单片机原理:介绍电子琴单片机的基本构成、工作原理和功能特点,使学生了解电子琴单片机在音乐领域的应用。
教学内容:- 电子琴单片机的结构组成- 工作原理与功能特点- 电子琴单片机在音乐领域的应用案例2. 电子琴单片机编程:学习电子琴单片机的编程方法,包括音符、节奏、音量的控制。
教学内容:- 编程环境与编程语言介绍- 音符、节奏、音量编程方法- 常用编程技巧与实践案例3. 电子琴单片机应用:结合实际项目,教授如何运用电子琴单片机进行音乐创作和自动化控制。
教学内容:- 电子琴单片机在音乐创作中的应用- 自动化控制原理及实践- 创意项目设计与实现4. 团队合作与项目实践:培养学生团队协作能力,共同完成具有一定难度的电子琴单片机项目。
51单片机简易电子琴设计

系统整体安排如下: • 按下S1键发出1的声音。 • 按下S2键发出2的声音。 • 按下S3键发出3的声音。 • 按下S4键发出4的声音。 • 8051单片机根据不同的键产生不同的乐曲音符。系统整体软件结构
框图如下:
三、原理说明
1、频率、声音的实现和产生
单片机的频率和声音输出的原理是,利用琴键控制定时器 的开中断和闭中断,即实现发音和闭音。在此期间通过对定 时器的定时时间进行控制来产生不同频率的方波,使蜂鸣器 发出不同音阶的声音。把相应琴键对应的音符变换为定常数, 作为数据表格存放在储存器中。由程序查表得到定时常数, 用以控制定时器产生方波的频率。但下一个键按下时,再查 一下此琴键所对应音符的定时常数。依次进行下去,就可以 了。
四、模块描述
1、键盘模块: 本系统采用独立式键盘S1、S2、S3、S4。结构框图如下:
S1
S1
S2
S2
S3
Hale Waihona Puke S3S4S4
2、蜂鸣器模块:
按下不同的键,蜂鸣器会发出不同的音乐。结构框图如下:
五、主程序流程图
六、操作说明 将编好的电子琴的程序导入到单片机AT89S51上,按下 S1键,此时蜂鸣器发出的声音为1的声音;再依次按下S2、 S3、S4键,蜂鸣器会依次发出2、3、4的声音。
用定时器T0方式1来产生琴键对应音符的频率的方波,由 P1.1输出蜂鸣器。
2、音符频率表如下:
3、键盘的方案选择
此系统琴键输入是通过独立式键盘来实现的。 由于8051单片机的八为I/O口足以能实现控制各音阶 的输出,并且独立式键盘的编程容易易懂,结构简单, 实现起来方便,而且每个按键独立占有一根I/O接口 线,每个I/O接口线工作状态互不影响,所以采用独 立式键盘。P3.0~P3.3口分别对应S1、S2、S3、S4。
基于51单片机的电子琴设计课程设计

基于51单片机的电子琴设计课程设计单片机原理》课程设计前言本课程设计旨在通过基于51单片机的电子琴设计,加深学生对单片机原理的理解和应用。
在本设计中,我们将介绍电子琴的设计要求、所用设备及软件以及总体设计方案。
随后,我们将详细介绍系统硬件设计中琴键控制电路、音频功放电路、时钟-复位电路和LED显示电路的设计。
第1章基于51单片机的电子琴设计1.1 电子琴的设计要求在电子琴的设计中,我们需要考虑琴键数量、音频输出质量、电源电压和外部接口等因素。
在本设计中,我们将采用25个琴键,保证音频输出质量和电源电压稳定,并提供外部接口以便于扩展和调试。
1.2 电子琴设计所用设备及软件在本设计中,我们将使用51单片机、琴键、音频功放、时钟、LED显示器等设备,并使用Keil C51编译器进行软件开发。
1.3 总体设计方案在总体设计方案中,我们将采用按键扫描方式实现琴键控制,使用PWM技术实现音频输出,使用外部晶振提供时钟信号,并使用LED显示器显示琴键状态。
第2章系统硬件设计2.1 琴键控制电路在琴键控制电路中,我们将采用矩阵按键扫描方式,通过51单片机的IO口进行扫描和检测。
同时,我们还将使用电容式触摸开关来实现琴键的触发。
2.2 音频功放电路在音频功放电路中,我们将采用TDA7297芯片作为功放,通过PWM技术实现音频输出,并通过滤波电路滤除杂音和谐波。
2.3 时钟-复位电路在时钟-复位电路中,我们将采用12MHz晶振作为时钟源,并使用复位电路确保系统在上电时能够正确运行。
2.4 LED显示电路在LED显示电路中,我们将采用MAX7219芯片实现LED点阵显示,并通过SPI接口与51单片机进行通信。
同时,我们还将使用CD4511芯片实现数码管显示琴键状态。
通过本课程设计,我们可以深入理解单片机原理的应用,掌握电子琴的设计和制作技术,提高自身的实践能力和创新能力。
2.5 整体电路本章将介绍电子琴的整体电路设计。
单片机课程设计报告 电子琴

电子音调发生器一、实验目的1.了解计算机发声原理.2.熟悉定时器和键盘扫描电路的工作原理及编程方法。
二、实验完成的功能1.利用键盘1~7进行音调选择, 即按下音符产生对应音调。
2.事先存储三首歌曲, 并可进行选择播放。
3.谱曲功能:通过按键对LCD菜单选项进行选择, 进入谱曲界面, 通过按键1~7分别输入音高与几分音符类型, 由按键输入若干数据完成谱曲。
4.在播放存储歌曲与谱曲播放时,对应音符及其节奏LCD显示对应频谱。
5.在播放音乐时按“返回”键出现返回界面,由键盘按“确认”键选择返回主菜单或循环播放。
三、实验原理1.音节由不同频率的方波产生, 音节与频率的关系如表(1)所示。
要产生音频方波, 只要计算出某一音频的周期(..频率), 然后将此周期除以2, 即为半周期的时间。
利用计时器计时此半周期时间, 每当计时到后就将输出方波的I/O(P1.7)反相, 然后重复计时此半周期时间再对I/O反相, 就可在P1.7脚得到此频率的方波。
将P1.7经过驱动电路与蜂鸣器相连, 随着P1.7口输出不同频率的方波, 蜂鸣器便会发出不同的声音。
音乐的节拍是由延时实现的, 如果1拍的时间为0.4秒, 1/4拍是0.1秒。
只要设定延时时间, 就可得到节拍的时间。
延时实现基本延时时间, 节拍值只能是它的整数倍。
每个音节相应的定时器初值计算公式如下:(1/2)*(1/f)=(12/fose)*(216-x)即 x=216-(fose/24f)其中, f是音调频率, 当晶振fosc=11.0592MHz时, 音节“1”相应的定时器初值为x, 则可得到x=63777D=F921H, 其它的可同样得到。
表(1)音节与频率的关系在编写歌曲代码过程中, 音高由三位数字组成: 个位是表示1~7 这七个音符;十位是表示音符所在的音区:1-低音, -中音, -高音;百位表示这个音符是否要升半音: 0-不升, -升半音。
音长最多由三位数字组成: 个位表示音符的时值, 其对应关系是:|数值(n): |0 |1 |2 |3 | 4 | 5 | 6|几分音符: |1 |2 |4 |8 |16 |32 |64 音符=2^n 十位表示音符的演奏效果(0-2): 0-普通, -连音, -顿音, 百位是符点位: 0-无符点, 1-有符点。
单片机电子琴课程设计

单片机电子琴课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理,理解其内部结构和功能。
2. 使学生了解电子琴的基本工作原理,掌握单片机控制电子琴的方法。
3. 帮助学生掌握编程语言,如C语言,用于编写单片机控制程序。
技能目标:1. 培养学生动手搭建单片机电子琴硬件电路的能力。
2. 培养学生运用编程语言编写单片机程序,实现电子琴的基本功能。
3. 提高学生分析问题和解决问题的能力,使学生能够独立调试和优化单片机电子琴程序。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学生创新意识和探索精神。
2. 培养学生团队协作意识,提高沟通与交流能力。
3. 引导学生关注单片机技术在现实生活中的应用,认识到科技对社会发展的推动作用。
分析课程性质、学生特点和教学要求:本课程为单片机电子琴课程设计,旨在让学生将所学理论知识与实际应用相结合,提高学生的动手实践能力。
针对初中年级学生,课程内容需符合学生的认知水平和兴趣。
在教学过程中,注重引导学生主动参与,培养其独立思考和解决问题的能力。
课程目标分解:1. 知识目标:通过讲解、示范和练习,使学生掌握单片机原理、电子琴工作原理及编程方法。
2. 技能目标:通过动手实践,培养学生搭建硬件电路、编写程序和调试设备的能力。
3. 情感态度价值观目标:通过课程学习,激发学生对电子技术的兴趣,培养其团队协作意识和创新能力。
二、教学内容1. 单片机原理及内部结构:讲解单片机的组成、工作原理、I/O口功能等基础知识,对应教材第3章内容。
2. 电子琴工作原理:介绍电子琴的基本构成、音阶产生原理、键盘扫描方法等,对应教材第5章内容。
3. C语言编程基础:讲解C语言的基本语法、数据类型、运算符、控制语句等,对应教材第2章内容。
4. 单片机编程与控制:结合实例,讲解如何使用C语言编写单片机程序,实现电子琴功能,对应教材第4章内容。
5. 硬件电路搭建:介绍电子琴硬件电路的组成、元件选型及连接方法,对应教材第6章内容。
单片机原理课程设计报告电子琴

单片机原理课程设计报告--电子琴北京工商大学计算机与信息工程学院单片机原理课程设计报告题目:用PROTEUS实现:硬件实验二十五电子琴专业:电气工程及其自动化班级:学号:姓名:同组姓名:指导教师:单片机原理课程设计报告一.题目:用protues实现硬件实验25 电子琴二.要求:2.1设计任务a.设计一个4X6的24个按键矩阵,并且1---7键每个键对应一个音。
b.用AT80C51将键盘连接设计成为电子琴。
c.编写电子琴的程序,要达到可以随意弹奏想要表达的音乐的目的。
d.程序的分析与调试。
2.2设计要求a.用汇编语言编程实现程序设计。
b.利用查表,中断等方式实现目的。
c.系统的各个功能模块要清楚,有序。
2.3设计说明a、利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调.b、定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平.由于定时参数不同,就发出了不同频率的脉冲. 本实验中按键一次,会发50个脉冲.发完后继续检测键盘,如果键还按下,继续发音。
各音阶标称频率值:音阶 1 2 3 4 5 6 7频率444.0 493.8 554.3 587.3 659.2 739.9 830.6 (HZ)2.4课设目的a. 了解计算机发声原理。
b. 进一步熟悉定时器编程方法.c. 进一步熟悉键盘扫描电路工作原理及编程方法三.总体说明:本系统采用单片机AT80C51为电子琴的控制核心,系统主要包括播放模块、按键控制模块。
下面对各模块的设计逐一进行论证比较。
3.1 播放模块播放模块是喇叭构成。
它几乎不存在噪声,音响效果较好。
而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。
3.2按键控制显示模块电子琴设有24个按键,其中7个作为音符输入。
7个按键分别代表7个音符,包括中音段的全部音符。
当按下剩余的17个按键时,实现数码管显示全为8.8.8.8.8.8.3.3总体硬件组成框图三.硬件设计:中心控制模块按键控播放按键电子琴全图4.1键盘显示电路数码显示电路键盘按键电路键盘采用编程扫描方式,显示译码管采用动态显示方式,左端74LS374和74LS245的输入端接分别接地址锁存器74LS373的输入端。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
郑州科技学院单片机课程设计题目:基于51单片的声光电子琴设计学生姓名:苏梦强专业班级:电子科学与技术学号: 201131074 院系:电气工程学院指导教师:饶美丽完成时间: 2015年1月9日目录一、设计任务与要求 01.1 设计任务 01.2 设计要求 01.3 设计意义 0二、方案总体设计 (1)2.1 方案对比 (1)2.2总体设计 (3)2.3 总体方案工作原理 (3)三、软件设计 (5)3.1 系统流程 (5)3.2延时源代码 (5)3.3 发音源代码 (6)3.3单个按键源代码 (6)3.4所有程序代码 (7)四、系统仿真与调试 (10)4.1 仿真软件简介 (10)4.2软件调试 (10)4.3 使用说明 (12)五、设计总结 (13)附录1:总体电路原理图 (16)附录2:元器件清单 (17)一、设计任务与要求1.1 设计任务实现电子琴发声控制系统;要求电路实现如下功能:利用蜂鸣器作为发声部件,两个数码管作为显示部件,设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。
并在存储一首歌曲的内容,可以实现自动播放。
说明:单片机的工作时钟频率为11.0592MHz。
1.2 设计要求设计一个带有复位电路,晶振时钟,能显示音调字符的8键电子琴。
1.3 设计意义该设计具有以下优点:1)可以方便得知播放的音符和音调;2)比传统电子琴功能更完善;3)制作简单,成本低二、方案总体设计本次课程设计的课题是基于51单片机的电子琴的设计,所要达到的要求如下:1)利用蜂鸣器作为发声部件。
2)一个数码管作为显示部件。
3)设置8个按键,实现高音、中音、低音的1、2、3、4、5、6、7、8的发音。
本次设计主要是要通过软硬件的配合实现电子琴的上述功能,操作人员可以通过按下键盘上任意一个键来发出相应的音符。
2.1 方案对比AT89C51具有高速度、低电压、低功耗、且可靠性和成本都比较低的特点。
因此本次课程设计采用AT89C51单片机作为整个电路核心控制器件。
对于本控制系统使用一片AT89C51系列的单片机,不需要外扩展存储器,就能实现显示、预制状态、动态调节的功能,因而整体结构简单。
设计电路时运用89C51系列单片机的接口来实现各种输入、输出功能。
P2.7待定部分口用作输出口,向发声电路输出信号;P1口和P0口共同实现一个键盘的功能。
方案一:采用单个的逻辑器件组合我们知道计数器8253可以产生任意频率的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率与计数器的频率对应起来就可通过计数器产生音乐了。
根据本实验要求,采用8279将键扫描得到的键值通过查表得到相应的8253的频率值,将从8253得到相对应的按键弹奏信号经过LM386进行放大,再用喇叭输出,就实现了简易电子琴的基本功能,也就完成了实验的要求方案二:用VHDL语言编程来实现利用我们实验室先进的数字电路实验设备,我们可以采用VHDL语言编程来实现。
我们可以通过VDHL语言,对实验原理图的各个部分进行设计,通过编译,可以在计算机上下载此实验原理图,利用电路学习机上的芯片。
我们很快就可以设计出一个简单的电子琴。
并实现其功能。
方案三:采用AT89C51单片机采用AT89C51单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:一位数码管,和PNP型三极管等。
利用按键实现音符和音调的输入;一位的数码管进行被操作的按键显示:用PNP型三极管实现低音频功率放大;最后用蜂鸣器发音。
方案比较:方案一采用单个的逻辑器件组合实现。
这样虽然比较直观,逻辑器件分工鲜明,思路也比清晰,一目了然,但是由于元器件种类、个数繁多,而过于复杂的硬件电路也容易引起系统的精度不高、体积过大等不利因素。
例如七个不同的音符是由七个不同的频率来控制发出的,所用仪器之多显而易见。
方案二采用VHDL 语言编程来实现电子琴的各项功能。
系统主要由电子琴发声模块、选择控制模块和储存器模块组成。
和方案一相比较,方案二就显得比较笼统,虽然我们可以看到用超高速硬件描述语言VHDL 的优势,但本质上它只是把整个系统分为了若干个模块,而不牵涉到具体的硬件电路。
方案三与前两种方案相比,主控芯片采用AT89C51单片机,它是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
同时具有强大的控制功能和灵活的编程实现特性,由于本设计主要用于人们娱乐方面,因此在设计上尽量使其安全以及简单易操作。
而第三种方案具有经济可行性、技术可行性、实物应用性。
所以我们选择第三种方案。
2.2总体设计设计总体框架图如图1所示图1 单片机总体框架图2.3 总体方案工作原理由AT89C51的P1口8个按键控制DO,RE,MI,FA,SO,LA,XI,DO的各个音符,在由位于P0口的一位数码管显示出来,同时位于P3^7口的蜂鸣器发出声音。
发音原理:若要产生音频脉冲,只要算出某一音频的周期,再将周期除以2,即为半周期的时间。
利用定时器记时半周期时间,每当记时终止后就将P3^7反相,然后记时再反相。
就可在P3^7上得到此频率的脉冲。
利用AT89C51的内部定时器使其工作计数器模式下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。
三、软件设计3.1 系统流程在绘制传统流程图时注意几点:1)熟练绘制传统流程图的基本元素,三种基本结构的流程图标准画法2)将复合条件转为多个单一条件3)循环注意初值、变化和终止4)算法的重点实现一定体现出来程序流程如图12所示:图12 程序流程图3.2延时源代码void DelayMS(uint x){uchar t;while(x--) for(t=0;t<120;t++);}3.3 发音源代码void Play(uchar y){uchar i;for(i=0;i<100;i++){BEEP=~BEEP;//对蜂鸣器电平求反DelayMS(y);}BEEP=1;//给蜂鸣器一个高电平}3.3单个按键源代码:if(K1==0){DelayMS(10);//按键去抖动if(K1==0){num=1;P0=table[num];Play(1);}while(!K1);3.4所有程序代码#include <reg52.h> //调用单片机头文件#define uchar unsigned char //无符号字符型宏定义变量范围0~255#define uint unsigned int //无符号整型宏定义变量范围0~65535sbit beep = P2^5; //蜂鸣器定义sbit K1=P1^0;//给P1^0定义,控制DO的发音sbit K2=P1^1;//给P1^1定义,控制XI的发音sbit K3=P1^2;//给P1^2定义,控制LA的发音sbit K4=P1^3;//给P1^3定义,控制SO的发音sbit K5=P3^4;//给P3^4定义,控制FA的发音sbit K6=P3^5;//给P3^5定义,控制MI的发音sbit K7=P3^6;//给P3^6定义,控制RE的发音sbit K8=P3^7;//给P3^7定义,控制DO的发音sbit K9=P2^0;//音乐播放按键uchar flag_en = 0; //开始放歌uchar flag_i = 0;//数码管段选定义 0 1 2 3 4 56 7 8 9uchar code smg_du[]={0xde,0x90,0xcd,0xd9,0x93,0x5b,0x5f,0xd0,0xdf, 0xdb// AB C D E F不显示}; //断码uchar m,n;uchar code T[49][2]={{0,0},{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0x FA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A },{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},{0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0x FD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5 },{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},{0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0x FE,0x84},{0xFE,0x99},{0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02 },{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},{0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0x FF,0x42},{0xFF,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69 },{0xFF,0x71},{0xFF,0x79},{0xFF,0x81}};uchar code music1[][2]={{0,4}, //青花瓷{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{14,8},{19 ,4},{21,4},{24,4},{21,4},{19,16},{0,4},{24,4},{24,4},{2 1,4},{19,4},{21,4},{12,8},{19,4},{21,4},{24,4},{19,4},{17,16},{0,4},{17,4},{19,4},{21,4},{24,4},{26,4},{24,4},{22,4},{24,4},{21,4},{21,4},{1 9,4},{19,16},{0,4},{17,4},{19,4},{17,4},{17,4},{19,4},{17,4},{19,4},{1 9,4},{21,8},{24,4},{21,4},{21,12},{0,4},{24,4},{24,4},{ 21,4},{19,4},{21,4},{14,8},{19,4},{21,4},{24,4},{21,4}, {19,16},{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{12,8},{19,4},{21,4},{24,4},{19,4},{1 7,16},{0,4},{17,4},{19,4},{21,4},{24,4},{26,4},{24,4},{ 22,4},{24,4},{21,4},{21,4},{19,4},{19,12},{12,4},{21,8} ,{19,4},{19,8},{17,16},{0xFF,0xFF}};四、系统仿真与调试4.1 仿真软件简介Proteus是由Labcenter Electronics开发的功能强大的单片机仿真软件,现在最新版本6.9 SP5。