单片机电子琴电路图及源程序代码

单片机电子琴电路图及源程序代码
单片机电子琴电路图及源程序代码

单片机电子琴电路图及源程序代码关键字:单片机电子琴程序代码

实验仿真图

源程序代码:(弹奏部分代码暂时去掉,见谅,需要的留言,转载请注明出处,谢谢!)

DUAN EQU 0c000H

WEI EQU 0a000H

LED0 EQU 8000H

ORG 0000H ;复位地址

LJMP MAIN ;跳转到主程序

ORG 0003H ;外部中断0入口地址

LJMP INT00 ;跳转到外部中断0服务程序

ORG 000BH ;T0中断入口

LJMP TIM0 ;跳转到T0中断服务程序

ORG 0030H ;主程序入口地址

MAIN:

MOV DPTR,#LED0

MOV A,#00H

MOVX @DPTR,A

MOV TMOD,#01H ;写入T0控制字, 16位定时方式

SETB IT0 ;外部中断为下降沿触发

MOV IE,#83H ;开中断

MOV 30H,#00H ;取简谱码指针

MOV R6,#0FFH ;选择音乐节奏灯循环次数

CLR 23H ;功能选择标志00:键盘01:音乐

NEXT: CLR TR0

JNB 23H,KEYPLAY ;若标志位是0则转到键盘程序 SETB P2.2

MOV A,30H ;简谱码指针装入A

JNB P0.1,START1 ;否则查询播放哪一首歌曲

JNB P0.2,START2

JNB P0.3,START3

LJMP NEXT

;确定不同歌曲的基地址

START1:

MOV DPTR,#TABLE ;从TABLE处取简谱码

MOV 60H,DPH

MOV 61H,DPL

MOV A,#00H

LJMP NEXT1

START2:

MOV DPTR,#TABLE2 ;从TABLE2处取简谱码

MOV 60H,DPH

MOV 61H,DPL

MOV A,#01H

LJMP NEXT1

START3:

MOV DPTR,#TABLE3 ;从TABLE处取简谱码

MOV 60H,DPH

MOV 61H,DPL

MOV A,#02H

LJMP NEXT1

;键盘弹奏程序入口

KEYPLAY: ;键盘程序入口

SETB P2.1

CLR P2.2

JNB P0.4,LOWTONE ;查询是高音还是其他的音

JNB P0.5,MIDDLETONE

JNB P0.6,HIGHTONE

LJMP NEXT ;没有选择高中低音则重新查询

;确定高中低音基地址

LOWTONE:

MOV DPTR,#LOWTABLE ;赋基地址值

MOV 50H,DPH

MOV 51H,DPL

LJMP KEY ;跳转到按键查询程序

MIDDLETONE:

MOV DPTR,#MIDDLETABLE

MOV 50H,DPH

MOV 51H,DPL

LJMP KEY

HIGHTONE:

MOV DPTR,#HIGHTABLE

MOV 50H,DPH

MOV 51H,DPL

LJMP KEY

;歌曲播放程序

NEXT1: MOV DPTR,#SEG7

MOVC A,@A+DPTR

MOV DPTR,#DUAN

MOVX @DPTR,A

MOV DPTR,#WEI

MOV A,#000BH

MOVX @DPTR,A

MOV DPH,60H

MOV DPL,61H

MOV A,30H

MOVC A,@A+DPTR

MOV R2,A ;取得的简谱码暂存于R2

JZ END0 ;是否取到结束码00H

ANL A,#0FH ;不是,则取节拍码

MOV R5,A ;节拍码存于R5

MOV A,R2 ;将简谱码装入A

SWAP A ;高、低4位交换

ANL A,#0FH ;取音符码

JNZ SING ;取得的音符码是否为0?

CLR TR0 ;是则不发音

lJMP D1 ;跳转到D1

SING: DEC A ;取得的音符码减1(不含0) MOV 22H,A ;存入22H单元

RL A ;乘2

MOV DPTR,#TABLE1 ;到TABLE1中取相对的高位字节值

