1.本設(shè)計(jì)采用51單片機(jī)作為主控制器 2.外部加上放音設(shè)備如喇叭等,來實(shí)現(xiàn)音樂演奏控制器的硬件電路 3.用8個(gè)手工的按鍵發(fā)出八個(gè)音階
制作出來的電子琴實(shí)物圖如下:
0.jpg (91.6 KB, 下載次數(shù): 128)
下載附件
2018-7-19 03:37 上傳
0.jpg (107.45 KB, 下載次數(shù): 88)
下載附件
2018-7-19 03:37 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (15.05 KB, 下載次數(shù): 154)
下載附件
2018-7-19 03:37 上傳
視頻講解:
0.png (170.03 KB, 下載次數(shù): 122)
下載附件
2018-7-19 03:38 上傳
電子琴原件清單
1. 8歐0.25w小喇叭
2. 8050三極管*2
3. 10k電阻*2
4. 30歐姆電阻
5. 40腳座
6. STC89c51
7. 10uf電容
8. 30pf電容*2
9. 小按鍵*8
10. 自鎖開關(guān)
11. DC電源座
12. 12m晶振
13. 7*9萬用板
14. 導(dǎo)線若干
15. 焊錫若干
16. usb電源線或電池盒+DC電源插頭
單片機(jī)源程序如下:
- #include<reg52.h> //頭文件
- #define uint unsigned int //宏定義
- #define uchar unsigned char //宏定義
- sbit speaker=P1^4;//喇叭接口
- uchar a,b; //定義ab變量
- void check_key() //按鍵函數(shù)
- {
- P3=0xff;//先賦給P2組口高電平
- switch(P3)//按下一個(gè)鍵
- {
- case 0xfe:a=0xfb;b=0xe9;EA=1;break;//根據(jù)不同按鍵ab的值不同
- case 0xfd:a=0xfc;b=0x5c;EA=1;break;//注意:EA不能改為TR0
- case 0xfb:a=0xfc;b=0xc1;EA=1;break;
- case 0xf7:a=0xfc;b=0xef;EA=1;break;
- case 0xef:a=0xfd;b=0x45;EA=1;break;
- case 0xdf:a=0xfd;b=0x92;EA=1;break;
- case 0xbf:a=0xfd;b=0xd0;EA=1;break;
- case 0x7f:a=0xfd;b=0xee;EA=1;break;
- default:EA=0;speaker=0; //沒有按鍵按下,關(guān)閉定時(shí)器和喇叭
- }
- }
- void main()
- {
- TMOD=0x01; //定時(shí)器0工作方式1
- TH0=a;
- TL0=b; //賦初值
- ET0=1;//打開定時(shí)器,但是未允許中斷
- TR0=1;//打開定時(shí)器0
- while(1) //主循環(huán)
- {
- check_key(); //掃描按鍵函數(shù)
- }
- }
- void time0() interrupt 1//定時(shí)器0的工作函數(shù)
- {
- TH0=a;
- TL0=b; //將ab的值做為定時(shí)器的初值
- speaker=~speaker; //喇叭電平取反喇叭根據(jù)不同的頻率震動(dòng)就可以發(fā)聲了
- }
復(fù)制代碼
0.png (51.6 KB, 下載次數(shù): 131)
下載附件
2018-7-19 03:59 上傳
所有資料51hei提供下載:
54-簡易電子琴(8鍵)(1).rar
(11.73 MB, 下載次數(shù): 740)
2018-7-18 08:27 上傳
點(diǎn)擊文件名下載附件
全套課設(shè) 下載積分: 黑幣 -5
|