基于单片机的电子琴

基于单片机的电子琴
基于单片机的电子琴

大学毕业设计论文

1.1 目的和意义

单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使扬声器播放对应的音符。通过设计本系统可了解单片机的基本功能。对单片机的了解有一个小的飞跃。

1.2 本系统主要研究内容

1.由4X4组成16个按钮矩阵,设计成16个音对应音乐音符。

2.每按一个键,单片机检测按下的那个键并查表查找相应的音符,输出到音

频处理模块驱动喇叭发出音符。

3.设计控制器的硬件电路原理图,合理选择元器件;编写使用说明书,说明

使用方法。

4.设计在实验板上实现该功能的程序并进行调试。

1.3 主要芯片简介

AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S51具有如下特点:40个引脚(引脚图如图1-2所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。

2 系统分析

2.1 系统组成

本系统只要以51单片机为主控核心,与矩阵键盘、扬声器一起组合而成。具体如下:

图一电路方框图

2.2 系统工作原理

本系统扫描键盘矩阵、显示按键、扬声器发出对应音符。

4X4行列式键盘识别及显示原理如下:

组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。目前微机系统中使用的键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。

编码键盘:键盘本身带有实现接口主要功能所需的硬件电路。不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如ASCII码)送往CPU。所以,编码键盘接口简单、使用方便。但由于硬件电路较复杂,因而价格较贵。

非编码键盘:键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。目前微机系统中,一般为了降低成本大多数采用非编码键盘。

键盘接口必须具有去抖动、防串键、按键识别和键码产生4个基本功能。

