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

合集下载

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

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

简易电子琴设计用单片机控制扬声器,弹奏出一段音乐。

一、预备知识:乐曲由不同音符组成,各音符都有对应的频率,频率不同的方波加在扬声器上,就产生一个持续的音符。

利用不同的音符、音高、音长组合,就可产生想要的音乐。

对于单片机来说,利用其定时器产生不同频率的方波非常方便,以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。

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

单片机应用课程设计--简易电子琴设计
{
delay(5);
if (key1 == 0)
{
key_in_flag = 0;
key_value = 4;
}
}
else
{
key_in_flag = 1;
}
key8 = 1;
key7 = 0;
if (key4 == 0)
{
delay(5);
if (key4 == 0)
{
key_in_flag = 0;
参考文献
[1] 赵鑫,蒋亮,齐兆群.数字电路设计[M].北京机械工业出版社,2005年6月第一版
[2] 苏家健,曹柏荣,汪志锋.单片机原理及应用技术[M].高等教育出版社
[3] 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版色,2001
[4] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004
{
key_in_flag = 0;
key_value = 2;
}
}
else
{
key_in_flag = 1;
}
if (key2 == 0)
{
delay(5);
if (key2 == 0)
{
key_in_flag = 0;
key_value = 3;
}
}
else
{
key_in_flag = 1;
}
if (key1 == 0)
方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能, 因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。
方案三:采用AT89S52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。

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

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

单片机简易电子琴课程设计简易电子琴实验一、课程设计目的与要求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种音阶。

单片机课程设计电子琴

单片机课程设计电子琴

单片机课程设计 电子琴一、课程目标知识目标: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单片机课程设计——电子琴

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. 实践操作:分组进行电子琴制作,让学生动手实践,提高实际操作能力。

c51单片机课程设计——电子琴

c51单片机课程设计——电子琴

目录1.设计题目 (3)2. 设计目的 (3)3. 主要内容 (3)4. 音符频率与计数初值对照表 (3)5.定时/计数器的工作原理 (4)5.1 方式寄存器 (4)5.2启/停控制寄存器TCON (6)6. 中断控制 (6)6.1 TCON用于中断请求 (6)6.2 中断允许寄存器IE (7)7.系统分析 (7)7.1 系统组成 (8)7.2 系统工作原理 (8)8.系统硬件设计 (8)8.1 系统硬件总体设计 (8)8.2 LED显示模块 (9)8.3 扬声器模块 (9)8.4 子系统(模块)电路图 (10)8.4.1 共阳极电路图 (10)8.4.2 上位开关 (10)9.系统软件设计 (10)9.1 系统软件总体设计 (10)9.2 本系统总体代码 (11)10.课程设计成果 (15)11.个人总结 (15)参考文献 (17)一、设计题目:简易电子琴二、设计目的:(1)熟悉单片机的内部结构;(2)掌握C51编程方法;(3)掌握定时器与发声的关系;(4)掌握交流蜂鸣器的发声原理和程序控制方法;(5)掌握串行控制键盘键的识别方法;(6)掌握声音频率的计算方法。

三、主要内容本系统设计制作一个可演奏的电子琴。

综合应用了两项设计。

(1)能产生纯音,了解音调高低的控制方法。

(2)用键盘代替电子琴的键盘,控制演奏音乐。

(a)掌握串行控制键盘键的识别方法;(b)根据键值控制发声。

(3)至少演奏一支乐曲。

四、音符频率与计数初值对照表:低音7 370 0xf64c 中音6 740 0xfb29高音6 1480 0xfd98低音7 415 0xf75a 中音7 831 0xfbb1高音7 1661 0xfddc五、定时/计数器原理MCS-51单片机内部有2个16位的可编程定时/计数器,定时/计数器0由计数器TH0和TL0组成,定时/计数器1由计数器TH1和TL1组成,THX和TLX(X=0,1)分别为两个8位计数器,连接起来可组成16位计数器。

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

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

电子琴单片机课程设计

电子琴单片机课程设计

电子琴单片机课程设计一、课程目标知识目标:1. 学生能理解电子琴单片机的基本原理,掌握其结构与功能。

2. 学生能掌握电子琴单片机编程的基本方法,包括音符、节奏和音量的控制。

3. 学生能了解电子琴单片机在音乐制作与自动化控制中的应用。

技能目标:1. 学生能运用所学的知识,独立完成电子琴单片机的编程与调试。

2. 学生能在团队合作中发挥自己的专长,共同完成具有一定难度的电子琴单片机项目。

3. 学生能运用电子琴单片机创作简单的音乐作品,并进行演奏。

情感态度价值观目标:1. 学生通过学习电子琴单片机课程,培养对音乐和电子技术的兴趣,提高创新意识和动手能力。

2. 学生在团队合作中,学会相互尊重、沟通与协作,培养团队精神和责任感。

3. 学生能够认识到电子琴单片机在现代音乐产业中的重要性,激发对科技改变生活的探索热情。

课程性质:本课程为实践性较强的课程,结合理论知识与实际操作,培养学生的动手能力和创新能力。

学生特点:学生处于高年级阶段,具备一定的电子技术基础和音乐素养,对新鲜事物充满好奇,具备一定的自学能力和团队协作能力。

教学要求:教师应注重理论与实践相结合,引导学生主动探索,鼓励学生创新,关注学生的个体差异,提高学生的综合素质。

通过课程学习,使学生能够将所学知识应用于实际项目中,实现课程目标的达成。

二、教学内容本课程教学内容主要包括以下几部分:1. 电子琴单片机原理:介绍电子琴单片机的基本构成、工作原理和功能特点,使学生了解电子琴单片机在音乐领域的应用。

教学内容:- 电子琴单片机的结构组成- 工作原理与功能特点- 电子琴单片机在音乐领域的应用案例2. 电子琴单片机编程:学习电子琴单片机的编程方法,包括音符、节奏、音量的控制。

教学内容:- 编程环境与编程语言介绍- 音符、节奏、音量编程方法- 常用编程技巧与实践案例3. 电子琴单片机应用:结合实际项目,教授如何运用电子琴单片机进行音乐创作和自动化控制。

教学内容:- 电子琴单片机在音乐创作中的应用- 自动化控制原理及实践- 创意项目设计与实现4. 团队合作与项目实践:培养学生团队协作能力,共同完成具有一定难度的电子琴单片机项目。

基于单片机的简易电子琴电路设计

基于单片机的简易电子琴电路设计

单片机课程设计任务书题目: 基于单片机的简易电子琴电路设计初始条件:简易电子琴一般具有弹奏一个自然大调7声音阶的功能。

本课程设计,要求用AT89C51等系列芯片实现控制功能,利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用LM386放大电路实现低音频功率放大;最后用蜂鸣器进行播放“送别”。

要求完成的主要任务:1.设计任务根据已知条件,设计并制作一个简易电子琴。

2.设计要求(1)基本要求:①具备7个按键,能够分别较准确地弹奏出1~7八个音符。

②选择电路方案,完成对确定方案电路的设计。

计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。

用EWB或MULTISIM软件完成仿真,之后制作出相应实物,并按规定格式写出课程设计报告书。

(2)扩展要求:(在完成基本要求的前提下,学有余力的同学可完成)①能够弹奏出至少21个音符(三个音阶)。

②能够较便捷地完成音阶的升降。

(用另外三个按键开关实现正常、升8度和降8度的切换)。

时间安排:指导教师签名:年月日基于单片机的简易电子琴控制系统设计摘要目的:本设计主要研究基于AT89C52单片机的简易电子琴设计。

方法:它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。

利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器进行播放“送别”。

结果:本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。

其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。

(1)最小系统:它是单片机应用系统的设计基础。

它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。

(2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。

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

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

单片机课程设计课程设计名称:专业班级:学生姓名:学号:指导教师:课程设计时间:1 需求分析1.1 课题设计目的及其意义随着社会的发展进步,人们的生活水平也逐步提高,音乐已经成为了我们生活中很重要的一部分,在工作和学习之余,欣赏音乐不仅使身心得到放松,同时也提高人们的精神品质和个人素养。

当代,爱好音乐的年轻人越来越多,也有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需花费太多精力,且其价格太过于高昂,使得一部分有这种想法的人不得不放弃这种想法,而电子琴又是一种新型的键盘乐器,它是现代电子科技与音乐结合的产物,价格相对便宜,能够满足一般爱好者的需求,因此,在现代音乐中扮演着重要的角色。

故简易电子琴的研制具有一定的社会意义。

单片机(单片微型计算机)是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠等特点。

单片机的应用相当广泛,从平常的家用电器到航空航天系统和国防军事、尖端武器都能找到它的身影。

因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

1.2 课题设计的任务与主要内容以51系列单片机AT89C51为主控制器,附有矩阵键盘、LED显示管、扬声器组成。

系统完成显示输入信息、播放相应音符等基本功能。

基本要求:(1)键盘矩阵识别。

即矩阵扫描,显示当前按键。

(2)不同频率音符播放。

可以通过按键控制24种发音,完成低音、中音、高音功能切换。

(3)具备示范音乐播放功能,示范音乐数量2 - 3首;扩展要求:(根据情况自行选择,可提高课程设计验收分数)(1)通过LCD屏显示音乐名称。

(2)动态显示音乐音高(低音、中音、高音)及当前按键音的符号。

(3)具有记忆功能,能记忆上次停电后的音高。

要求:验收可用proteus软件模拟验证,或实物验证更佳设计思路:先根据要求设计硬件电路和编写相应的程序,然后进行软件仿真调试,最后具体实现的功能:按下音符键可以发出相应的音符。

基于51单片机的电子琴设计课程设计

基于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、设计方案2.1设计框图本次设计共有两种方案。

第一种方案使用STC89C52RC 单片机。

通过独立按键完成输入,通过扬声器完成声音的输出。

其设计框图如下:图1:方案一硬件框图第二种方案使用STC8G1K08单片机。

通过触摸按键结合单片机ADC 完成输入,通过TC8002功放电路完成声音的输出。

其设计框图如下:图2:方案二硬件框图2.2 各模块设计2.2.1 电源设计(例如)方案一使用的是STC89C52RC 单片机,其工作电压为5V ,通过引脚与5V 外部电源连接即可完成供电。

方案二使用的是STC8G1K08单片机,其工作电压也是5V ,通过TYPEC 接口完成供电。

原理图如下图所示:图3:方案二电源设计2.2.2 输入电路设计方案一与方案二使用两种不同的输入方式。

方案一使用共阴极接法的独立按键与单片机引脚连接,通过单片机检测按键是否被按下完成输入检测。

其原理图如下图所示:图4:方案一输入电路方案二使用触摸检测电路完成输入功能。

使用者接触触摸按键时会改变该电路的电容,使单片机ADC 引脚接收的数据发生改变,进而达到输入功能。

其原理图如下图所示:图5:方案二输入电路2.2.3 扬声器与功放电路两种方案播放声音的设备都是喇叭,但驱动电路不同。

方案一使用的三极管放大电路,其原理图如下图所示:图6:方案一扬声器驱动电路方案二使用功放芯片TC8002完成扬声器的驱动。

该芯片是一颗带关断模式,专为大功率高保真的应用场合所设计的音频功放IC。

它所需外围元件少且在2V~5V的输入电压下即可工作。

它的管脚图如下图所示:图7:TC8002管脚排列图经查看该芯片手册设计的功放电路图如下图所示:图8:功放模块电路图2.2.4 其余电路设计除以上两种模块,还有其余的模块电路如方案一的晶振电路,复位电路,方案二的供电提示电路等。

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

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

单片机课程设计课程设计名称:专业班级:学生姓名:学号:指导教师:课程设计时间:一、需求分析1、1课题背景随着社会得发展进步,音乐逐渐成为我们生活中很重要得一部分,有人曾说喜欢音乐得人不会向恶。

我们都会抽空欣赏世界名曲,作为对精神得洗礼.本论文设计一个基于单片机得简易电子琴。

电子琴就是现代电子科技与音乐结合得产物,就是一种新型得键盘乐器.它在现代音乐扮演着重要得角色,单片机具有强大得控制功能与灵活得编程实现特性,它已经溶入现代人们得生活中,成为不可替代得一部分。

电子科技也在不断得前进,电子技术正在以不同得方式改变着我们得生活,电子琴设计也就是希望给人们带来一些生活得乐趣。

电子琴可以应用在很多方面,比如一些简易得玩具上或手机上。

单片机技术使我们可以利用软硬件实现电子琴得功能,从而实现电子琴得微型化。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。

利用单片机产生不同频率来获得我们要求得音阶,最终可随意弹奏想要表达得音乐。

并且本文分别从原理图,主要芯片,各模块原理及各模块得程序得调试来详细阐述。

1、2课题设计得任务与主要内容本文得主要内容就是用AT89C51单片机为核心控制元件,设计一个简单得电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键与扬声器。

定时器按设置得定时参数产生中断,由于定时参数不同,就会发出不同频率得脉冲,不同频率得脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。

先根据要求设计硬件电路与编写相应得程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目得。

本系统运行稳定,其优点就是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定得实用与参考价值。

1、3简易电子琴功能概述单片机因体积小、功能强、价格低廉而得到广泛应用.AT89C51单片机设计微型电子琴得方法,仅需AT89C51最小系统,扩展一组矩阵键盘,再接一组发光二极管用来指示电子琴得工作状态。

单片机电子琴课程设计

单片机电子琴课程设计

单片机电子琴课程设计一、课程目标知识目标: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章内容。

单片机简易电子琴设计方案大全(六款模拟电路设计原理图详解)

单片机简易电子琴设计方案大全(六款模拟电路设计原理图详解)

单片机简易电子琴设计方案大全(六款模拟电路设计原理图详解)单片机简易电子琴设计方案(一)设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。

原理:由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216--5﹡105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:通过单片机实现电子琴演奏,实质就是将不同按键和特定频率的方波信号对应起来,以方波信号驱动蜂鸣器发出乐音。

下面简单介绍一下乐音的特性。

乐音实际上是有固定频率的信号。

在音乐理论中,把一组音按音调高低的次序排列起来就成为音节,也就是1、2、3、4、5、6、7和高音1。

高音1的频率正好是中音1频率的2倍,而且音节中各音的频率跟1的频率之比都是整数之比。

为了发出某一特定频率的乐音,可以控制单片机的一个I/O口产生该频率的方波信号,经过电流放大后驱动蜂鸣器发出该乐音。

对于方波的产生,可以启用单片机的一个定时器进行计时,产生溢出中断。

中断发生时,将输出引脚的电平取反,然后重新载入计数器初始值。

因此,正确的设置定时器的工作模式和初始计数值是发出乐音的基础。

例如中音l,其频率是523Hz,则周期为T=l/523=1912s,半个周期为956s。

根据单片机计数器计数的机器周期,就可以算出计数器的预置初始值应为多少。

例如,假设采用的单片机的一个计数周期需要12个时钟周期,当采用12MHz晶振时,一个计数周期即ls。

要定时956s,只需设置其计数初值为计数最大计数值减去956。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计课程设计名称专学学指级名号师导课程设计时间需求分析1.1课题背景随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。

我们都会抽空欣赏世界名曲,作为对精神的洗礼。

本论文设计一个基于单片机的简易电子琴。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。

电子科技也在不断的前进,电子技术正在以不同的方式改变着我们的生活,电子琴设计也是希望给人们带来一些生活的乐趣。

电子琴可以应用在很多方面,比如一些简易的玩具上或手机上。

单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。

利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。

并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。

1.2课题设计的任务与主要内容本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有1 6个按键和扬声器。

定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。

先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。

本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

1.3简易电子琴功能概述单片机因体积小、功能强、价格低廉而得到广泛应用。

AT89C51单片机设计微型电子琴的方法,仅需AT89C51最小系统,扩展一组矩阵键盘,再接一组发光 二极管用来指示电子琴的工作状态。

本系统分为两个部分,一个是音乐,另一个就是电子琴。

1. 单片机并行连接4*4矩阵键盘和一位数码管2. 利用单片机内部定时器T0的定时功能产生音符所对应的音调3. 经功率放大器后输出至音箱4. 在弹奏音乐的同时将音符显示与数码管5. 具备存储在播放所弹奏的音乐的功能6. 具备示范音乐播放功能概要设计2.1硬件系统的组成嵌入式电路,按键电路,LED 显示电路和三个功能键组成,通过功能键可以 选择播放音乐。

(按键一:是否录音;按键二:是否播放;按键三:复位键)该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。

通过这样可 以不断的弹奏音乐。

硬件系统总体框图晶振产生频率供电复位电路AT89C51 中心控制弹奏或播放音乐4*4矩阵键盘LED 灯的显示扬声器,放大音乐2.2软件设计流程图图2 软件设计流程图2.3工作原理打开电子琴电源开关后,电子琴默认为弹奏状态(录音LED丁亮表示按键弹奏录音,不亮则普通按键弹奏功能),弹奏/播放显示灯点亮。

此时可以进行弹奏音乐,按下矩阵键盘中的任意键,扬声器发相应的音调,数码管显示对应的数字。

按下播放按钮,电子琴处于自动播放状态,弹奏/播放显示灯不亮,就会播放刚才弹走过的音乐,并循环进行播放,如果按下录音按键,将录音灯灭掉,此时播放的音乐改变,播放电子琴内置的音乐,并显示相应音符,循环播放。

此时,如果按下复位键,数码管显示0,清楚录音,此时系统又处于弹奏状态。

本设计存储了二首音乐,可循环播放.(小星星和欢乐颂)此设计模块实现的功能有 :1. 把不同的频率也就是节拍的声音输入到放大器,播放弹奏的声音;2. 在弹奏音乐的同时将音符显示于数码管;3. 弹奏音乐的时候要将音符输入到数码管;4. 播放内置储存的音乐时要显示此时播放的音乐音符;5. 具备存储在播放所弹奏的音乐的功能;6. 复位功能,模式复位、录音清楚,数码管显示为 3.1.2 AT89C51 单片机相关介绍 1) AT89C51 简介AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器( FPERO —MFlash Programmable and Erasable Read Only Memory )的低电压,高性能 CMOS 8位 微处理器,俗称单片机。

AT89C51它是一个低功耗高性能单片机,40个引脚,32 个外部双向输入 /输出( I/O )端口,同时内含 2 个外中断口, 2 个 1 6位可编程定时计数器,2个全双工串行通信口,AT89C5何以按照常规方法进行编程,也 可以在线编程。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价运行环境3.1 硬件环境3.1.1 总体设计软件模型连线:P 3八7 蜂鸣器P^O 连接LEDO (模式指示灯:弹奏--亮,播放--不亮)P2A1 连接LED1和独立开关(录音指示灯:弹奏保存--亮,弹奏不保存-- 不亮) P3A2 P3A3 独立按键,外部中断控制复位键独立按键,外部中断播放 / 弹奏切换按键 P1 连接数码管显示 PO连接矩阵键盘O 。

廉的方案。

外形及引脚排列如图 3.2所示。

F1 G —— P1 I —— P1 2—— P1 3—— FI 4 ---- PI 5 ---- P1 6—— n 7 -----KSTWPD ------RXDP3 0 ----- IXPPJ 1 -----P3 2 ---INTI ¥3 3—— W PS# -------IL 即—— 里誉 —— 蔚 PJ7 -------VFAU ------XTAL1I ----V 勢—图3 AT89C51引脚分布图主要引脚功能:1、RST(9):复位输入。

当振荡器复位时,要保持 RST 引脚2个机器周期的高电平时间;2、XTAL1( 19):反向振荡器放大器的输入及内部时钟工作电路的输入;3、XTAL2 (18):来自反向振荡器的输出;4、P1 口( 1— 8): P1 口是从内部提供上拉电阻器的 8位双向I/O 口,P1 口缓冲 器能接收和输出4个TTL 门电流;电平时,单片机只访问内部程序存储器。

2) 芯片擦除整个PEROMP 列和三个锁定位的电擦除可通过正确的控制信号组合,ALE 管脚处于低电平10ms 来完成。