MOVC A,@A+DPTR

MOV TH0,A ;取得的高位字节装入TH0和21H单元

MOV 21H,A

MOV A,22H ;再装入取得的音符码

Rl A ;乘2

INC A ;加1

MOVC A,@A+DPTR ;到TABLE1中取相对的低位字节值

MOV TL0,A ;取得的高位字节装入TL0和20H单元

MOV 20H,A

SETB TR0 ;启动T0

D1: LCALL DELAY ;基本单位时间1/4拍,延时187毫秒

INC 30H ;取简谱码指针加1

LJMP NEXT ;取下一个码

END0: CLR TR0 ;停止T0

CLR 30H ;清零简朴指针

LJMP NEXT ;重复循环

;按键查询程序

KEY: ;判断是哪个音的按键按下

JNB P1.0,M0 ;分别是DO,RE,ME....

JNB P1.1,M1

JNB P1.2,M2

JNB P1.3,M3

JNB P1.4,M4

JNB P1.5,M5

JNB P1.6,M6

LJMP NEXT ;没有按键按下则跳转到循环查询

;按键软件防抖动程序

M0:

LCALL DELAY1 ;延时一段时间判断按键是否继续按下,是则跳转到确定偏移量程序 JNB P1.0,M00

SJMP KEY

M1:

LCALL DELAY1

JNB P1.1,M11

SJMP KEY

M2:

LCALL DELAY1

JNB P1.2,M22

SJMP KEY

M3:

LCALL DELAY1

JNB P1.3,M33

SJMP KEY

M4:

LCALL DELAY1

JNB P1.4,M44

SJMP KEY

M5:

LCALL DELAY1

JNB P1.5,M55

SJMP KEY

M6:

LCALL DELAY1

JNB P1.6,M66

SJMP KEY

;确定按键的偏移地址程序M00:

MOV A,#00H

LJMP PLAY

M11:

MOV A,#01H

LJMP PLAY

M22:

MOV A,#02H

LJMP PLAY

M33:

MOV A,#03H

LJMP PLAY

M44:

MOV A,#04H

LJMP PLAY

M55:

MOV A,#05H

LJMP PLAY

M66:

MOV A,#06H

LJMP PLAY

;按键音弹奏程序

;音符对应的定时器初值表:

TABLE1:

DW 64580,64684,64777,64820

DW 64898,64968,65030,64260

DW 64400,64524,65058,63835,64021

LOWTABLE:

DW 63628,63835,64021,64103,64260,64400,64524 MIDDLETABLE:

DW 64580 ,64684,64777,64820,64898,64968,65030 HIGHTABLE:

DW 65058,65110,65157,65178,65217,65252,65283 SEG7:

DB 06H, 5BH, 4FH,66H, 6DH, 7DH,07H

;音符节拍表:

TABLE:

DB 02H,82H

DB 16H,32H,54H,02H,52H

DB 0A6H,32H,54H,02H,52H

DB 64H,74H,0B6H,64H

DB 52H,5CH,32H,22H

DB 16H,12H,14H,32H,22H

DB 16H,12H,14H,22H,32H

DB 26H,12H,94H,22H,32H

DB 2CH

DB 32H,52H

DB 36H,22H,14H,54H

DB 0ACH,92H,0A2H

DB 96H,0A2H,96H,82H

DB 3CH,54H

DB 36H,22H,14H,54H

DB 0ACH,92H,0A2H

DB 16H,12H,14H,22H,32H

DB 2CH,02H,82H

DB 16H,32H,56H,12H

DB 0A6H,32H,56H,52H

DB 66H,72H,0B6H,62H

DB 62H,52H,58H,32H,22H

DB 16H,12H,14H,32H,22H

DB 16H,12H,14H,22H,32H

DB 26H,92H,0A4H,12H,22H

DB 1CH

DB 00

TABLE2:

DB 88h,14h,24h,36H,42H,34H,14H,28H,14H,94H