(1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键的质量相关,一般为5—20ms。所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解决。

(2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。常用的方法有双键锁定和N键轮回两种方法。双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。

(3)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。

(4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。

用AT89S51的并行口P3接4×4矩阵键盘,以P3.0-P3.3作输入线,以P3.4-P3.7作输出线.

3 系统硬件设计

3.1 系统硬件总体设计

本系统由键盘矩阵、扬声器这几个部分组成,扬声器发出对应音符。硬件总体设计图如下:

图二电路原理图

3.2子系统(模块)一

矩阵扫描扬声器发出对应音符模块如下:

图三矩阵扫描扬声器

3.3子系统(模块)二

矩阵键盘模块图如下:

图四矩阵键盘4 系统软件设计

4.1 系统软件总体设计

本系统的软件流程图如下:

图五软件流程图

4.2子系统

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

利用AT89C51的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶,例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O 反相,就可得到中音DO(523Hz)。

计数脉冲值与频率的关系式(如式2-1所示)是:

N=fi÷2÷fr 2-1

式中,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=63627

中音DO的T=65536-500000/523=64580

高音DO的T=65536-500000/1046=65059

本系统按键发出对应音符模块软件流程图如下:

图六音符模块软件流程图

5 系统使用说明

5.1 系统安装及配置说明

5.1.1 系统运行环境

WINDOWS XP PROTEUS 7.1 SP2 Keil uv3 2.12

5.1.2 系统安装及配置

安装Protues 和keil uVsision3。

5.2 系统操作说明

(1)Keil下编译,产生目标HEX文件,Proteus下Programme Files选择产生的HEX 文件,点击运行开始模拟。

(2)按任意键盘,扬声器发出相应的音符。

6 结论

本次的课程设计,使关于51系列单片机的,在平时课程的学习中,我们仅限于理论知识的讲解,即使知识是很扎实的,实际应用并不是这样的。开始时我也觉得自己的理论知识已经够了,但当我拿到课题时,在脑海里想的是非常好的,但真正编程和控制时,理论和实际结合不到一起,甚至于51芯片的使用我都感觉很迷茫,还是经过搜集大量资料才将理论与实际结合到一起了。通过这次课程设计,我们学到了不少课本上没有的知识,也锻炼了自己的动手能力,将以前学过的零散的知识串到一起。经过我们长时间的设计及调试,本系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放对应的音符。但由于仿真系统原因,本设计音频效果不是很好。不足之处有:1.可弹奏的音符数较少,只能在一定范围内满足用户需要。可通过改进键盘识别模块和发生模块来增加其复杂度。2.音量不可调。

通过这次课程设计——电子琴设计,使我又重新开始复习了汇编语言,因为汇编语言是前段时间学习的,从学完就再也没用过,所以开始很陌生,我又找了有关资料来了解,才有了一点眉目。刚开始以为可以用汇编很容易就写出来,但是用汇编时才发现原来都不怎么熟练,编了一会程序发现只有一种感觉——举步维艰啊!对于单片机,我们课本学习的是80C51,但是这次做课程设计用的是89C51,

这样不仅使我们掌握了80C51,而且对89C51也有了一定的了解了,在课堂上学习的都理论的,跟实际永远有一定的差距,不实践就不会发现问题。通过这次课程设计使我把课堂上学习的东西都用到了实践中,例如:定时/计数器的应用与中断。学习的时候不怎么理解,但是在实践中应用了以后就自然了解了。这次课程设计使我受益匪浅,而且都是实际的东西。

通过本次设计实验,使我对所学51系列的单片机从理论知识到实践硬件的应用以及汇编语言知识的回顾,更加熟悉了89C51单片机的每一个引脚的输出和各项功能,而且对硬件电路的布线以及焊接能力有了很大的进步。我们的综合设计主要涉及硬件和软件两方面的内容,通过这些我们的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作;基本掌握了Proteus绘制原理图的方法,并设计了一个单片机最小系统。通过开发板的设计和硬件搭建的过程,使我们对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,如LED数码管,键盘等。并且我们学会了分析问题解决问题的能力,加深了对所学理论知识的理解和运用。我们的动手能力得到了很大的提高,创新意识得到了锻炼。

参考文献

[1] 彭伟.单片机C语言程序设计实训100例.电子工业出版社.2009

[2] 吴运昌.模拟电子线路基础.广州:华南理工大学出版社,2004

[3] 阎石.数字电子技术基础.北京:高等教育出版社,1997

[4] 张晓丽等.数据结构与算法.北京:机械工业出版社,2002

[5] 马忠梅等. ARM&Linux嵌入式系统教程.北京:北京航空航天大学出版社,2004

[6] 李建忠.单片机原理及应用.西安:西安电子科技大学,2002

[7] 韩志军等.单片机应用系统设计[M].机械工业出版社,2004

[8] 周润景等. Proteus在MCS-51&ARM7系统中的应用百例[M].电子工业出版社,2006

[9] 马忠梅等.单片机的C语言应用程序设计[M].北京航空航天大学出版社,2006

[10] 刘树中,孙书膺,王春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息,2007

附录:主要程序

KEYBUF EQU 30H ; KEYBUF定义为30H STH0 EQU 31H ;STH0 定义为,31H

STL0 EQU 32H ;STL0 定义为,32H

TEMP EQU 33H ;TEMP 定义为,33H

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV TMOD,#01H ;设置定时器0的工作方式SETB ET0 ;设置定时器中断

SETB EA ; 开总中断

WAIT: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.4 ;清0 P3.4,按键的第一行扫描

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY1 ;

LCALL DELY10MS ;延时10ms

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY1 ;

MOV A,P3 ;

ANL A,#0FH ;

CJNE A,#0EH,NK1 ;

MOV KEYBUF,#0 ;

LJMP DK1 ;

NK1: CJNE A,#0DH,NK2 ; K1键按下

MOV KEYBUF,#1 ;

LJMP DK1 ;

NK2: CJNE A,#0BH,NK3 ;K2键按下

MOV KEYBUF,#2 ;

LJMP DK1 ;

NK3: CJNE A,#07H,NK4 ;K3键按下

MOV KEYBUF,#3 ;

LJMP DK1 ;

NK4: NOP ;K4键按下

DK1: MOV A,KEYBUF

MOV B,#2

MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;

MOV DPTR,#TABLE ; 指向表头

MOVC A,@A+DPTR ; 查表

MOV STH0,A ;

MOV TH0,A ; 将数据高位送TH0

INC TEMP ;

MOV A,TEMP ;

MOVC A,@A+DPTR ;

MOV STL0,A ;

MOV TL0,A ;将数据低位送TH0

SETB TR0 ; 启动定时器T0

DK1A: MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JNZ DK1A ;

CLR TR0 ;关闭定时器T0

NOKEY1: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.5 ;清0 P3.5,按键的第二行扫描

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY2 ;

LCALL DELY10MS ; 延时10ms

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY2 ;

MOV A,P3 ;

ANL A,#0FH ;

CJNE A,#0EH,NK5 ;

MOV KEYBUF,#4 ;

LJMP DK2 ;

NK5: CJNE A,#0DH,NK6 ;K5键按下

MOV KEYBUF,#5 ;

LJMP DK2 ;

NK6: CJNE A,#0BH,NK7 ;K6键按下

MOV KEYBUF,#6 ;

LJMP DK2 ;

NK7: CJNE A,#07H,NK8 ;K7键按下

MOV KEYBUF,#7 ;

LJMP DK2 ;

NK8: NOP ; K8键按下

DK2: MOV A,KEYBUF ;

MOV B,#2 ;

MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;

MOV DPTR,#TABLE ; 指向表头

MOVC A,@A+DPTR ; 查表

MOV STH0,A ;

MOV TH0,A ;将数据高位送TH0

INC TEMP ;

MOV A,TEMP ;

MOVC A,@A+DPTR ;

MOV STL0,A ;

MOV TL0,A ;将数据低位送TH0

SETB TR0 ;启动定时器T0

DK2A: MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JNZ DK2A ;

CLR TR0 ; 关闭定时器T0

NOKEY2: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.6 ; 清0 P3.6,按键的第三行扫描

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY3 ;

LCALL DELY10MS ; 延时10ms

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY3 ;

MOV A,P3 ;

ANL A,#0FH ;

CJNE A,#0EH,NK9 ;

MOV KEYBUF,#8 ;

LJMP DK3 ;

NK9: CJNE A,#0DH,NK10 ;K9键按下

MOV KEYBUF,#9 ;

LJMP DK3 ;

NK10: CJNE A,#0BH,NK11 ;K10键按下

MOV KEYBUF,#10 ;

LJMP DK3 ;

NK11: CJNE A,#07H,NK12 ;K11键按下

MOV KEYBUF,#11 ;

LJMP DK3 ;

NK12: NOP ; K12键按下

DK3: MOV A,KEYBUF ;

MOV B,#2 ;

MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;

MOV DPTR,#TABLE ;指向表头

MOVC A,@A+DPTR ;查表

MOV STH0,A ;

MOV TH0,A ;将数据高位送TH0

INC TEMP ;

MOV A,TEMP ;

MOVC A,@A+DPTR ;

MOV STL0,A ;

MOV TL0,A ;将数据低位送TH0

SETB TR0 ;启动定时器T0

DK3A: MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JNZ DK3A ;

CLR TR0 ;关闭定时器T0

NOKEY3: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.7 ;清0 P3.7,按键的第四行扫描

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY4 ;

LCALL DELY10MS ;延时10ms

MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JZ NOKEY4 ;

MOV A,P3 ;

ANL A,#0FH ;

CJNE A,#0EH,NK13 ;

MOV KEYBUF,#12 ;

LJMP DK4 ;

NK13: CJNE A,#0DH,NK14 ; K13键按下MOV KEYBUF,#13 ;

LJMP DK4 ;

NK14: CJNE A,#0BH,NK15 ;K14键按下MOV KEYBUF,#14 ;

LJMP DK4 ;

NK15: CJNE A,#07H,NK16 ;K15键按下MOV KEYBUF,#15 ;

LJMP DK4 ;

NK16: NOP ; K16键按下

DK4: MOV A,KEYBUF ;

MOV B,#2 ;

MUL AB ; 因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;

MOV DPTR,#TABLE ; 指向表头

MOVC A,@A+DPTR ; 查表

MOV STH0,A ;

MOV TH0,A ;将数据高位送TH0

INC TEMP ;

MOV A,TEMP ;

MOVC A,@A+DPTR ;

MOV STL0,A ;

MOV TL0,A ;将数据低位送TH0

SETB TR0 ;启动定时器T0

DK4A: MOV A,P3 ;

ANL A,#0FH ;

XRL A,#0FH ;

JNZ DK4A ;

CLR TR0 ; 关闭定时器T0

NOKEY4: LJMP WAIT ;

DELY10MS: MOV R6,#10 ; 10ms延时子程序

D1: MOV R7,#248 ;

DJNZ R7,$ ;

DJNZ R6,D1 ;

RET ;

INT_T0: MOV TH0,STH0 ; T0中断服务程序

MOV TL0,STL0 ;

CPL P1.0 ; 输出方波

RETI ;

TABLE: DW 64021,64103,64260,64400 ;低3,低4,低5,低6 DW 64524,64580,64684,64777 ;低7,中1,中2,中3

DW 64820,64898,64968,65030 ;中4,中5,中6,中7

DW 65058,65110,65157,65178 ; 高1,高2,高3,高4 END ;

基于AT89C51单片机的多音阶电子琴的设计

重庆三峡学院 单片机课程设计报告书 学院: 年级专业: 学号: 学生姓名: 指导教师: 教师职称: 成绩: 制作日期2012年11月29日

基于AT89C51单片机的多音阶电子琴的设计 重庆三峡学院 摘要 单片机是电子、计算机及机电专业的一门重要的必修课程。要求我们掌握单片机的基本组成和工作原理、会变程序的一般编写方法、常用接口电路的软硬件设计方法,具备基本的单片机系统应用与开发能力。 随着科技的快速发展,单片机的应用日益普遍。单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本单片机系统设计应用单片机控制技术,用AT89C51单片机为核心控制元件根据本学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。 本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。 关键词:单片机、电子琴、AT89C51、独立键盘、

目录 第 1 章引言......................................................................................................................... 1. 1. 1 设计背景 (1) 1.2 设计任务 (1) 1.3 设计目的 (1) 1.4 设计思路 (1) 第 2 章方案论证 (1) 2.1 方案论证 (1) 第 3 章硬件系统设计 (2) 3.1时钟电路 (2) 3.2 复位电路 (3) 3.3 原理框图 (3) 3. 4 显示部分设计 (3) 3.5 按键部分设计 (4) 3.6 发音部分设计 (5) 第 4 章软件系统设计 (5) 4.1 系统分析 (5) 4.2 参数计算 (7) 4.3 程序设计 (8) 第 5 章实验结果 (10) 5.1硬件调试 (10) 5.2 软件调试 (10) 5.3 仿真结果 (10) 5.4 结果分析 (11) 第 6 章总结 (11) 附录一:系统整体电路图 (12) 附录二:元器件清单 (12) 附录三:源程序代码 (13) 参考文献 (19)

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

随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经融入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高,具有一定的实用和参考价值。 关键词:AT89C51单片机;数码管;电子琴

1 系统方案设计 (1) 1.1 设计指标 (1) 1.2 系统方案综述 (1) 1.3 系统设计思路 (1) 2 硬件设计 (2) 2.1 电路图 (2) 2.2 单片机AT89C51简介 (2) 2.3 单片机的工作过程 (4) 2.4 键盘电路 (5) 2.5 显示电路 (5) 2.6 声音电路 (7) 3 系统软件设计 (7) 3.1延时程序设计 (9) 3.2定时器初始化及其中断函数 (9) 3.3示例音乐播放程序 (10) 3.4单独按键中断处理函数 (10) 4 实验结果与分析 (10) 4.1 Proteus软件简介 (10) 4.2仿真调试 (12) 5 设计心得 (13) 6 参考文献 (14) 附录 (15) 附录A 元件清单、器件识别与检测 (15) 附录B 程序源代码 (16)

基于单片机的简单电子琴毕业设计

基于单片机的简单电 子琴毕业设计 目录 1引言 (1) 2 总体设计 (2) 2.1 设计目的与要求 (2) 2.2 电子琴系统的组成 (2) 2.3 系统设计框图 (3) 3 详细设计 (4) 3.1 硬件设计 (4) 3.2 硬件简介 (5) 3.2.1 AT89C51简介 (5) 3.2.2 LED数码管 (10) 3.3整体程序处理流程图设计 (11) 3.4矩阵式键盘的识别和显示与设计 (12) 3.4.1矩阵式键盘的结构与工作原理 (12) 3.4.2矩阵式键盘的按键识别方法 (13) 3.4.3键盘接口必须具有的4个基本功能 (15) 3.5音乐播放设计 (16) 3.5.1音乐发声原理 (16) 3.5.2音乐播放流程图 (18) 3.5.3放歌子程序流程图 (18) 4实现联调 (20) 4.1 Proteus 简介 (20) 4.2 keil 简介 (20) 4.3利用keil与Proteus进行的调试 (21) 5 总结与展望 (23)

参考文献 (25) Abstract: (26) 致谢 (27) 附录A:程序设计 (28) 附录B 印制电路板(PCB)设计 (34)

基于单片机的简单电子琴设计 摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文主要对使用单片机设计简易电子琴进行了分析与设计,并介绍了基于单片机电子琴的系统硬件组成。该文设计是一种基于AT89C51的简单音乐发生器,利用单片机技术、键盘和一组发光二极、SPEARK等实现原理图设计,并用C51语言进行键盘识别程序设计和音频脉冲输出程序的设计。经过软件和硬件的联调,并仿真出来。该音乐发生器不仅能通过键盘弹奏出来简单的乐曲,而且不弹奏时按播放键可以播放置音乐,音调和节拍都由单片机控制实现。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:单片机;键盘;扬声器;电子琴

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

基于FPGA的简易电子琴设计

课程设计任务书

开题报告

皖西学院本科毕业论文(设计)中期检查表

简易电子琴的设计 学生姓名:王春指导老师:郑大腾 摘要 本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。该电子琴的设计大体可以由三个模块构成,分别是电子琴发声模块、存储器模块和选择控制模块。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。不仅能实现弹琴和演奏的功能,它还能实现“复读”的功能,就是可以存储任意一段音乐,并且可以即时的播放出来。系统实现是用硬件描述语言VHDL 按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。本系统的功能比较齐全,有一定的现实使用的价值。本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。 关键字 电子琴;EDA;VHDL;音调发生;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;电子琴系统; Abstract This system is designed using EDA technology a simple eight-note keyboard, the system clock divider based on the principle of the computer, using top-down design methodology to implement, it can be controlled through the key input audio. Multi-function keyboard is designed to be an ordinary keyboard in the original expansion on the basis of a design. The design of the keyboard in general consists of three modules, namely the keyboard sound

基于multisim的51单片机控制电子琴电路

基于multisim的51单片机控制电子琴电路 程序:#include sbit pf=P0^4; void scan_key() { if(P0==0xfe) key=1; if(P0==0xfd) key=2; if(P0==0xfb) key=3; if(P0==0xf7) key=4;

if(P0==0xef) key=5; if(P0==0xdf) key=6; if(P0==0xbf) key=7; if(P0==0x7f) key=8; } void delay(unsigned char i) {unsigned int j; for(i;i>0;i--) for(j=250;j>0;j--); } void main() { scan_key(); if(key==1) { while(1) { pf=1; delay(100); pf=0; delay(100);

} } if(key==2) { while(1) { pf=1; delay(200); pf=0; delay(200); } } if(key==3) { while(1) { pf=1; delay(300); pf=0; delay(300); } } if(key==4) { while(1) { pf=1; delay(400); pf=0; delay(400); }

} if(key==5) { while(1) { pf=1; delay(500); pf=0; delay(500); } } if(key==6) { while(1) { pf=1; delay(600); pf=0; delay(600) } } if(key==7) { while(1) { pf=1; delay(700); pf=0;delay(700) } }

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

基于51单片机简易电子琴 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块

最新二十一音电子琴的设计毕业

二十一音电子琴的设 计毕业

JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 本科毕业设计(论文) 二十一音电子琴的设计

毕业论文(设计)原创性声明 本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。 作者签名:日期: 毕业论文(设计)授权使用说明 本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。 作者签名:指导教师签名: 日期:日期:

注意事项 1.设计(论文)的内容包括: 1)封面(按教务处制定的标准封面格式制作) 2)原创性声明 3)中文摘要(300字左右)、关键词 4)外文摘要、关键词 5)目次页(附件不统一编入) 6)论文主体部分:引言(或绪论)、正文、结论 7)参考文献 8)致谢 9)附录(对论文支持必要时) 2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。 3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。 4.文字、图表要求: 1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写 2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画 3)毕业论文须用A4单面打印,论文50页以上的双面打印 4)图表应绘制于无格子的页面上

