AT89C51单片机的多音阶电子琴
基于51单片机的简单电子琴代码

基于51单片机的简单电子琴代码#include <AT89X52.h>sbit P10=P1^0;//高音阶,红灯sbit P11=P1^1;//中音阶,黄灯sbit P12=P1^2;//低音阶,绿灯sbit P13=P1^3;//蜂鸣器控制端口sbit P31=P3^0;//低音阶按键行sbit P32=P3^1;//中音阶按键行sbit P33=P3^2;//高音阶按键行sbit P35=P3^4;//播放音乐按键unsigned int i,j,k=0,l=0;unsigned char count1=0xff,count0=0x50;/*********************************数码管码表(P0)***********************************/unsigned char Tab[]={0XBF,0X06,0X5B,0X4F,0X66,//数码管0~40X6D,0X7D,0X07,0X7F,0X6F,//数码管5~90X77,0X7C,0X39,0X5E,0X79,0X71,0X00};//数码管A~F/************************************音阶控制**************************************/music_data_high[]={0xf8,0xf9,0xfa,0xfa,0xfb,0xfb,0xfc,//数组0~6 低音0xfc,0xfc,0xfd,0xfd,0xfd,0xfd,0xfe,//数组7~13 中音0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff};//数组14~20 高音music_data_low[]= {0xf3,0xb8,0x15,0xb9,0x4a,0xcf,0x0c,//数组0~6 低音0x44,0xac,0x09,0x34,0x82,0xc8,0x05,//数组7~13 中音0x4c,0x6d,0x94,0xad,0xd2,0xf3,0x02};//数组14~20 高音/******************************************************函数名:delayms*参数:n 延时毫秒数*功能:延时N毫秒*****************************************************/void delayms(unsigned char n){unsigned char a,b;for(a=100;a>0;a--)for(b=10*n;b>0;b--);}/******************************************************函数名:key_check*参数:无*功能:扫描按键并运行对应功能*****************************************************/void key_check(void){P2=0xff;P3=0xfe;if(P2!=0xff){ delayms(20);if(P2!=0xff){P10=1;P11=1;P12=0;switch(P2){case0xfe:EA=1;count1=0xf8;count0=0xf3;P0=Tab[1];delayms(50);bre ak;case0xfd:EA=1;count1=0xf9;count0=0xb8;P0=Tab[2];delayms(50);br eak;case0xfb:EA=1;count1=0xfa;count0=0x15;P0=Tab[3];delayms(50);bre ak;case0xf7:EA=1;count1=0xfa;count0=0xb9;P0=Tab[4];delayms(50);bre ak;case0xef:EA=1;count1=0xfb;count0=0x4a;P0=Tab[5];delayms(50);bre ak;case0xdf:EA=1;count1=0xfb;count0=0xcf;P0=Tab[6];delayms(50);bre ak;case0xbf:EA=1;count1=0xfc;count0=0x0c;P0=Tab[7];delayms(50);bre ak;defaule:break;}}}//else {EA=0;P13=1;}P2=0xff;P3=0xfd;if(P2!=0xff){ delayms(20);if(P2!=0xff){P10=1;P11=0;P12=1;switch(P2){case0xfe:EA=1;count1=0xfc;count0=0x79;P0=Tab[1];delayms(50);bre ak;case0xfd:EA=1;count1=0xfc;count0=0xbc;P0=Tab[2];delayms(50);bre ak;case0xfb:EA=1;count1=0xfd;count0=0x09;P0=Tab[3];delayms(50);br eak;case0xf7:EA=1;count1=0xfd;count0=0x44;P0=Tab[4];delayms(50);bre ak;case 0xef:EA=1;count1=0xfd;count0=0xa2;P0=Tab[5];delayms(50);break;case0xdf:EA=1;count1=0xfd;count0=0xd8;P0=Tab[6];delayms(50);br eak;case0xbf:EA=1;count1=0xfe;count0=0x05;P0=Tab[7];delayms(50);br eak;// defaule:break;}}}//else {EA=0;P13=1;}P2=0xff;P3=0xfb;if(P2!=0xff){ delayms(20);if(P2!=0xff){P10=0;P11=1;P12=1;switch(P2){case0xfe:EA=1;count1=0xfe;count0=0x4c;P0=Tab[1];delayms(50);bre ak;case0xfd:EA=1;count1=0xfe;count0=0x6d;P0=Tab[2];delayms(50);br eak;case0xfb:EA=1;count1=0xfe;count0=0x9f;P0=Tab[3];delayms(50);bre ak;case0xf7:EA=1;count1=0xfe;count0=0xad;P0=Tab[4];delayms(50);bre ak;case0xef:EA=1;count1=0xfe;count0=0xd2;P0=Tab[5];delayms(50);bre ak;case0xdf:EA=1;count1=0xfe;count0=0xf3;P0=Tab[6];delayms(50);bre ak;case0xbf:EA=1;count1=0xff;count0=0x02;P0=Tab[7];delayms(50);bre ak;// defaule:break;}}}if(P2==0xff) {EA=0;P13=1;}/******************************************************函数名:play_music*参数:无*功能:播放音乐*****************************************************/ void play_music(void){count1=music_data_high[0];count0=music_data_low[0]; EA=1;delayms(50);EA=0;delayms(5);}/******************************************************函数名:TIM0_init*参数:无*功能:定时器0初始化*****************************************************/ void TIM0_init(void){TMOD=0x01;TH0=count1;TL0=count0;EA=1;ET0=1;TR0=1;}void timer0(void) interrupt 1 using 0{TH0=count1;TL0=count0;P13=!P13;/***************************************************** *函数名:main*参数:无*功能:开跑程序*****************************************************/ void main(void){ P35=1;TIM0_init();//play_music();//while(1){ if(P35==0) {delayms(20);P35=1;play_music();} key_check();}}。
基于单片机的简易电子琴设计(C语言编程)

