单片机电子琴课程设计完整版
简易电子琴设计(单片机课程设计)
简易电子琴设计用单片机控制扬声器,弹奏出一段音乐。
一、预备知识:乐曲由不同音符组成,各音符都有对应的频率,频率不同的方波加在扬声器上,就产生一个持续的音符。
利用不同的音符、音高、音长组合,就可产生想要的音乐。
对于单片机来说,利用其定时器产生不同频率的方波非常方便,以11.0592、22.1184MHz 晶振(实验箱)为例,列出高中低音符与单片机定时器初值如下表所示注意:1、一个音段常见由7个标准音组成(1do、2ri、3mi、4fa、5sol、61a、7si),但实际乐曲中还有一些介于2个标准音之间的音,即半度音,有 1.5、2.5、4.5、5.5、6.5共5个,所以完整的1个音段有12个音。
2、选择简谱时,尽量选用只含7个标准音的乐曲,而且要选C大调的(简谱左上角标着1=C X/4 ),否则各音符的频率要做相应的变化。
10二、设计目的了解扬声器的发声原理,进一步熟悉定时器、键盘扫描、LED 显示电路的工作原理及编程方法。
三、设计内容1 、设计键盘、LED 显示、扬声器驱动电路原理图;2、设计程序流程图;3 、编程调试,利用按键作为琴键,按下不同的键发出相应的音调,同时在LED 最右位显示对应键号值。
四、参考接线扬声器的SPK+ 端接VCC,SPK 负端连接到某一I/O 口。
五、设计步骤程序:KEYBUF EQU 30HSTH0 EQU 31HSTL0 EQU 32HTEMP EQU 33HORG 0000LJMP MAINORG 000BHLJMP INT_T0MAIN:MOV TMOD,#01HSETB ET0SETB EAWAIT:MOV P3,#0FFHCLR P3.4MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY1LCALL DELAYMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY1MOV A,P3ANL A,#0FHCJNE A,#0EH,NK1MOV KEYBUF,#0LJMP DK1NK1:CJNE A,#0DH,NK2MOV KEYBUF,#1LJMP DK1NK2:CJNE A,#0BH,NK3MOV KEYBUF,#2LJMP DK1NK3:CJNE A,#07H,NK4MOV KEYBUF,#3LJMP DK1NK4:NOPDK1:MOV A,KEYBUFMOV B,#2MUL ABMOV TEMP ,AMOV DPTR,#TABMOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK1A:MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK1ACLR TR0NOKEY1:MOV P3,#0FFHCLR P3.5MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2LCALL DELAYMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2MOV A,P3ANL A,#0FHCJNE A,#0EH,NK5MOV KEYBUF,#4LJMP DK2NK5:CJNE A,#0DH,NK6MOV KEYBUF,#5LJMP DK2NK6:CJNE A,#0BH,NK7MOV KEYBUF,#6LJMP DK2NK7:CJNE A,#07H,NK8MOV KEYBUF,#7LJMP DK2NK8:NOPDK2:MOV A,KEYBUFMOV B,#2MUL ABMOV TEMP ,AMOV DPTR,#TABMOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK2A:MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK1ACLR TR0 NOKEY2:MOV P3,#0FFHCLR P3.6MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3LCALL DELAYMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3MOV A,P3ANL A,#0FHCJNE A,#0EH,NK9MOV KEYBUF,#8LJMP DK1NK9:CJNE A,#0DH,NK10MOV KEYBUF,#9LJMP DK1NK10:CJNE A,#0BH,NK11MOV KEYBUF,#10LJMP DK1NK11:CJNE A,#07H,NK12MOV KEYBUF,#11LJMP DK3NK12:NOPDK3:MOV A,KEYBUFMOV B,#2MUL ABMOV TEMP ,AMOV DPTR,#TABMOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK3A:MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK3ACLR TR0NOKEY3:MOV P3,#0FFHCLR P3.7MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4LCALL DELAYMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4MOV A,P3ANL A,#0FHNK13:NK14: NK15:NK16: DK4: CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4NOPMOV A,KEYBUF MOV B,#2MUL ABMOV TEMP ,AMOV DPTR,#TABMOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0DK4A:MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK4ACLR TR0NOKEY4:MOV DPTR,#LED_TABMOV A,KEYBUFMOVC A,@A+DPTRMOV P1,ALJMP MAINDELAY:MOV R6,#10 D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0:MOV TH0,STH0MOV TL0,STL0CPL P2.0RETITAB:DW 62018,62401,62743,62895DW 63185,63441,63670,63774DW 63966,64138,64216,64360DW 64489,64603,64655,64752 LED_TAB:DB ;低1,2,3,4;低5,6,7 ,中1;中2,3,4,5;中6,7 ,高1,2至9 共阴3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0DB 77H, 7CH, 39H, 5EH, 79H, 71H;A 至F END原理图:EXFJldlVTAll■匚AIE:pc.ii*r 1 ■HM口1 店MinPE.MiAE.-iF匚ar屋理ix傅?1 ALVEffSviC rzarti*i"Pl.1吒灯血fl J叭孑n1)r i J raji'TITIf irf ri.hTC和止■Fl?mfio。
基于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)前言音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。
近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。
但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。
如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。
而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。
结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。
现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。
电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。
单片机电子琴课程设计 (2)
微机综合设计设计报告《微机综合设计》报告目录一、设计题目 (4)二、设计内容与要求 (4)2.1内容与要求 (4)2.2课程设计的设计步骤 (4)2.3任务分析 (4)2.4方案比较及选择 (4)三、设计目的及意义 (5)四、系统硬件电路图 (5)4.1Proteus软件简介及仿真电路图 (5)4.2 Protel199SE简介以及所绘图形 (6)五、程序流程框图与源程序 (10)5.1流程框图 (10)5.2源程序清单 (11)六、系统设计说明 (14)6.1 8051单片机介绍 (15)6.1.1stc89c54单片机 (15)6.1.2 振荡特性 (20)6.1.3 芯片擦除 (21)6.2单片机最小系统 (21)6.2.1复位电路 (22)6.2.2 晶振电路 (23)6.3 STC-ICP-V480软件介绍 (24)6.3.1软件功能 (24)6.3.2 软件应用流程 (24)6.4KEIL软件介绍 (26)6.5音乐与频率相关知识 (27)6.5.1初值的确定 (27)6.5.2改变音调的方法 (29)6.6蜂鸣器及其驱动电路设计 (29)6.7调试过程 (30)6.8调试过程收获 (31)6.9改进意见及措施 (31)七、综合设计总结 (31)八、参考文献 (33)一、设计题目简易电子琴设计二、设计内容与要求2.1内容与要求用8031单片机控制电子琴发出1、2、3、4、5、6、7七个音节的声音,音调可控。
2.2课程设计的设计步骤1、理解任务设计要求(通过阅读有关资料及调查研究);2、对总体方案进行分析,论证,验证其可行性;3、系统硬件电路的设计:使用protel软件制作硬件电路原理图并生成PCB,根据PCB图制作系统硬件电路板并且焊上相关元器件,检测电路是否导通;4、系统控制软件的设计:1)以功能明确、相互界面能清晰分割的软件程序为基础,确定主程序的流程框图;2)以主程序流程图为基础,确定各个模块程序算法及实现的功能,进一步确定各个模块程序流程框图;3)根据软件流程框图,用汇编语言或者C语言编写主程序和延时子程序;4)系统软件仿真、硬件电路制造、硬件的测试;5)编写课程设计说明书,答辩验收。
单片机电子琴音乐盒课程设计
软件优化不够
虽然我们实现了基本的功能,但 在软件算法的优化方面还存在不 足,如音符播放的流畅度、音乐
格式的兼容性等还有待提高。
测试与验证不充分
在课程设计中,我们对音乐盒的 测试与验证工作不够充分,未能 全面覆盖各种使用场景和异常情 况,导致在实际应用中出现了一
些问题。
未来发展趋势预测
,在各个领域得到了广泛应用。
02
音乐教育的普及
音乐教育逐渐受到人们的重视,越来越多的人希望通过各种方式学习和
欣赏音乐。
03
创意礼品的市场需求
在礼品市场中,具有创意和个性化的产品越来越受到消费者的青睐,电
子琴音乐盒作为一种将音乐与工艺品相结合的创意礼品,具有很大的市
场潜力。
目的和意义
01
提高学生实践能力
改进建议
针对发现的问题和性能瓶颈,提出具体的改进措施,如优化算法、更换更高性能的元器件 等。同时,也可以提出新的功能或设计思路,以完善和提升系统的整体性能。
PART 06
课程设计总结与展望
REPORTING
课程设计成果总结
1 2 3
实现基本功能
成功设计并制作了一个基于单片机的电子琴音乐 盒,实现了基本的音符播放、音乐播放和控制功 能。
智能化发展
随着人工智能技术的不断发展,未来的电子琴音乐盒有望 实现更加智能化的功能,如语音识别、自动演奏等。
多功能集成
为了满足用户多样化的需求,未来的电子琴音乐盒可能会 集成更多功能,如录音、编曲、教学等。
绿色环保
随着环保意识的日益增强,未来的电子琴音乐盒在设计和 生产过程中将更加注重环保和节能,采用更环保的材料和 更高效的能源利用方案。
播放功能测试
单片机课程设计电子琴
单片机课程设计 电子琴一、课程目标知识目标: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. 教学大纲:- 第一周:单片机原理学习,音乐理论知识回顾。
- 第二周:编程基础复习,电子琴硬件连接与调试。
- 第三周:编写电子琴程序,实现基本功能。
基于单片机的电子琴课程设计
本科课程设计课程名称:单片机原理与接口技术设计项目:简易电子琴设计实验地点:跨越机房专业班级:通信0901 学号:学生姓名:田野同组人:李刚瑛梁邦爽指导教师:武娟萍2012年05月26日一、设计目的本设计以AT89C51单片机为核心,采用常用电子器件设计。
要求最少8个按键,每个按键对应一种音调,按下按键发声,松开按键后声音延迟一段时间后停止,即带余音的电子琴,延时时间可以设置,要求最少8个不同音调,可以采用标准的音调设计。
本次课程设计主要研究基于AT89C51单片机的简易电子琴设计二、设计器材AT89C51,蜂鸣器,PNP型三极管,晶振,独立按键三、总体设计方案1.设计思路此次设计硬件电路分四大模块较为简单,主要由独立按键、单片机AT89C51、音频功放及扬声器构成。
以AT89C51为主控器件,对其进行编译,达到我们的设计要求。
对于软件部分下面有详细介绍。
2.电路总设计框图如图1:图1 电路总设计框图3.音频放大电路在一定频率范围内,具有固定频率的振动就能产生音乐,但是单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为他没有足够的驱动能力,需要音频功率放大电路。
这里选用PNP型三极管来驱动蜂鸣器,是音响效果更为理想,音频功放电路接口如图2所示:图2 音频放大电路4.音乐播放电路对于播放一首固定音乐,不仅要知道音符也要知道节拍,对应节拍延时时间设定表,对单片机进行编程就可以实现功能。
放歌产生电路如图3,其中单片机的P3.0口控制音乐开始播放控制端口,P3.2口是控制音乐停止播放的控制端口,当小按键S10按下时P3.0口获得低电平,音乐开始重复播放,当小按键S9按下2时,P3.2口获得低电平,经过单片机的处理,音乐停止播放,单片机回到最初工作状态。
而P2口的每个端口都连接一个按键,分别控制1,2,3,4,5,6,7,˙1八个不同的音符。
S9P3.2S10P3.0图3音乐播放电图5.总体电路图如下图:图4 总体电路图,4四 、设计原理分析1.产生声音的方法:只要让扬声器通过产生大小变化的电流(脉动电流或交流),就能使扬声器发出声音,因此若以程序不断的输出1—0—1—0—1……就可以令扬声器发出声音,由于MCS —51系列的输出端口输出电流不够大,所以必须加上晶体管把电流放大后再驱动扬声器,如图2所示。
单片机简易电子琴课程设计
单片机简易电子琴课程设计一、课程目标知识目标:1. 让学生理解单片机的基础知识,掌握其编程原理;2. 帮助学生掌握简易电子琴的设计原理,包括音阶、音色和节奏的控制;3. 引导学生掌握电子琴的硬件连接和软件编程,了解两者之间的联系。
技能目标:1. 培养学生动手操作能力,能够独立完成单片机与电子琴硬件的连接;2. 培养学生编程能力,能够编写简单的程序控制电子琴演奏;3. 提高学生的问题解决能力,能够针对电子琴演奏过程中出现的问题进行调试和优化。
情感态度价值观目标:1. 培养学生对单片机及电子琴制作的兴趣,激发学习热情;2. 培养学生团队协作精神,学会在合作中共同解决问题;3. 培养学生创新思维,鼓励学生敢于尝试,勇于突破。
课程性质分析:本课程为实践性较强的课程,结合单片机技术与音乐知识,旨在培养学生的动手实践能力和创新精神。
学生特点分析:初中年级学生已经具备一定的物理知识和逻辑思维能力,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的综合运用能力;2. 教学过程中,关注学生个体差异,给予每个学生个性化的指导;3. 注重教学评价,及时了解学生学习进度,调整教学策略,确保课程目标的实现。
二、教学内容1. 单片机基础知识:讲解单片机的组成、工作原理,重点掌握I/O口控制、定时器、中断等基本功能。
相关教材章节:第一章 单片机概述、第二章 单片机硬件结构。
2. 电子琴原理:介绍电子琴的基本原理,包括音阶生成、音色合成、节奏控制等。
相关教材章节:第三章 电子乐器原理、第四章 音频信号处理。
3. 硬件连接:学习如何将单片机与电子琴硬件连接,包括键盘矩阵、音频放大器、扬声器等。
相关教材章节:第五章 单片机接口技术。
4. 软件编程:编写程序实现电子琴的基本功能,包括音阶演奏、音色切换、节奏控制等。
相关教材章节:第六章 单片机编程基础、第七章 程序设计实例。
5. 实践操作:分组进行电子琴制作,让学生动手实践,提高实际操作能力。
单片机课程设计——简易电子琴
汇报人:
单击输入目录标题 单片机基础知识 简易电子琴系统设计 单片机与简易电子琴的结合 简易电子琴的功能扩展 简易电子琴的优化与改进
添加章节标题
单片机基础知识
单片机简介
单片机是一种集成电路芯片,将微处理器、存储器、输入/输出接口等集成在一起 单片机具有体积小、功耗低、可靠性高、编程灵活等特点 单片机广泛应用于工业控制、家电、汽车电子等领域 单片机课程设计是学习单片机应用的重要环节,可以提高学生的实践能力和创新能力
音乐播放与控制
单片机控制:通过单片机控制电子琴的音色、音高和节奏 音乐播放:单片机通过控制电子琴的音色、音高和节奏,实现音乐的播放 控制方式:可以通过按键、触摸屏等方式控制音乐的播放 功能扩展:可以增加录音、播放、暂停、快进、快退等功能,提高用户体验
显示模块的应用
显示模块的作用:显示电子琴 的音色、音高、节奏等信息
单片机在简易电子琴中的应用
控制音量:通过单片机控制 音量的大小,实现电子琴的 音量调节功能。
控制音色:通过单片机控制 不同频率的音色,实现电子 琴的多种音色效果。
控制节奏:通过单片机控制 节奏的快慢,实现电子琴的
节奏调节功能。
控制和弦:通过单片机控制 和弦的演奏,实现电子琴的
和弦演奏功能。
单片机开发环境搭建
测试内容:音色、音调、 音量、节奏等性能指标
测试结果分析:对测试数 据进行分析,找出问题并 解决
测试报告:记录测试过程、 结果和分析,为后续改进 提供依据
单片机与简易电子琴的结合
单片机控制简易电子琴的原理
单片机作为核心控制单元,负责接收和处理来自键盘的输入信号
单片机根据接收到的输入信号,控制电子琴的音源产生相应的音调
基于单片机的电子琴课程设计
本科课程设计课程名称:单片机原理与接口技术设计项目:简易电子琴设计实验地点:跨越机房专业班级:通信0901 学号:学生姓名:田野同组人:李刚瑛梁邦爽指导教师:武娟萍2012年05月26日一、设计目的本设计以AT89C51单片机为核心,采用常用电子器件设计。
要求最少8个按键,每个按键对应一种音调,按下按键发声,松开按键后声音延迟一段时间后停止,即带余音的电子琴,延时时间可以设置,要求最少8个不同音调,可以采用标准的音调设计。
本次课程设计主要研究基于AT89C51单片机的简易电子琴设计二、设计器材AT89C51,蜂鸣器,PNP型三极管,晶振,独立按键三、总体设计方案1.设计思路此次设计硬件电路分四大模块较为简单,主要由独立按键、单片机AT89C51、音频功放及扬声器构成。
以AT89C51为主控器件,对其进行编译,达到我们的设计要求。
对于软件部分下面有详细介绍。
2.电路总设计框图如图1:图1 电路总设计框图3.音频放大电路在一定频率范围内,具有固定频率的振动就能产生音乐,但是单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为他没有足够的驱动能力,需要音频功率放大电路。
这里选用PNP型三极管来驱动蜂鸣器,是音响效果更为理想,音频功放电路接口如图2所示:图2 音频放大电路4.音乐播放电路对于播放一首固定音乐,不仅要知道音符也要知道节拍,对应节拍延时时间设定表,对单片机进行编程就可以实现功能。
放歌产生电路如图3,其中单片机的P3.0口控制音乐开始播放控制端口,P3.2口是控制音乐停止播放的控制端口,当小按键S10按下时P3.0口获得低电平,音乐开始重复播放,当小按键S9按下2时,P3.2口获得低电平,经过单片机的处理,音乐停止播放,单片机回到最初工作状态。
而P2口的每个端口都连接一个按键,分别控制1,2,3,4,5,6,7,˙1八个不同的音符。
S9P3.2S10P3.0图3音乐播放电图5.总体电路图如下图:图4 总体电路图,4四 、设计原理分析1.产生声音的方法:只要让扬声器通过产生大小变化的电流(脉动电流或交流),就能使扬声器发出声音,因此若以程序不断的输出1—0—1—0—1……就可以令扬声器发出声音,由于MCS —51系列的输出端口输出电流不够大,所以必须加上晶体管把电流放大后再驱动扬声器,如图2所示。
单片机电子琴课程设计
单片机电子琴课程设计一、课程目标知识目标: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章内容。
基于单片机的简易电子琴设计课程设计
湖南文理学院课程设计报告课程名称:单片机课程设计专业班级:自动化10102班17号学生姓名:肖葵指导教师:王南兰完成时间: 2013年 6 月 13 日报告成绩:湖南文理学院制摘要随着社会的发展进步,音乐逐渐成为人们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。
我们都会抽空欣赏世界名曲,作为对精神的洗礼。
本论文设计一个基于单片机的简易电子琴。
人们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:AT89S51;音色节拍器;电子琴ABSTRACTWith the development of our society, music has become an important part of life. There’s a saying goes that people who likes music can not be an evil. During our life, we often enjoy all kinds of music in the world to baptize our spirits. This thesis has designed a simple microcontroller-based electronic key board. We are curious about the foundation of electronic keyboard, such as the choice of timber, the control of volume, the metrononme and automatic playback.The keyboard is a product of modern electronic technology combined with music, it is a new type of keyboard instruments. And it plays an important role in modern music. Single chip has a powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value.Key words : single chip MCU keyboard speaker electronic organ目录第一章设计方案分析 (1)1.1设计背景 (1)1.2 设计任务 (1)2.1总体设计 (1)第二章电子琴总体电路图设计 (3)2.1单片机最小系统 (3)2.1.1 AT89S52简介 (3)2.1.2 时钟电路与复位电路 (7)2.2显示部分设计 (7)2.2.1数码显示方式 (7)2.2.2八位数码管的结构 (8)2.3按键模块设计 (8)2.3.1按键选取 (9)2.3.2键盘设计 (9)2.4 发音模块设计 (10)第三章程序设计 (12)3.1 系统总体功能流程图 (12)3.2 参数计算 (12)3.3判断音阶(高中低音)子程序 (14)3.4 播放子程序 (15)第四章 Proteus软件仿真 (17)4.1编程环境PROTEUS (17)4.2用PROTEUS ISIS进行硬件电路绘制 (17)4.3下载HEX文件 (19)4.4软件调试 (20)心得体会 (22)参考文献 (23)附录一原理图 (24)附录二源代码 (25)第一章设计方案分析1.1设计背景随着电子科学技术的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们带来更多的生活乐趣。
单片机电子琴课程设计完整版
单片机技术及系统设计课程设计题目:基于单片机的电子琴制作专业:电子电子信息工程班级:电子1073班姓名: xxx 学号: xxx 组员: xxx 学号: xxx 实验地点:科技楼403指导老师: xxx设计时间 2010-5-30 至 2010-6-30成绩:一、设计指标:(1)设计一个(4×4)的键盘,并将16个键设计成16个音;(2)可弹奏想要表达的音乐;(3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。
二、设计要求:(1)按设计指标进行电路设计;(2)列出音阶与单片机定时器输出频率关系表格;(3)制作符合设计指标的硬件电路。
三、设计说明:电子琴是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。
它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播放键和扬声器。
四、设计简单原理介绍一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
电子琴单片机课程设计
引言 (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)1.1 基本设计要求 (2)1.2 方案比较与确定 (2)1.3 系统组成与工作原理 (2)第二章硬件电路设计 (6)2.1 单片机最小系统 (6)2.2 键盘模块 (9)2.3 方波发生模块 (12)2.4 功率放大发声模块 (13)第三章软件设计 (14)3.1 软件结构功能设计 (14)3.2 主程序设计 (14)3.3 子程序设计 (15)第四章实验调试及测试结果分析 (17)4.1 软件调试 (17)4.2系统联调 (18)结论 (19)参考文献 (20)附录1:系统原理图 (21)附录2 源程序 (22)附录3 电子琴成品图 (26)附录4元件清单 (27)前言又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。
音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。
它还可模仿多种音色,甚至可以奏出常规乐器所无法发出的声音(如合唱声,风雨声,宇宙声等)。
另外,电子琴在独奏时,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。
另外,电子琴还安装有效果器,如混响、回声、延音,震音轮和调制轮等多项功能装置,表达各种情绪时运用自如。
电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。
还常作为独奏乐器出现,具有鲜明时代特色。
但电子琴的局限性也十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类管、弦乐器时,技法略显单调。
电子琴是一种功能强大,易于制作,成本低廉的现代新型乐器。
它可根据使用者的不同要求方便的进行设计,成为现代社会一种颇具市场号召力的乐器。
单片机具有强大的控制功能和灵活的编程实现特性,在现代工业生活中随处可见,本次课程设计主要就是利用STC89C52单片机为核心控制元件,设计简易的一个电子琴,并以此对电子琴原理及硬件组成进行分析并设计,最终由此做出实物。
由此更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
单片机电子琴系统设计
总体概述本设计采用AT89S52单片机作为整个系统的控制核心,具有:音乐琴, 电子钟, LED阵列扫描显示, 液晶字符显示, 循环彩灯五个模块。
音乐琴采用4X4矩阵键盘为输入键盘,共有十六个基本音, 并与其他功能组合, 具有一定的实用性与趣味性, 较好的完成题目要求。
关键词:单片机矩阵键盘频率。
一、音乐琴系统。
1. 电路原理图2.系统板硬件连线1.把“单片机系统”区域中的P1.0 端口用导线连接到“音频放大模块”区域中的SPK IN 端口上;2.把“单片机系统“区域中的P3.0 -P3.7 端口用8 芯排线连接到“ 4X4 行列式键盘”区域中的C1 -C4 R1 -R4 端口上;3.相关程序内容音乐产生的方法;一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/ 计数器T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
现在以单片机12MHZ 晶振为例,例出高中低音符与单片机计数T0 相关的计数值如下表所示下面我们要为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据低音0 -19 之间,中音在20 -39 之间,高音在40 -59 之间TABLE: DW 0,63628,63835,64021,64103,64260,64400,64524,0,0DW 0,63731,63928,0,64185,64331,64463,0,0,0DW 0,64580,64684,64777,64820,64898,64968,65030,0,0DW 0,64633,64732,0,64860,64934,64994,0,0,0DW 0,65058,65110,65157,65178,65217,65252,65283,0,0DW 0,65085,65134,0,65198,65235,65268,0,0,0DW 02 、音乐的音拍,一个节拍为单位(C 调)对于不同的曲调我们也可以用单片机的另外一个定时/ 计数器来完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机技术及系统设计课程设计题目:基于单片机的电子琴制作专业:通信工程班级:08-1班姓名:何秋慧学号:200807040113 组员:何秋慧赵玉春杨彦英龙芳实验地点:东五楼301、305指导老师:陈燕、陈晓雷设计时间:2011-1-3 至2011-1-9成绩:一、设计指标:(1)设计一个(4×4)的键盘,并将16个键设计成16个音; (2)可弹奏想要表达的音乐;(3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。
二、设计要求:(1)按设计指标进行电路设计;(2)列出音阶与单片机定时器输出频率关系表格;(3)制作符合设计指标的硬件电路。
三、设计说明:电子琴是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。
它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。
单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个弹奏按键、1个播放键和扬声器。
四、设计简单原理介绍一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。
利用定时器计时半周期时间,每当计时终止后就将P1.0反相,然后重复计时再反相。
就可在P1.0引脚上得到此频率的脉冲。
利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523Hz)。
计数脉冲值与频率的关系式(如式3-1所示)是:N=fi÷2÷fr3-1式中,N是计数值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产生的频率。
其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr 例如:设K=65536,fi=1MHz,DO(523Hz)的计数值。
T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fDO的T=65536-500000/523=64580单片机12MHZ晶振,高中低音符与计数T0相关的计数值如表4-2所示表3-2 音符频率表低音音符频率HZ 中音音符频率HZ 高音音符频率HZ1 261.63 1 523.25 1 1045.52 293.67 2 587.33 2 1174.663 329.63 3 659.46 3 1318.514 349.23 4 698.46 4 1396.925 391.99 5 738.99 5 1567.986 440.00 6 880.00 6 1760.007 493.88 7 987.76 7 1975.52我们要为这个音符建立一个表格,单片机通过查表的方式来获得相应的数据低音0-19之间,中音在20-39之间,高音在40-59之间TABLE: DW0,63628,63835,64021,64103,64260,64400,64524,0,0DW 0,63731,63928,0,64185,64331,64463,0,0,0DW 0,64580,64684,64777,64820,64898,64968,65030,0,0DW 0,64633,64732,0,64860,64934,64994,0,0,0DW 0,65058,65110,65157,65178,65217,65252,65283,0,0DW 0,65085,65134,0,65198,65235,65268,0,0,0DW 0在这个程序中,弹奏音乐的程序是用定时/计数器T0来完成的,播放音乐程序则是用定时/计数器T1来完成的。
五、软件总体方案及设计流程(1)键盘扫描程序:检测是否有键按下,有键按下则记录按下键的键值,并跳转至功能转移程序;无键按下,则返回键盘扫描程序继续检测(2)功能转移程序:对检测到得按键值进行判断,是琴键则跳转至琴键处理程序,是功能键则跳转至相应的功能程序,我们设计的功能程序有两种,即音色调节功能和自动播放乐曲功能(3)琴键处理程序:根据检测到得按键值,查询音律表,给计时器赋值,使发出相应频率的声音(4)自动播放歌曲程序:检测到按键按下的是自动播放歌曲功能键后执行该程序,电子琴会自动播放事先已经存放好的歌曲,歌曲播放完毕之后自动返回至键盘扫描程序,继续等待是否有键按下程序简易流程图是否 是开始T0初始化并开中断允许T0中断 T1初始化并开中断允许T1中断键盘扫描程序 有键按下否识别按键功能 播放键 根据按键功能装入相应音取相应的音符码装入T1 启动T0 启动T1 按键释放成功否 按键释放成功否 延时去抖动 是否弹奏键停止T0工作停止T1工作弹奏程序流程图弹奏子程序开中断并允许中断设定定时器工作方式取键值根据键值查音律表给定时器T0赋值开始计时进入中断CPL P3.0自动播放歌曲程序流程图YY N查音律表,给定时器开始计进入中退出中返回键盘扫描CPL3.0自动播放音乐休止符STO P取该音符的节取简谱开中断,设定定时器T1INCA<< 0,DPTR<<歌谱地址 A=A=0F六、硬件总体方案及说明51单片机P1口通过连接4*4的矩阵键盘,作为琴键键盘;P2.0接播放音乐键;P3.0口接喇叭,通过执行相应的功能程序使电子琴发出不同音色的声音。
(一)芯片介绍:在本次电子琴设计中,我们组成员单片机芯片选用了AT89C51芯片,而89C51系列的兼容性也比较好。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:P3口引脚特殊功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(定时器0外部输入)P3.5 T1(定时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7RD (外部数据存储器读先通)P3口同时为闪烁编程和编程校验接收一些控制信号。
(二)硬件接线:(1)利用P1口为按键接入口,形成4×4组成16个按键矩阵,设计成16个音,下图所示: (2)p3.0口音频输出,接一个喇叭。
(3)复位电路我们本来在方案选择的时候有两种选择的,上电复位和按扭复位,上电复位是利用电容充电来实现的,而按扭复位是电源对外节电容的充电使RST 为高电平,复位松开后,电容通过下拉电阻放电,使RST 恢复低电平。
为了制作软件的方便我们还是选择用按扭复位,因为它比较直观。
(4)电路设计图如下:0 1 2 3 4 5 6 7 8 9 A B C D E F所对应的键码为:七、设计仪器、设备和材料清单主要仪器设备:个人计算机和相关的软件主要元器件:独立按键16个单片机芯片AT80C51一片12MHz晶振一个S8550三极管一个不同阻值电阻数个开关一个USB电源插口一个喇叭一个10uF、30pF电容数个电路板一块电烙铁一个等八、设计源程序BUFF EQU 30HSTH0 EQU 31HSTL0 EQU 32HTEMP EQU 33HORG 00HLJMP STARTORG 0BHLJMP INT_T0ORG 001BHLJMP TIM1START: MOV TMOD,#01H ;设置T0工作方式SETB ET0SETB EA ;启动T0MAIN:MOV P1,#0FFH ;P1全置1CLR P1.4 ;开始扫描第一行MOV A,P1ANL A,#0FH ;屏蔽高四位XRL A,#0FH ;低位有”0”则有键按下,否则无JZ KKEY1 ; 有则继续,没有则转移到KKEY1LCALL DEL Y10MS ;调用延时程序MOV A,P1 ;重新开始判断有无键按下ANL A,#0FHXRL A,#0FHJZ KKEY1MOV A,P1ANL A,#0FH ;求键值CJNE A,#0EH,CKK1 ;相等该行第一列有键MOV BUFF,#0 ;该键值为0LJMP NDK1 ;跳到NDK1执行功能程序CKK1: CJNE A,#0DH,KK2;相等说明该行第二列有键MOV BUFF,#1;该键值为1LJMP NDK1;跳到NDK1执行相应的功能程序KK2: CJNE A,#0BH,KK3;相等说明该行第三列有键MOV BUFF,#2;该键值为2LJMP NDK1;跳到NDK1执行相应的功能程序KK3: CJNE A,#07H,KK4;相等说明该行第四列有键按MOV BUFF,#3;该键值为2LJMP NDK1;跳到NDK1执行相应的功能程序KK4: NOPNDK1: MOV A,BUFFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0NDK1A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK1ACLR TR0KKEY1: MOV P1,#0FFH ;开始扫描第二行CLR P1.5MOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY2LCALL DEL Y10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY2MOV A,P1ANL A,#0FHCJNE A,#0EH,KK5MOV BUFF,#4LJMP NDK2KK5: CJNE A,#0DH,KK6MOV BUFF,#5LJMP NDK2KK6: CJNE A,#0BH,KK7MOV BUFF,#6LJMP NDK2KK7: CJNE A,#07H,KK8MOV BUFF,#7LJMP NDK2KK8: NOPNDK2: MOV A,BUFFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0NDK2A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK2ACLR TR0KKEY2: MOV P1,#0FFH ;开始扫描第三行CLR P1.6MOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY3LCALL DEL Y10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY3MOV A,P1ANL A,#0FHCJNE A,#0EH,KK9MOV BUFF,#8LJMP NDK3KK9: CJNE A,#0DH,KK10MOV BUFF,#9LJMP NDK3KK10: CJNE A,#0BH,KK11MOV BUFF,#10LJMP NDK3KK11: CJNE A,#07H,KK12MOV BUFF,#11LJMP NDK3KK12: NOPNDK3: MOV A,BUFFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0NDK3A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK3ACLR TR0KKEY3: MOV P1,#0FFH;开始扫描第四行CLR P1.7MOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY4LCALL DEL Y10MSMOV A,P1ANL A,#0FHXRL A,#0FHJZ KKEY4MOV A,P1ANL A,#0FHCJNE A,#0EH,KK13MOV BUFF,#12LJMP NDK4KK13: CJNE A,#0DH,KK14MOV BUFF,#13LJMP NDK4KK14: CJNE A,#0BH,KK15MOV BUFF,#14LJMP NDK4KK15: CJNE A,#07H,KK16MOV BUFF,#15LJMP NDK4KK16: NOPNDK4: MOV A,BUFFMOV DPTR,#TABLEMOVC A,@A+DPTRMOV P0,AMOV A,BUFFMOV B,#2MUL ABMOV TEMP,AMOV DPTR,#TABLE1MOVC A,@A+DPTRMOV STH0,AMOV TH0,AINC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,ASETB TR0NDK4A: MOV A,P1ANL A,#0FHXRL A,#0FHJNZ NDK4ACLR TR0KKEY4: MOV A,#0FFHMOV P2,AMOV A,P2JB ACC.0, KKEY5LCALL DELY10MSMOV A,P2JB ACC.0, KKEY5MOV BUFF,#16LJMP START22START22: MOV A,BUFFCJNE A,#16,KKEY5LJMP START2KKEY5: LJMP MAINSTART2: MOV TMOD,#10H ;设T1在M1MOV IE,#88H ;中断使能START0: MOV 30H,#00 ;取简谱码指针NEXT: MOV A,30H ;简谱码指针载入AMOV DPTR,#TAB ;至TAB取简谱码MOVC A,@A+DPTR ;MOV R2,A ;渠道的简谱码暂存于R2JZ END0 ;是否渠道00(结束码)ANL A,#0FH ;不是,则取低4位(节拍码)MOV R5,A ;将节拍码存入R5MOV A,R2 ;将取到的简谱码再载入ASWAP A ;高低4位交换ANL A,#0FH ;取低4位(音符码)JNZ SING ;取到的音符码是否为0?CLR TR1 ;开始,则不发音SJMP D1 ;跳至D1SING: DEC A ;取到的音符码减1(不含0)MOV 22H,A ;存入(22H)RL A ;乘2MOV DPTR,#TAB1 ;至TABLE1取相对的高位字节计数值MOVC A,@A+DPTR ;MOV TH1,A ;取到的高位字节存入TH0MOV 21H,A ;取到的高位字节存入(21H)MOV A,22H ;在载入取到的音符码RL A ;乘2INC A ;加1MOVC A,@A+DPTR ; TABLE1取低位字节计数值MOV TL1,A ;取到的低位字节存入TL0MOV 20H,A ;取到的低位字节存入(20H)SETB TR1 ;启动TIMER0D1: LCALL DELAY ;其本单位时间1/4拍187毫秒INC 30H ;取简谱码指针加1JMP NEXT ;取下一个简谱码END0: CLR TR1 ;停止TIMER0LJMP MAIN ;重复循环TIM1: PUSH ACC ;将A的值暂存于堆栈PUSH PSW ;将PSW的值暂存于堆栈MOV TL1,20H ;重设计数值MOV TH1,21H ;CPL P3.0 ;将P1.0位反相,控制蜂鸣器发声POP PSW ;至堆栈取回PSW的值POP ACC ;至堆栈取回A的值RETIDELAY:MOV R7,#02D2: MOV R4,#187D3: MOV R3,#248DJNZ R3,$DJNZ R4,D3DJNZ R7,D2RETDELY10MS: MOV R6,#10D10: MOV R7,#248DJNZ R7,$DJNZ R6,D10RETINT_T0: MOV TH0,STH0MOV TL0,STL0CPL P3.0RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HTABLE1: DW 64021,64103,64260,64400DW 64524,64580,64684,64777DW 64820,64898,64968,65030DW 65058,65110,65157,65178TAB1: ; DW 64260,64400,64521,64580DW 64684,64777,64820,64898DW 64968,65030,65058,65110DW 65157,65178,65217TAB: ;乐曲名称《梁祝》DB 02H,82H,62H,52H,48H,02H,52H,32H,22H,18HDB 83H,91H,72H,62H,51H,61H,71H,61H,83H,61HDB 81H,51H,61H,71H,61H,51H,46H,82H,32H,52HDB 22H,42H,16H,21H,41H,18H,0E4H,13H,21H,43HDB 51H,21H,41H,12H,83H,81H,61H,81H,58H,53HDB 61H,31H,22H,13H,21H,42H,52H,0E2H,42H,21HDB 11H,91H,41H,18H,63H,81H,32H,52H,21H,41HDB 16H,0E4H,11H,21H,31H,51H,26H,11H,21H,43HDB 51H,82H,62H,52H,61H,51H,42H,21H,11H,0E4HDB 44H,21H,41H,21H,11H,0E1H,11H,21H,41H,18HDB 61H,81H,51H,61H,51H,41H,32H,21H,41H,18HDB 08H,0H,04H ;曲子最后静音5拍长的时间DB 00H ;乐曲结束。