单片机电子琴制作16按键

《单片机原理》课程设计 说明书 专业名称:电气工程及其自动化 班级:11-2 学号: 姓名: 指导教师: 日期:2013.6.21

《单片机原理课程设计》评阅书

摘要 本文设计了一种基于STC12C5A32S2单片机的电子琴电路。该方案利用单片机定时器产生固定频率的方波信号以驱动蜂鸣器发出一定的旋律,通过矩阵键盘中的相应的按键来输入使蜂鸣器发出相对音阶的单音。同时设计还有自动存储所输入的单音,之后再一起自动演奏出来的功能。 本设计通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经三极管放大信号后驱动蜂鸣器发出不同音节的声音。要实现7个音符的各自的高、中、低音,需要建立三个表,分别存储高音、中音和低音的频率值;默认为中音输出,当二个按键开关中某一个按下,通过软件选择相应的音频。按下弹奏键就可弹奏出不同的声音。 另外用软件延时来控制发音时间的长短,来控制节拍。通过把乐谱中的音符和相应的节拍变换为定时常数和延时常数,作为数据表格存放在存储器中。由程序查表得到定时常数和延时常数,分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间,这样就可以实现乐曲的演奏。 本设计为实物电路板设计开发,报告中详细的阐述了电子琴设计的方法和过程。并经过软硬件的调试,该音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。 本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:STC12C5A32S2 单片机定时器电子琴

