当前位置:首页 > 资格考试 > 正文

基于单片机的多功能电子琴设计,毕设,求仿真,脑子都炸了

毕业设计我想用单片机做一个电子琴,程序最好是c语言编写的,那个好心人可以帮我提供点资料,要钱的免进!

www.doyoung.net

上有好多,要的话我还有流程图

/*********************************************************************************************

程序名:DoToy系列作品MidTouch21电子琴程序

编写人:杜洋

编写时间:2009年6月3日

硬件支持:STC11L60XE外部12MHZ晶振电源3V

接口说明:详见《DoToy_MidTouch21电路原理图》

修改日志:

NO.1-20090603_17.54完成电子琴21键的测试(20090603_1备)

NO.2-20090604_01.29改为第二次新板的硬件电路(20090604_2备)

/*********************************************************************************************

说明:

用STC11Fxx单片机I/O接口的高阻态输入功能,扫描I/O接口电平。

手指将VCC线和I/O接口线半连接,产生高电平信号。

/*********************************************************************************************/

voidINIT(void);

#include

/*********************************************************************************************/

sbitSPEAKER=P1^0;//扬声器,低使能

sbitLED=P3^0;//LED正极,强推

sbitLED2=P3^1;//LED负极

sbitKEY11=P2^0;

sbitKEY12=P2^1;

sbitKEY13=P2^2;

sbitKEY14=P2^3;

sbitKEY15=P2^4;

sbitKEY16=P2^5;

sbitKEY17=P2^6;

sbitKEY21=P2^7;

sbitKEY22=P4^4;

sbitKEY23=P4^5;

sbitKEY24=P4^6;

sbitKEY25=P0^7;

sbitKEY26=P0^6;

sbitKEY27=P0^5;

sbitKEY31=P0^4;

sbitKEY32=P0^3;

sbitKEY33=P0^2;

sbitKEY34=P0^1;

sbitKEY35=P0^0;

sbitKEY36=P3^3;

sbitKEY37=P3^2;

/*********************************************************************************************/

unsignedcharMUSIC;

unsignedcharSTH0,STL0;

unsignedintcodetab[]={//音阶表

63628,63835,64021,64103,64260,64400,64524,//低音1-7

64580,64684,64777,64820,64898,64968,65030,//中音1-7

65058,65110,65157,65178,65217,65252,65283//高音1-7

};

/*********************************************************************************************/

voiddelay1ms(unsignedinta){//1ms延时程序(12MHz10倍于51单片机速度时)

unsignedinti;

while(--a!=0){

for(i=0;i<600;i++);

}

}/***************************************************************************************/

voidINIT(void){//初始化程序

TMOD=0x11;

ET0=1;

ET1=1;

EA=1;

P0M1=0xff;//I/O接口工作方式

P0M0=0x00;//P0全为高阻输入

P1M1=0xfe;//P1.0为准双向,其他为高阻输入

P1M0=0x00;

P2M1=0xff;//P2全为高阻输入

P2M0=0x00;

P3M1=0xfc;//P3.0为强推,其他为标准双向

P3M0=0x01;

P4M1=0xff;//P4全为高阻输入

P4M0=0x00;

P4SW=0xff;

LED=1;

LED2=0;

SPEAKER=0;

}

/***************************************************************************************/

voidmain(void){

INIT();//初始化

while(1){

if(KEY37==1){delay1ms(20);if(KEY37==1){MUSIC=20;}}//高音B(37)

if(KEY36==1){delay1ms(20);if(KEY36==1){MUSIC=19;}}

if(KEY35==1){delay1ms(20);if(KEY35==1){MUSIC=18;}}

if(KEY34==1){delay1ms(20);if(KEY34==1){MUSIC=17;}}

if(KEY33==1){delay1ms(20);if(KEY33==1){MUSIC=16;}}

if(KEY32==1){delay1ms(20);if(KEY32==1){MUSIC=15;}}

if(KEY31==1){delay1ms(20);if(KEY31==1){MUSIC=14;}}

//3

if(KEY27==1){delay1ms(20);if(KEY27==1){MUSIC=13;}}

if(KEY26==1){delay1ms(20);if(KEY26==1){MUSIC=12;}}

if(KEY25==1){delay1ms(20);if(KEY25==1){MUSIC=11;}}

if(KEY24==1){delay1ms(20);if(KEY24==1){MUSIC=10;}}

if(KEY23==1){delay1ms(20);if(KEY23==1){MUSIC=9;}}

if(KEY22==1){delay1ms(20);if(KEY22==1){MUSIC=8;}}

if(KEY21==1){delay1ms(20);if(KEY21==1){MUSIC=7;}}

//2

if(KEY17==1){delay1ms(20);if(KEY17==1){MUSIC=6;}}

if(KEY16==1){delay1ms(20);if(KEY16==1){MUSIC=5;}}

if(KEY15==1){delay1ms(20);if(KEY15==1){MUSIC=4;}}

if(KEY14==1){delay1ms(20);if(KEY14==1){MUSIC=3;}}

if(KEY13==1){delay1ms(20);if(KEY13==1){MUSIC=2;}}

if(KEY12==1){delay1ms(20);if(KEY12==1){MUSIC=1;}}

if(KEY11==1){delay1ms(20);if(KEY11==1){MUSIC=0;}}

//1

if(MUSIC!=0xff){//如果有音阶数值(非0XFF时)

STH0=tab[MUSIC]/256;//将音阶的频率值装入定时器T0

STL0=tab[MUSIC]%256;

TR0=1;//启动定时器

MUSIC=0xff;//清除寄存器

}else{//否则

SPEAKER=1;//关扬声器

LED=1;

TR0=0;//关定时器

}

}

}

/***************************************************************************************/

voidt0(void)interrupt1using0{//定时器0产生音频

TH0=STH0;

TL0=STL0;

SPEAKER=~SPEAKER;//取反频率产生音调

LED=SPEAKER;//LED同频闪烁

}

/***************************************************************************************/

/*************************************************************

*杜洋工作室www.DoYoung.net

/*************************************************************/

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

http://code.21ic.com/code/31218 实现电子琴的功能,基于C51,通过7个按键,来发出7种音调,也可以做成水果键盘 21ic中国电子网站上有很多电子琴的源码,你可以去搜索一下。。

基本要求:利用单片机AT89C51设计电子琴,用矩阵键盘代表键琴,至少能弹出8个音符。

单片机简易电子钢琴 电子琴音乐芯片发音 功能描述: 1、四个音调,按键调节 2、指示灯显示当前音调 3、七个按键对应七个音节 4、音乐 IC 发音,驱动 8Ω 喇叭,比蜂鸣器滴滴滴好听多了 5、可根据顾客要求进行功能定制 ☆ 已作出的实物优酷视频演示地址: http://v.youku.com/v_show/id_XMzg3MjMwOTg3Ng

基于单片机的简易电子琴设计是用蜂鸣器来实现的么?还需要其它设备么?

那要看你设计的复杂程序了,如果你只是想放个歌的话就只用蜂鸣器就行了;如果你想要选择歌曲播放的功能的话,就要加按键了,要放各个音调的话也加几个按键。。。。。。电子琴就那么点东西。。。。。
展开全文阅读