在芯片擦操作中,代码阵列全被写“任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在零频率的条件下静态逻辑,支持两种 软件可选的掉电模式。

在闲置模式下,CPU 亭止工作。

但RAM 定时器、计数器、 串口和中断系统仍在工作。

在掉电模式下,保存RAM 的内容并且冻结振荡器,禁 止所用其他芯片功能,直到下一个硬件复位为止。

' --- *运 ---- P00 ——POI-- TO :' --- P03 ----- P OS ----- P 06 ---- P07 ----- , --- P2 J P22 P2 I P2 05、EA / V PP :当EA 保持低电平时,单片机只访问外部程序存储器。

EA 为高并保持1”且在3.1.3矩阵式键盘的结构与工作原理矩阵式结构的键盘显然比直接法要复杂一些, 识别也要复杂一些,本系统中的矩阵键盘中,列线通过电阻接正电源,并将行线所接的单片机的I/O 口作为输 出端,而列线所接的I/O 口则作为输入。

当按键没有按下时,所有的输出端都是高电平,代表无键按下。

行线输出是 低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就 可得知是否有键按下了。

RP1 --3.1.4按键显示模块 1)数码管的分类本设计用的是七段码。

可显示 0-F 。

按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

1.共阳数码管:是指将所有发光二极管的阳极接到一起形成公共阳极(COM 的数码管。

共阳数码管在应用时应将公共极 COM 接到+5V,当某一字段发光二极管的 阴极为低电平时,相应字段就点亮。

当某一字段的阴极为高电平时,相应字段就 不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极 (COM 的数码管。

2.共阴数码管:在应用时应将公共极CO 瞅到地线GNDt ,当某一字段发光二极 管的阳极为高电平时, 相应字段就点亮。

当某一字段的阳极为低电平时, 相应字 段就不亮。

• • 1 -- !• •fl —O ' O —'-4 fc- # -- —Q ---C=L*—O - 0—1--4 ----- 1- ♦- ―Q ~1 --- L- ♦-1 -----h •--Y -r -.i -----1--图4 矩阵式键盘2)数码管的驱动方式数码管的驱动方式分为:静态式和动态式两类。

1.静态显示驱动:静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCC码二-十进制译码器译码进行驱动。

优点是:编程简单,显示亮度高,缺点是占用I/O 端口多。

2. 动态显示驱动:动态驱动是将所有数码管的8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COMS电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的COM^,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1〜2ms由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O 端口,而且功耗更低。

显示模块如图所示。

3.1.5功能显示灯模块当按下弹奏/播放功能键时,LEDO 灯亮(P2八0)表示弹奏模式,再次按下LEDO 熄火表示播放模式;当独立开关控制 LED1亮时表示弹奏保存录音或者播放录音 歌曲,不亮时则表示弹奏不会保存录音或者播放内置音乐。

4,ISAyE=1 , LEDTI誉乐图6 功能显示灯模块3.1.6音乐播放装置本次设计很简陋,没有MP3那样优美的音乐,但此次设计分成“音调”和“节拍”两部分,听起来还是不错的。

音调:表示一个音符唱多高的频率 节拍:表示一个音符唱多长的时间。

由于本课程设计是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握, 不由程序控制。

相关文档
最新文档