目录 摘要 ....................................... 错误!未定义书签。第一章引言 . (2) 第二章电子琴电路硬件电路设计 .............. 错误!未定义书签。 2.1单片机的介绍与组成 (4) 2.2单片机主控电路 (4) 2.3 4×4矩阵键盘电路 (5) 2.4 蜂鸣器电路 (5) 第三章电子琴电路软件设计 .................. 错误!未定义书签。 3.1 程序设计流程图...................... 错误!未定义书签。 3.2音乐播放部分 (5) 3.3电子琴弹奏部分 (5) 3.4发音原理 (5) 第四章程序 ................................ 错误!未定义书签。心得体会 ................................... 错误!未定义书签。参考文献 (11) 附件错误!未定义书签。

基于51单片机的显示电子琴设计毕业论文开题报告

XXX学院毕业设计(论文)开题报告 题目名称基于51单片机的显示电子琴设计 学生姓名专业班级学号 一、选题目的和意义: 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,他具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是箱子电子科技与音乐结合的产物。之所以受到群众们喜爱,是因为它能模拟各种乐器的音色,如笛、号、琴、颤音、和旋音等以及打击乐板音、鼓乐、沙锤等。本设计介绍一种除有普通电子琴功能外,还有不需要按琴键就能模拟电子琴自动演奏乐曲的电子琴音乐的产生和演奏电路。若与音响放大器相结合,则乐曲的音响效果会更好。 STC89C51单片机为核心控制元件,可提高开发效率,缩短研发周期,降低研发成本,且易于进行功能扩展。 电子琴系统就是以单片机为核心部件设计的一个简易的电子琴,这只是单片机应用的一个点,由点及面,希望能更好的了解和应用单片机技术。我选单片机电子琴这个选题的目的在于通过从日常生活中的细微之处着手,将所学的理论知识与实践更好的结合起来,在设计制作电子琴的过程中,更加熟练的掌握单片机的应用,在更深刻的理解理论知识的同时锻炼提高自己的动手实践能力,使理论和实际能够相得益彰。 二、研究概况及发展趋势综述 计算机技术和通信技术紧密结合,涉及到通信与计算机两个领域。计算机网络的诞生使计算机体系结构发生了巨大变化,在当今社会经济中起着非常重要的作用,它对人类社会的进步做出了巨大贡献。从某种意义上讲,计算机网络的发展水平不仅反映了一个国家的计算机科学和通信技术水平,而且已经成为衡量其国力及现代化程度的重要标志之一。 近年来,正是由于计算机技术的发展加之计算机多媒体技术及多媒体制作软件的广泛应用,使模拟电子琴技术也紧随时代的潮流加速发展,比如现在从互联网上就可以随意免费下载许多计算机软件开发出来的模拟电子琴软件,比如大名鼎鼎的悠悠电子琴,nbPiano模拟电子琴,顺风雷电子琴等,不仅以其完美的界面争得了广大电子琴爱好者地喜爱,而且其功能已经基本接近于真正的电子琴。相信计算机模拟电子琴的发展会越来越好。 最近20年内,软件模拟电子琴技术发展迅速,不论是在制作过程上、操作程序上还是在演奏技法上都有了突飞猛进的发展,这在音乐发展史上是其他任何实体乐器所不能比拟的。自从八十年代电子琴进入我国以来,电子琴以它适合中国国情、经济适用、表现力强、功能强大而受到广大的初学者、音乐爱好者、专业音乐工作者,音乐家的喜爱,可以说现在电子琴在中国的普及率是很高的。这无论是对提高人们整体的音乐素质,还是对音乐的发展都是功德无量的事。本课题就是基于电子琴的上述诸多优点而提出来的。虽然现在电子琴的价格也比较低廉,但是低端的电子琴功能还是比较单一的,它不能满足人们对多种乐器乐感的要求。而计算机模拟电子琴,功能丰

