簡易8鍵電子琴的原理圖:
0.png (177.86 KB, 下載次數: 260)
下載附件
2017-6-13 02:34 上傳
pcb文件在壓縮包里面:
0.png (49.95 KB, 下載次數: 217)
下載附件
2017-6-13 02:35 上傳
單片機源程序如下:
- /*******************************************************************
- ********************************************************************
- ********* 51簡易電子琴程序 *****************
- ********************************************************************
- ********* ****************/
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit fmq=P0^0;//定義P0.0口為蜂鳴器信號輸出
- uint z;
- uint code tone[8]={0xfc44,0xfcac,0xfd09,0xfd34,0xfd82,0xfdc8,0xfe06,0xfe22};//對應每個單調的計數初值
- uchar code keymode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//按鍵值,對應io:0,1,2,3,4,5,6,7
- /************************************
- *********按鍵掃描函數***************/
- void anjian()//用整個P2口作為音調的輸入按鍵(獨立按鍵方式)
- {
-
- P2=0xff;//讀數據先置1
- if(P2==keymode[0]) //1
- {
- z=tone[0];
- P1=keymode[0];
- }
- /**/
- if(P2==keymode[1]) //2
- {
- z=tone[1];
- P1=keymode[1];
- }
- /**/
- if(P2==keymode[2]) //3
- {
- z=tone[2];
- P1=keymode[2];
- }
- /**/
- if(P2==keymode[3]) //4
- {
- z=tone[3];
- P1=keymode[3];
- }
- /**/
- if(P2==keymode[4]) //5
- {
- z=tone[4];
- P1=keymode[4];
- }
- /**/
- if(P2==keymode[5]) //6
- {
- z=tone[5];
- P1=keymode[5];
- }
- /***/
- if(P2==keymode[6]) //7
- {
- z=tone[6];
- P1=keymode[6];
- }
- /* */
- if(P2==keymode[7]) //1.
- {
- z=tone[7];
- P1=keymode[7];
- }
- }
- /************************************/
- void zdkg()
- {
- if(P2==0xff)
- {
- P1=0xff;
- TR1=0;//如果沒有按鍵按下,就關閉定時器中斷
- fmq=1;//同時也關閉蜂鳴器
- }
- else //否則就進入中斷
- {
- TR1=1;
- }
- }
- /*************************************************
- ****************主函數****************************
- *************************************************/
- void main()
- {
- EA=1;//開總中斷
- ET1=1;//定時器T1中斷允許
- TMOD=0x10;//使用定時器T1的模式1
- TH1=(65536-500)/256;//定時器T1的高8位重新賦初值
- TL1=(65536-500)%256;//定時器T1的低8位重新賦初值
- P1=0xff;//先關所有LED燈
- while(1)
- {
-
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png (41.86 KB, 下載次數: 228)
下載附件
2017-6-13 02:35 上傳
所有資料51hei提供下載:
簡易8按鍵電子琴.zip
(713.05 KB, 下載次數: 176)
2017-6-12 19:39 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|