标题: 基于51单片机的简易电子琴课程设计全套资料(源码+实物+视频+报告+仿真) [打印本页]

作者: junmoxiao    时间: 2018-7-18 08:27
标题: 基于51单片机的简易电子琴课程设计全套资料(源码+实物+视频+报告+仿真)
1.本设计采用51单片机作为主控制器
2.外部加上放音设备如喇叭等,来实现音乐演奏控制器的硬件电路
3.用8个手工的按键发出八个音阶

制作出来的电子琴实物图如下:


仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


视频讲解:

电子琴原件清单
1.    8欧0.25w小喇叭
2.    8050三极管*2
3.    10k电阻*2
4.    30欧姆电阻
5.    40脚座
6.    STC89c51
7.    10uf电容
8.    30pf电容*2
9.    小按键*8
10.     自锁开关
11.     DC电源座
12.     12m晶振
13.     7*9万用板
14.    导线若干
15.     焊锡若干
16.     usb电源线或电池盒+DC电源插头



单片机源程序如下:
  1. #include<reg52.h> //头文件

  2. #define uint unsigned int  //宏定义
  3. #define uchar unsigned char         //宏定义

  4. sbit speaker=P1^4;//喇叭接口

  5. uchar a,b;                  //定义ab变量

  6. void check_key()  //按键函数
  7. {
  8.         P3=0xff;//先赋给P2组口高电平
  9.         switch(P3)//按下一个键
  10.         {
  11.                 case 0xfe:a=0xfb;b=0xe9;EA=1;break;//根据不同按键ab的值不同
  12.                 case 0xfd:a=0xfc;b=0x5c;EA=1;break;//注意:EA不能改为TR0
  13.                 case 0xfb:a=0xfc;b=0xc1;EA=1;break;
  14.                 case 0xf7:a=0xfc;b=0xef;EA=1;break;
  15.                 case 0xef:a=0xfd;b=0x45;EA=1;break;
  16.                 case 0xdf:a=0xfd;b=0x92;EA=1;break;
  17.                 case 0xbf:a=0xfd;b=0xd0;EA=1;break;
  18.                 case 0x7f:a=0xfd;b=0xee;EA=1;break;
  19.                 default:EA=0;speaker=0;                           //没有按键按下,关闭定时器和喇叭
  20.         }
  21. }
  22. void main()
  23. {
  24.         TMOD=0x01;        //定时器0工作方式1
  25.         TH0=a;
  26.         TL0=b;           //赋初值
  27.         ET0=1;//打开定时器,但是未允许中断
  28.         TR0=1;//打开定时器0
  29.         while(1) //主循环
  30.         {
  31.                 check_key();        //扫描按键函数
  32.         }
  33. }

  34. void time0() interrupt 1//定时器0的工作函数
  35. {
  36.         TH0=a;
  37.         TL0=b;                                //将ab的值做为定时器的初值
  38.         speaker=~speaker;        //喇叭电平取反喇叭根据不同的频率震动就可以发声了
  39. }

复制代码



所有资料51hei提供下载:
54-简易电子琴(8键)(1).7z (4.95 MB, 下载次数: 740)



作者: 晨曦826    时间: 2018-10-30 12:58
压缩包下载之后文件损坏,根本打不开,我的黑币啊,积攒黑币那么不容易

后续:
问题已经解决,需要使用最新版的winrar来解压.

作者: pcaking    时间: 2018-10-30 14:02
默默推~頂
作者: 264587311    时间: 2018-10-31 15:22
怎么给扩展到21音的
作者: 十三々    时间: 2018-11-29 15:29
请问一下楼主,用proteus打开仿真文件调试之后点按键没声音是怎么回事?希望楼主解答一下,谢谢了。
作者: 十三々    时间: 2018-11-29 15:44
十三々 发表于 2018-11-29 15:29
请问一下楼主,用proteus打开仿真文件调试之后点按键没声音是怎么回事?希望楼主解答一下,谢谢了。

问题解决了,不麻烦楼主了。
作者: Lucky_Dog    时间: 2018-12-6 20:29
顶起,这个真的很需要
作者: hyrtt    时间: 2018-12-7 09:32
十三々 发表于 2018-11-29 15:29
请问一下楼主,用proteus打开仿真文件调试之后点按键没声音是怎么回事?希望楼主解答一下,谢谢了。

请问你是怎么解决的?
作者: 1342483490    时间: 2019-6-5 17:54
请问放声音可以用蜂鸣器吗
作者: lucarioax    时间: 2019-6-5 22:30
感谢楼主分享,等等回去看看
作者: Charlie_li    时间: 2019-6-8 13:36
感谢楼主分享
作者: lsjdbduebdkdn    时间: 2019-6-12 17:11
十三々 发表于 2018-11-29 15:29
请问一下楼主,用proteus打开仿真文件调试之后点按键没声音是怎么回事?希望楼主解答一下,谢谢了。

你好,能把资料发我一下吗?谢谢啦
13189852068@163.com
作者: lsjdbduebdkdn    时间: 2019-6-12 20:58
十三々 发表于 2018-11-29 15:44
问题解决了,不麻烦楼主了。

请问你是怎样解决的?
作者: sqb    时间: 2019-10-29 12:29
晨曦826 发表于 2018-10-30 12:58
压缩包下载之后文件损坏,根本打不开,我的黑币啊,积攒黑币那么不容易,

俺也一样,悔不当初没看评论
作者: 歌者与猫    时间: 2019-10-31 16:31
用usb口可以吗
作者: 歌者与猫    时间: 2019-11-5 20:33
焊接完不好用怎么办
作者: 歌者与猫    时间: 2019-11-5 20:34
软件用的是keil吗
作者: 我叫阿明    时间: 2019-11-21 15:35
怎么下载的是损坏的?
作者: JIAHD    时间: 2019-11-30 11:28
为啥按第五个按键一直想

作者: 2163216965    时间: 2019-12-2 20:57
感谢分享,刚好用到。
作者: 撒大苏打安德森    时间: 2019-12-10 14:52
很实用,有很大的启发。
作者: hlyxhxgs    时间: 2019-12-16 14:06
请问是损坏的还是好的
作者: aiyurou    时间: 2020-1-1 20:12
十三々 发表于 2018-11-29 15:44
问题解决了,不麻烦楼主了。

我想知道,我也是这个问题

作者: 朵朵吴    时间: 2020-3-17 22:30
这个好用吗
作者: 0807lj    时间: 2020-6-28 11:16
sqb 发表于 2019-10-29 12:29
俺也一样,悔不当初没看评论

搞定了,要用最新版的winrar解压才可以成功.
作者: xingxingleile    时间: 2020-7-6 19:31
晨曦826 发表于 2018-10-30 12:58
压缩包下载之后文件损坏,根本打不开,我的黑币啊,积攒黑币那么不容易

后续:

怎么还是打不开的?
作者: 小渣渣hy    时间: 2020-9-6 18:44
有用过正常的吗
作者: 陈宇7758258    时间: 2021-1-4 14:23
nice
,很有帮助
作者: acdd520    时间: 2021-1-24 17:25
可以啊不错 帮助很大




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1