基于单片机的简易电子琴设计摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有壮大的操纵功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部份。
本文的要紧内容是用AT89S51单片机作为核心操纵元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主操纵模块,在主控模块上设有16个按键和扬声器。
本系统运行稳固,其优势是硬件电路简单,软件功能完善,操纵系统靠得住,性价比较高等,具有必然的有效和参考价值。
关键词:单片机键盘扬声器电子琴AbstractElectronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM has 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 a electronic organ. SCM as a host to the core, with the keyboard, speaker and other core modules. In the main control module has 16 keys and a speaker. The system is steady, its simple hardware circuits, software functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.Key words : SCM keyboard speaker electronic organ目录摘要..................................................................................................................................... 错误!未定义书签。
基于STC89C51单片机的电子琴设计

基于STC89C51单片机的电子琴设计随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。
本设计是以主控芯片STC89C5l为中心器件,辅以小键盘、LCD显示和功放电路及扬声器等来设计电子琴系统。
同时详细论述了该系统的设计过程及关键技术。
致芯科技芯片解密研究所是国内权威的反向技术研究机构,也是由解密行业鼻祖的芯片解密研发小组分化发展起来的权威技术研究部门,是国内最早的以研究所形式存在的专业芯片解密技术研发机构。
在多年专项技术研究中,芯片解密研究所已经逐步培育了一支技术精湛、整体实力处于业界最高水平的解密工程师。
专业为大家提供芯片解密、单片机解密、IC解密等服务。
STC单片机是一款增强型5l单片机,完全兼容MCS-51。
STC89C51可以代替AT89C51,而且功能更强,速度更快,寿命更长,价格更低。
该单片机具有40个引脚,采用双列直插DIP-40封装。
STC89C51可以完成ISP在线编程功能,而AT89C51则不能。
因此,将AT89C51中的程序直接烧录到STC89C51中后,STC89C5l就可以代替AT89C51直接工作。
STC推出的系列51单片机芯片全面兼容其它51单片机。
STC89C51内部有E2PROM,可以在程序中修改,而且断电不丢失数据。
此外,还增加了两级中断优先级等等,STC89系列单片机的基本特性。
通常电子琴所输入的音阶值都先存入变量数组中,演奏时才逐一取出来播放单音。
程序中的变量使用的是内部存储器RAM,范围为空间30H~7FH,因此,其程序内存规划是:RAM地址30H~70H存放音阶值,最大内存空间为64字节;RAM地址71H~7FH存放程序其他变量。
程序执行后,工作指示LED闪动,表示程序开始执行。
当按下键盘组中的相对按键时,压电喇叭会发出相对音阶单音,全系统共有2个8度音阶,DO~SI,HIDO~HISI,14个音阶,所输入的单音会存入89C5l内,至多可以输入64个单音,并可以一起演奏出来,同时还有清除存储功能,可将原数据清除后再重新输入。
C51课程设计电子琴