51单片机简易电子琴

基于51单片机简易电子琴设计 院系;电气信息工程学院 班级;10通信工程三班 姓名:张瑞 指导老师: 设计周数:一周

一设计题目: 设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。 使用元件:AT89C51、LM324,喇叭,按键等 二设计目的 (1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。 (2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。 (3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。 (4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。 三设计思路 在本次课程设计中,根据复杂程序设计思想——模块化程序设计,分析和确定程序总体设计目标:电子琴基本功能及部分扩展功能后,将总体目标划分为若干模块(子程序,具体可见下)。 程序设计的思路按以下顺序进行: 1.分析与确定程序总体设计目标 2.将总体目标划分为若干模块 3.定义每个模块的具体任务,明确它与其他模块间的通信方式 4.编写源程序,进行调试 四、设计原理、思路及流程图 设计原理 (1)对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出。给D/A转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波。对于音乐,每个音阶都有确定的频率。 各音阶标称频率值:

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

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

基于单片机电子琴设计

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

一、设计目的 本方案设计数码管显示音符的实验,使用基于AT89C51单片机,在数码管上显示按键所代表音符的数字,通过键盘可以调节低音,中音,高音的音符,按下数据蜂鸣器会发出相应音符发出的声音。 二、摘要:通过数码管显示音符的数字,按下键盘,蜂鸣器会发出声音进行提示 关键词:单片机,键盘,蜂鸣器,数码管 硬件电路设计 1、单片机模块设计 2、本次设计采用的是单片机AT89C51。芯片共有40个引脚,引脚的排列顺序为从靠 芯片的缺口,如图3.1所示。左边那列逆时针数起,依次为1,2,3.....40,其中芯片的1脚顶上有一个凹点。在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。

3、 4、图AT89C51管脚图 5、AT89C51单片机共有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个 口有8位,共32根。每一根引脚都可以编程,比如用来控制电机、交通灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。 6、P0口:8位双向I/O口线,名称为P0.0-P0.7; 7、P1口:8位准双向I/O口线,名称为P1.0-P1.7; 8、P2口:8位准双向I/O口线,名称为P2.0-P2.7; 9、P3口:8位准双向I/O口线,名称为P3.0-P3.7。 10、本文单片机模块如图所示,主要是由单片机芯片与晶振和复位电路组成的。是 由单片机来控制整个系统,让我们的系统可以正常的运行。

2、数码管显示模块设计 LED(Light Emitting Diode)发光二极管缩写。LED数码管是由发光二极管构成的。 常见的LED数码管为“8”字型的,共计8段。它由七个条形发光二极管和一个小圆点发光二极管组成,每一段对应一个发光二极管。一般来说分共阳极和共阴极两种接法,如图4所示为八段LED数码管结构及外形。共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。反之,共阴极发光二极管的阴极连在一起,通常公共阴极接地。当阳极为高电平时,发光二极管点亮。 LED数码管的a至g七个发光二极管因接得电压不同而导致不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,如表3所示为八段LED数码管的字形码表。

单片机电子琴实验报告修订版

单片机电子琴实验报告 修订版 IBMT standardization office【IBMT5AB-IBMT08-IBMT2C-ZZT18】

单片机及DSP课程设计报告 专业:通信工程 班级: 姓名: 学号: 指导教师:李贺 时间:2015-06-22~2015-07-03 通信与电子工程学院 基于单片机的电子琴设计 一、课设的目的及内容 本设计主要是用单片机为核心控制元件,设计一台电子琴。以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。本系统主要是完成的功能:电子琴弹奏并显示所按的按键对应音的唱名。关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。 总之,本设计的电子琴有以下要求: (1)用键盘作出电子琴的按键,共7个,每键代表1个音符。各音符按照符合电子琴的按键顺序排列; (2)达到电子琴的基本功能,可以用弹奏出简单的乐曲; (3)在按下按键发出音符的同时显示出音符所对应的唱名

即1(dao)、2(ruai)、3(mi)、4(fa)、5(sao)、6(la)、7 (xi)。 二、问题分析、解决思路及原理图 本系统采用STC89C52RC为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。其中,输入电路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在蜂鸣器中发出有效的声音。由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用数码管显示电路负责显示按下的琴键所对应音符的唱名,这样既节省了成本,又降低了编程难度。 图1 如图1所示基于单片机STC89C52RC的电子琴电路,它主要由琴键控制电路、数码管显示电路、音频功放电路和时钟-复位电路四部分所构成。 三、硬件设计 (一)琴键控制电路 琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。本设计采用独立式键盘的思路。 独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可判断出被按下的按键。? 显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。 适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O口线。? 独立式键盘的7个独立按键分别对应一个I/O口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。

基于51单片机的电子琴的设计开题报告

南华大学船山学院本科生毕业设计(论文)开题报告 设计题目 基于51单片机的电子琴设计 设计题目来源 自选题目 设计题目类型 工程设计 起止时间 2010.12-2011.04 一、设计依据及研究意义: 电子琴是高科技在音乐领域的一个代表,它是古典文化与现代文明的一个浓缩体。它不但可以帮助我们的音乐教师进行传统音乐文化的教育教学工作,而且由于它又具备现代音乐,特别是电子音乐、电脑音乐的基本结构、特征,因而使我们的教师在进行现代音乐、电子音乐、电脑音乐的教学时,更直接、更简便。 单片微型计算机也是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。它的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。 二、设计主要研究的内容、预期目标: 设计内容主要包括:输入设备、信息处理部分、发声系统显示系统以及校正端。整个电路由键盘控制,经过单片机系统对键盘信息进行处理,对EEPROM 进行读写,并推动扬声器发声和发光管发光。 ? 8155 ? → 放大 → 1.51单片机P0口通过8155扩展,连接4*8的矩形键盘,作为琴键键盘和相应的功能控制键; 2.并P2口一起,和EEPROM 连接,用来存储弹奏时的音长和键号,当按播放键时重新把存储的音长和键号读出对应的频率值赋给定时器,在口线上输出相应频率的方波,而且EEPROM 是电可擦除存储器,不仅具有ROM 的非易失性,同时又具有RAM 的随机读写性,操作简便; 3.P0口接通不同音色的滤波电路,通过程序控制P0口,选择不同的琴声音色滤波电路,使电子琴发出不同音色的声音; 4.在51单片机的一口线上产生一与所发音频率对应的方波,通过功率放大线路驱动扬声器发声,主要是依靠定时器来实现这一方波,在定时器中设计一个与键 盘 A T 8 9 C 5 1 EEPROM 扬声器 发光管

简易电子琴设计毕业设计

模电课程设计设计题目:简易电子琴

摘要 随着社会的发展,人们不仅仅要求物质生活,更需要精神上的满足。从古代的打击乐到现在的流行乐,音乐已成为人们生活中不了缺少的一部分。 本文设计的就是一个简易的电子琴,通过此电子琴可以调节其声调及输出音量。 此电子琴可以生成简单的七种声调并有一定的带负载能力,可以驱动喇叭发声。它由简单的集成运放构成,总共有五个模块,分别为电路输入部分、电压放大部分、电压缓冲部分(电压跟随器)、功率放大部分(甲乙类双电源互补对称电路)、电路输出部分(喇叭/示波器)。 关键词:电压放大器、示波器、功率放大、电压放大

课程设计要求 1.设计题目要求 1.1设计目的 (1)掌握RC振荡器的构成、原理及设计方法。 (2)熟悉模拟元件的选择、使用方法。 1.2设计要求 (1)能生成基本七种声调的正弦波形,幅度>1V。 (2)有一定的带负载能力,输出电阻较小,能驱动喇叭发声。 (3)集成运放构成。 1.3发挥部分 (1)输出音量可调。 (2)声调可调。 (3)其他。 课程设计思路 简易电子琴的设计思路主要是根据参考文献基于RC正弦振荡电路的电子琴和所学课本设计的。 在原电路的基础上,根据自己所学的知识,利用RC桥式振荡电路设计了电子琴电路的输入部分及电压放大部分,我们设计的电子琴有七个

基本的音阶,因此就有七个同电容不同电阻的选频网络,再经过简化就形成了最后的输入部分。 由于电压放大过大,为了使电路输出效果更好,在输出端采用前置级为运放的甲乙类双电源互补对称功率放大电路,为了使输出功率可调节,将运放的反馈电阻换成了可调电阻,并且阻值设定的比较小,这样的话输出电阻就比较小。输出部分连接的是示波器、频率计,可以很清楚的观察到输出频率是否满足要求,输出波形是否失真,方便调节。 设计方框图 图1 电路设计流程图

#基于51单片机简易电子琴

1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。 2 任务要求与总体设计方案 2.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 2.2 设计方案 2.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率较小,且价格低廉,所以,被广泛应用。 2.2.2 按键控制模块 电子琴设有8个按键,其中7个作为音符输入,另外一个作为模式转换按键,实现用户存放的自动播放歌曲。7个按键分别代表7个音符,包括中音段的全部音符,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序入口,实

基于单片机的简易电子琴的设计与制作毕业论文

基于单片机的简易电子琴的设计与制作毕业论文 目录 第1章绪论 (1) 1.1 论文研究的背景和意义 (1) 1.1.1 研究背景 (1) 1.1.2 研究意义 (1) 1.2 国外研究情况 (2) 1.3 研究的容 (2) 1.4 研究的重点难点及研究方法 (2) 1.4.1 本文的重点 (2) 1.4.2 本文的难点 (2) 1.4.3 本文的研究方法 (2) 第2章方案比较与论证 (4) 第3章系统总体框图及硬件简介 (5) 3.1 系统的总体框图及组成 (5) 3.2 AT89C51简介 (5) 3.3 LM386 (7) 3.4 扬声器 (7) 第4章系统软件设计 (9) 4.1 音乐相关知识 (9) 4.2 如何用AT89C51单片机实现音乐中的节拍 (9) 4.3 如何用AT89C51单片机产生音频脉冲 (10) 4.4 系统程序流程图 (11) 4.5 电源电路的工作原理 (13) 第5章各功能模块原理图 (15) 5.1 AT89C51电路原理图 (15) 5.1.1 复位电路 (15) 5.1.2 晶振电路 (15) 5.1.3 按键电路 (15)

5.2 键盘扫描模块电路原理图 (16) 5.3 LCD1602电路原理图 (16)

5.3.1 液晶显示原理 (16) 5.3.2 LCD1602的基本参数及引脚功能 (16) 5.4 音频放大电路原理图 (17) 第6章 PROTEUS仿真 (19) 6.1 PROTEUS简介 (19) 6.2 仿真电路 (19) 6.3 仿真测试 (19) 6.3.1 电子琴弹奏仿真 (19) 6.3.2 电子琴自动播放仿真 (20) 6.4 仿真结果 (21) 6.5 实物图 (21) 第7章心得体会 (23) 致谢 (24) 参考文献 (25) 附录 (26) 附录一:PROTEUS仿真图 (26) 附录二:元件清单 (26) 附录三:主要源程序 (26)

51单片机简易电子琴程序

51单片机简易电子琴程序 2009-04-16 19:59 感谢网上的诸多前辈,小弟我将这个程序写了出来。这个简易电子琴应用了4*4矩阵键盘,每一个按键赋予了不同的音调,共计有两个八度。并预存了一首乐曲《世上只有妈妈好》。(附有protues仿真图) #include #define uchar unsigned char #define uint unsigned int uint key,i,j,time,m,k; uchar temp; uchar STH0,STL0,STH1,STL1; sbit sw=P2^7; sbit speaker=P2^4; sbit P37=P3^7; sbit P36=P3^6; sbit P35=P3^5; sbit P34=P3^4; //世上只有妈妈好数据表 code unsigned char sszymmh[]={ 6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 }; // 音阶频率表高八位 code unsigned char FREQH[]={ 0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i 0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, 0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, } ; // 音阶频率表低八位 code unsigned char FREQL[]={ 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6, 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16, };

相关文档
最新文档