找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 14204|回復: 14
打印 上一主題 下一主題
收起左側

單片機簡易8鍵電子琴程序 附原理圖與PCB文件

  [復制鏈接]
跳轉到指定樓層
樓主
ID:210567 發(fā)表于 2017-6-12 19:40 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
簡易8鍵電子琴的原理圖:


pcb文件在壓縮包里面:

單片機源程序如下:
  1. /*******************************************************************
  2. ********************************************************************
  3. *********            51簡易電子琴程序              *****************
  4. ********************************************************************
  5. *********           ****************/

  6. #include<reg52.h>
  7. #define uint unsigned int
  8. #define uchar unsigned char

  9. sbit fmq=P0^0;//定義P0.0口為蜂鳴器信號輸出
  10. uint z;
  11. uint code tone[8]={0xfc44,0xfcac,0xfd09,0xfd34,0xfd82,0xfdc8,0xfe06,0xfe22};//對應每個單調的計數(shù)初值
  12. uchar code keymode[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//按鍵值,對應io:0,1,2,3,4,5,6,7

  13. /************************************
  14. *********按鍵掃描函數(shù)***************/

  15. void anjian()//用整個P2口作為音調的輸入按鍵(獨立按鍵方式)
  16. {
  17.        
  18.         P2=0xff;//讀數(shù)據(jù)先置1
  19.         if(P2==keymode[0]) //1
  20.         {
  21.                 z=tone[0];
  22.                 P1=keymode[0];
  23.         }
  24. /**/
  25.         if(P2==keymode[1]) //2
  26.         {
  27.                 z=tone[1];
  28.                 P1=keymode[1];
  29.         }
  30. /**/
  31.         if(P2==keymode[2]) //3
  32.         {
  33.                 z=tone[2];
  34.                 P1=keymode[2];
  35.         }
  36. /**/
  37.         if(P2==keymode[3]) //4
  38.         {
  39.                 z=tone[3];
  40.                 P1=keymode[3];
  41.         }
  42. /**/
  43.         if(P2==keymode[4]) //5
  44.         {
  45.                 z=tone[4];
  46.                 P1=keymode[4];
  47.         }
  48. /**/
  49.         if(P2==keymode[5]) //6
  50.         {
  51.                 z=tone[5];
  52.                 P1=keymode[5];
  53.         }
  54. /***/
  55.         if(P2==keymode[6]) //7
  56.         {
  57.                 z=tone[6];
  58.                 P1=keymode[6];
  59.         }
  60. /* */
  61.         if(P2==keymode[7]) //1.
  62.         {
  63.                 z=tone[7];
  64.                 P1=keymode[7];
  65.         }


  66. }
  67. /************************************/
  68. void zdkg()
  69. {
  70.         if(P2==0xff)
  71.         {
  72.                 P1=0xff;
  73.                 TR1=0;//如果沒有按鍵按下,就關閉定時器中斷
  74.                 fmq=1;//同時也關閉蜂鳴器
  75.         }
  76.         else          //否則就進入中斷
  77.         {
  78.                 TR1=1;
  79.         }
  80. }
  81. /*************************************************
  82. ****************主函數(shù)****************************
  83. *************************************************/
  84. void main()
  85. {
  86.         EA=1;//開總中斷
  87.         ET1=1;//定時器T1中斷允許
  88.         TMOD=0x10;//使用定時器T1的模式1
  89.         TH1=(65536-500)/256;//定時器T1的高8位重新賦初值
  90.         TL1=(65536-500)%256;//定時器T1的低8位重新賦初值
  91.         P1=0xff;//先關所有LED燈

  92.         while(1)
  93.         {
  94.        
  95. ……………………

  96. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
簡易8按鍵電子琴.zip (713.05 KB, 下載次數(shù): 176)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發(fā)
ID:231347 發(fā)表于 2017-9-6 17:25 | 只看該作者
樓主有pcb文件嗎,壓縮包里的用不了
回復

使用道具 舉報

板凳
ID:84492 發(fā)表于 2017-9-7 21:29 | 只看該作者
好東西,謝謝分享           
回復

使用道具 舉報

地板
ID:236550 發(fā)表于 2017-9-29 12:43 | 只看該作者
學習學習
回復

使用道具 舉報

5#
ID:262896 發(fā)表于 2017-12-18 00:17 | 只看該作者
謝謝分享
回復

使用道具 舉報

6#
ID:263148 發(fā)表于 2017-12-18 15:33 | 只看該作者
謝謝樓主
回復

使用道具 舉報

7#
ID:359592 發(fā)表于 2018-6-27 20:10 | 只看該作者
嘻嘻誒
回復

使用道具 舉報

8#
ID:366752 發(fā)表于 2018-7-8 13:45 來自手機 | 只看該作者
好好看看
回復

使用道具 舉報

9#
ID:416511 發(fā)表于 2018-10-29 22:54 | 只看該作者
請問這個下載后怎么文件是損壞的?
回復

使用道具 舉報

10#
ID:433965 發(fā)表于 2018-11-27 09:51 | 只看該作者
謝謝分享!��!
回復

使用道具 舉報

11#
ID:641781 發(fā)表于 2019-11-14 11:07 | 只看該作者
謝謝樓主
回復

使用道具 舉報

12#
ID:660378 發(fā)表于 2020-2-16 22:06 | 只看該作者

謝謝樓主
回復

使用道具 舉報

13#
ID:691079 發(fā)表于 2020-3-16 11:07 來自手機 | 只看該作者
謝謝樓主
回復

使用道具 舉報

14#
ID:110278 發(fā)表于 2020-3-20 11:06 | 只看該作者
謝謝分享
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表