C51程序设计课程报告——电子琴学院:班级:学号:摘要:随着电子产业的发展和人民生活水平的提高,电子琴在人们生活中将扮演着越来越重要的角色,它改善人们的生活,给人们带来快乐和冶人的情操。
电子琴,它是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,电子琴采用控制功能强大的微处理技术和电子技术,使它融入现代人的生活中,成为不可或缺的一部分。
本设计在充分了解音乐音阶基础上,以AT89S51单片机作为核心控制器件而设计的,以这款单片机作为主控核心,通过程序控制与键盘,运放电路,扬声器等电路组成电子琴的基本单元,本文设计的电子琴,采用十六键技术,模拟了市场上电子琴的基本功能。
可以用弹奏出简单的乐曲;弹奏电子琴时能播放出准确的声音,不弹奏时可以播放置音乐。
本设计给出了电子琴的详细设计方案,电路组成与程序流程并对电子琴可行性模拟仿真,Proteus试验仿真表明本文设计的电子琴运行稳定,电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
在本文设计的基础上,功能可以延伸和拓展,由于是程序控制,电子琴升级方便,具有很强的市场推广价值。
关键词:AT89S51,电子琴,Proteus仿真,音阶目录一设计背景2二设计目的和要求2 1.设计目的22.设计要求3三设计原理31. 定时/计数器原理32.中断控制33.七段数码管44.矩阵式键盘的识别和显示5四设计组成71.设计的模块组成72.设计的软件实现流程7五设计的电路原理图8六本实验的C语言程序9七仿真和调试151.仿真结果152.调试过程16八实验成果和心得161.实验成果162.心得体会16参考文献:18一设计背景随着人们生活水平的提高和电子产业的高速发展,越来越多的电子产品融入到人们的生活当中,电子琴也不例外,它作为一种冶人们情操,给人们生活增添乐趣的一种乐器,在生活中扮演比较重要的角色,逐步成为人们生活当中的一部分。
电子琴本身是一种敲击乐器,通过敲击不同按键,由于音阶不同而发出不同声响,给人们的带来快乐,音阶的控制和声音大小是通过微控制器和电子电路实现的。
基于单片机的简易电子琴设计(汇编语言)

摘要电子琴是现代电子科技与音乐结合的产物。
电子琴是一种新型的键盘乐器,采用半导体集成电路,对乐音信号进行放大,通过扬声器产生音响.由音色,自动伴奏,自动和弦三大部分组成.它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:单片机,键盘,扬声器,电子琴AbstractElectronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM has powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89C51 control of the core components, design of a electronic organ. SCM as a host to the core, with the keyboard, speaker and other core modules. In the main control module has 8 keys and a speaker. The system is steady, its simple hardware circuits, software functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.Key words : SCM keyboard speaker electronic organ目录引言 (1)第一章总体方案论证与设计 (3)1.1 控制模块 (3)1.2 播放模块 (4)1.2 按键控制模块 (4)第二章系统的软件设计 (7)2.1 音乐弹奏原理 (7)2.2 音乐弹奏设计 (7)2.3 软件流程图 (8)2.4 上位机软件及程序 (9)第三章系统调试与测试结果分析 (18)3.1 使用的仪器及软件 (18)3.2 系统调试 (18)3.2.1 硬件调试 (18)3.2.2 软件调试 (19)3.2.3 硬件软件联调 (20)3.3 测试结果 (20)总结 (21)致谢 ................................................................................................................ 错误!未定义书签。
51单片机简易电子琴设计