DB 1fH,88H,14H,24H,34H,32H,42H,54H,14H

DB 46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74H

DB 76H,62H,68H,54H,52H,62H,74H,62H,52H,3fH

DB 46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2H

DB 92H,84H,94H,1fH,0b8H,68H,46H,52H,68H

DB 74H,72H,72H,74H,62H,52H,3fH,0b8H,68H

DB 46H,52H,68H,64H,62H,62H,64H,42H,32H,2fH

DB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12H

DB 94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fH

DB 00

TABLE3:

DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H

DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H

DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cH

DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H

DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32H

DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52H

DB 62H,64H,62H,64H,0b2H,62H,52H,54H,62H,54H,32H,22H

DB 12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52H DB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54H

DB 62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32H

DB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fH

DB 00

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)

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

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于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.附录………………………………………………………………………

基于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 按键控制模块

单片机电子琴制作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单片机简易电子琴的设计

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

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单片机电子琴

摘要 本设计对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 电子琴音色优美,音域较宽,和声丰富,表现力极其丰富。它可模仿多种音色,还可随意配上类似打击乐音响的节拍伴奏,适合于演奏节奏性较强的现代音乐。它还能够作为独奏乐器出现,具有鲜明的时代特色,深受广大音乐爱好者的喜爱,又是我国广大中小学生学习音乐的重要工具,而且电子琴容易制作,价格便宜,有很好的市场前景。随着科技的不断发展,电子产品也在不断的进步。现在的电子产品越来越接近智能化,性能也精益求精。现阶段,单片机发展日益成熟,且发展迅猛,以单片机为核心部件的电子琴将会比以555定时器为核心部件电子琴的性能更加稳定,而且依靠单片机强大的编程功能更易实现电子琴各音节所对应频率的产生。所以此次设计具有很现实的意义。 本次设计的目的主要是复习并运用我们所学的单片机知识,同时通过本次设计能够对电子电路以及作图软件等方面的知识有进一步的认识并掌握;熟悉AT89S52 单片机的内部结构和功能,合理利用其功能实现简单设计,能够完成相关软件编程设计工作;掌握一般的简单电子电路的设计方法。本次设计的主要内容是利用单片机编程设计出具有发出标准高中低的Dou,Ruai,Mi,Fa、Sou,La,Si,Dou(高音)21个音的功能并能通过9个按键控制的电子琴。它包括数码显示电路、时钟电路、复位电路、发声电路以及键盘接口电路。

目录 1 概述 ............................................................................................................... 错误!未定义书签。 电子琴功能模式介绍 ..................................................................... 错误!未定义书签。 系统设计的任务与要求.................................................................. 错误!未定义书签。 2 系统总体方案及硬件设计 ........................................................................... 错误!未定义书签。 2. 1 系统总体方案........................................................................... 错误!未定义书签。 定时/计数器的设计和状态字定义 .............................................. 错误!未定义书签。 音调数据表.................................................................................... 错误!未定义书签。 总体硬件组成框图......................................................................... 错误!未定义书签。 主要芯片简介................................................................................ 错误!未定义书签。 子系统模块一................................................................................ 错误!未定义书签。 子系统模块二................................................................................ 错误!未定义书签。 子系统模块三................................................................................ 错误!未定义书签。 AT89S52复位模块 ........................................................................ 错误!未定义书签。 AT89S52晶振模块 ........................................................................ 错误!未定义书签。 3 软件设计 ....................................................................................................... 错误!未定义书签。 系统软件设计 ................................................................................ 错误!未定义书签。 内置歌曲输出.................................................................................. 错误!未定义书签。 音阶键识别........................................................................................ 错误!未定义书签。 系统总流程图 ................................................................................ 错误!未定义书签。 4 Proteus软件仿真........................................................................................... 错误!未定义书签。 程序仿真 ....................................................................................... 错误!未定义书签。 proteus仿真 .................................................................................. 错误!未定义书签。5课程设计体会 ................................................................................................ 错误!未定义书签。参考文献............................................................................................................ 错误!未定义书签。附1 源程序代码 ............................................................................................ 错误!未定义书签。附2 系统原理图 ............................................................................................ 错误!未定义书签。

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

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

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