51单片机简易电子琴设计(总19页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--毕业设计(论文)课题名称:指导教师:系别:专业:班级:姓名:摘要音乐一直都是人类情感表达的一个重要媒介,随着社会的进步与发展,音乐在人类的生活与学习中的作用越发不可忽视。
电子琴也是实现播放音乐的一个途径。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音乐演奏中已成为不可缺少的一部分。
单片机是一个具有功能强大和编程灵活性的控制器,它已广泛应用于现代人们的生活中,扮演着重要的角色。
本设计主要是使用AT89C51单片机及单片机C语言,用AT89S51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
在PROTEUS仿真平台上实现功能仿真,同时还增加了音乐播放功能。
本文中给出了该系统设计的硬件电路,软件设计等。
其次,详细阐述了程序的各个模块和实现过程。
本设计具有硬件电路简单、功能完善、控制可靠、运行稳定等特点,具有一定的实用性。
关键词: 单片机;电子琴;PROTEUS;KEIL;C语言1.引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色。
简易电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。
还常作为独奏乐器出现,具有鲜明时代特色。
但电子琴的局限性也是十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类馆、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。
基于AT89C51的电子琴设计
基于AT89C51的电子琴设计作者:姚小飞张国栋来源:《科学与财富》2014年第11期摘要:该设计是一种基于AT89C51的简单音乐发生器,利用主控芯片AT89C51、4*4键盘和数码管、蜂鸣器等实现设计,并用C语言进行按键识别程序设计和音频脉冲输出程序的设计。
实践应用表明,该设计有一定的应用价值。
关键词:AT89C51;电子琴;C语言0 引言本文以AT89C51为核心来设计电子琴,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更深层次的了解单片机技术,更加熟练的掌握一些单片机芯片的开发应用,以解决很多理论和实践脱节的问题,更明确自己的所学所用,也在实践中发现理论的不足,对目前日益广泛应用的单片机有更加理性化的认识,使理论和实践更加很好的结合[1]。
1 系统总体设计该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主电路,中央处理器通过识别,解码输出音符,在发音电路发出有效的声音,这样便可以不断的弹奏乐曲。
其主要模块可分为六个模块组成,其中时钟模块、复位模块和键盘模块为输入模块,数码显示模块和发音模块为输出模块。
2 系统硬件电路设计该系统硬件电路主要包括:键盘电路、复位电路、时钟电路、显示电路等组成。
2.1 键盘电路设计由于本设计是电子琴设计,其每个按键应该是独立发音,按键较多,因此本次设计采用的矩阵键盘。
其优点是扫描速度快,按键数量多。
矩阵式结构的键盘识别要复杂一些,列线接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入端。
这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。
行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读输入线的状态就可得知是否有键按下了。
利用AT89C51的并行口P2口为按键输入口,形成4×4式16个触点式按键矩阵,均为低电平有效。
16个琴键在数码管上按0-F顺序显示,对应按键的序号排列如图1所示。
基于51单片机简易电子琴
1 课题背景单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
他的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。
主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。
利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。
并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。
当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。
2 任务要求与总体设计方案2.1 设计任务与要求利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。
如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。
前面的发音停止,转到后按的键的发音程序。
(完整word版)电子琴设计(基于STC89C51单片机)
(2)数据存储器(512B RAM)。
(3)程序存储器(4K EEPROM).
(4)4个可编程并行I/O口,256*8bit内部RAM。
(5)一个全双工串行口。
(6)三个16位定时器/计数器,时钟频率为0~24MHZ。
(7)MAX810复位电路.
(8)两个串行中断,可编程UART串行通道。
Key words :stc89c52;keyboard;matrix keyboard
1 绪论
1.1 设计的目的和意义
单片机又称单片微型计算机,英文字母的缩写MCU。自上世纪70年代问世以来,因其较高的性价比备受人们的亲睐,单片机广泛应用于工业自动化,自动检测系统、汽车电子设备、家用电器和各种终端及计算机外部设备等等。单片机芯片具有体积小、携带方便、低功耗、速度快、可靠性能高、抗干扰能力强和价格低廉等等等优点,通常在其外部配置一些外围电路就可构成一整套完整的控制系统。
2.2。2 控制部分
控制部分主要由4*4矩阵键盘组成。电子琴需要16个键,为了减少占用I/O端口,通常采用矩阵型键盘。将按键排成行和列,按键位于行和列的交叉点上.这样一个端口就可以连接4*4的矩阵键盘了.
2.2.3 显示部分
显示部分是一个双位数码显示管,可以显示00~16。当有按键按下的时候,数码显示管就会显示相应的数字。复位时为00。
关键词:STC89C52;电子琴;矩阵键盘
Abstract
Along with the development of science and technology, the application of SCM increasingly mature. Single chip microcomputer high level of integration, processing powerful, low prices make it is widely used in various fields。 At the same time the keyboards for science and technology and music common development of the product, in the electronic information era, for music's popular do can’t replace contribution.
51单片机简易电子琴设计
毕业设计(论文)课题名称:指导教师:系别:专业:班级:姓名:摘要音乐一直都是人类情感表达的一个重要媒介,随着社会的进步与发展,音乐在人类的生活与学习中的作用越发不可忽视。
电子琴也是实现播放音乐的一个途径。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音乐演奏中已成为不可缺少的一部分。
单片机是一个具有功能强大和编程灵活性的控制器,它已广泛应用于现代人们的生活中,扮演着重要的角色。
本设计主要是使用AT89C51单片机及单片机C语言,用AT89S51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
在PROTEUS 仿真平台上实现功能仿真,同时还增加了音乐播放功能。
本文中给出了该系统设计的硬件电路,软件设计等。
其次,详细阐述了程序的各个模块和实现过程。
本设计具有硬件电路简单、功能完善、控制可靠、运行稳定等特点,具有一定的实用性。
关键词: 单片机;电子琴;PROTEUS;KEIL;C语言1.引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色。
简易电子琴是电声乐队的中坚力量,常用于独奏主旋律并伴以丰富的和声。
还常作为独奏乐器出现,具有鲜明时代特色。
但电子琴的局限性也是十分明显:旋律与和声缺乏音量变化,过于协和、单一;在模仿各类馆、弦乐器时,音色还不够逼真,模仿提琴类乐器的音色时,失真度更大,还需要不断改进。
单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。