单片机电子琴实验报告 修订版 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输入线为低电平,很容易识别哪个键被按下。

基于单片机电子琴设计

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

一、设计目的 本方案设计数码管显示音符的实验,使用基于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数码管的字形码表。

#基于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个音符,包括中音段的全部音符,通过软硬件设计,模式转换按键触发外部中断,中断使程序跳转,实现模式转换,启动电子琴。然后通过查询电子琴所按下的按键,读取电子琴输入状态,跳转到对应的程序入口,实

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, };

单片机电子琴程序

;******************************************************* ; 简易电子琴实验说明 ;实验目的: 1.掌握蜂鸣器的使用 ; 2.掌握蜂鸣器的不同发音的方法 ;实验内容: 1.通过单片机,令1-7号键由低到高发出1-7的音阶K1 BIT ;按键1 K2 BIT ;按键2 K3 BIT ;按键3 K4 BIT ;按键4 K5 BIT ;按键5 K6 BIT ;按键6 K7 BIT ;按键7 Buzzer BIT ;蜂鸣器 M1 EQU 17 M2 EQU 16 M3 EQU 15 M4 EQU 14 M5 EQU 13 M6 EQU 12 M7 EQU 11 ORG 0000H LJMP START ORG 0100H START: MOV SP,#60H MAIN: MOV P1,#0FFH ;P1口初始化

LCALL Demo ;播放一段演示音乐 MAIN_1: JB K1,MAIN_2 ;判断1号键是否按下,否则检测2号键LCALL Sound1 ;发音子程序 MAIN_2: JB K2,MAIN_3 ;判断2号键是否按下,否则检测3号键LCALL Sound2 ;发音子程序 MAIN_3: JB K3,MAIN_4 ;判断2号键是否按下,否则检测4号键LCALL Sound3 ;发音子程序 MAIN_4: JB K4,MAIN_5 ;判断4号键是否按下,否则检测5号键LCALL Sound4 ;发音子程序 MAIN_5: JB K5,MAIN_6 ;判断5号键是否按下,否则检测6号键LCALL Sound5 ;发音子程序 MAIN_6: JB K6,MAIN_7 ;判断6号键是否按下,否则检测7号键LCALL Sound6 ;发音子程序 MAIN_7: JB K7,MAIN_73 ;判断7号键是否按下,否则跳回检测1号键LCALL Sound7 ;发音子程序 MAIN_73: SJMP MAIN_1 ;返回从1号键开始扫描 ;播放演示音乐 Demo: MOV DPTR,#Music Demo_1: CLR A MOVC A,@A+DPTR INC DPTR JZ Demo_Ret LCALL SoundMCU ;放音子程序 JMP Demo_1 Demo_Ret: RET

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

郑州科技学院 单片机课程设计 题目:基于51单片的声光电子琴设计 学生姓名:苏梦强 专业班级:电子科学与技术 学号:201131074 院系:电气工程学院 指导教师:饶美丽 完成时间:2015年1月9日 目录 一、设计任务与要求............ 错误!未定义书签。 1.1 设计任务 0 1.2 设计要求 0 1.3 设计意义 0 二、方案总体设计 (1) 2.1 方案对比 (1) 2.2总体设计 (3) 2.3 总体方案工作原理 (3)

三、软件设计 (4) 3.1 系统流程 (4) 3.2延时源代码 (5) 3.3 发音源代码 (5) 3.3单个按键源代码 (5) 3.4所有程序代码 (6) 四、系统仿真与调试........... 错误!未定义书签。 4.1 仿真软件简介 (8) 4.2软件调试 (9)

4.3 使用说明 (10) 五、设计总结 (10) 附录1:总体电路原理图 (12) 附录2:元器件清单 (14)

一、设计任务与要求 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的频率值,将从

相关文档
最新文档