久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 23342|回復(fù): 56
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)的簡(jiǎn)易電子琴_[brightbell]

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
      學(xué)習(xí)51單片機(jī)不久后,自己設(shè)計(jì)制作了這個(gè)簡(jiǎn)易電子琴,這是我單片機(jī)DIY的第一個(gè)作品,從構(gòu)思設(shè)計(jì)-購買元件-布局焊接-程序編寫,系統(tǒng)地體驗(yàn)了整個(gè)開發(fā)流程,也是一邊學(xué)一邊做,還好有網(wǎng)絡(luò)。      在2015年3月底焊接的,那段時(shí)間也參考網(wǎng)上的程序?qū)懥藗(gè)程序,實(shí)現(xiàn)的功能跟現(xiàn)在這個(gè)是一樣的,只不過程序結(jié)構(gòu)不好,還有延時(shí)有點(diǎn)問題,所以在2016年1月1日重寫了一下,功能不變,沒加沒減。
      沒什么技術(shù)含量,但是是我的第一個(gè)DIY成品,很有紀(jì)念價(jià)值啊,現(xiàn)在分享一下。
     有演示視頻,有圖片,有程序,不過沒有元件清單,沒有電路圖,也沒有必要吧,大家看看就都明白。

視頻:


源代碼:
  1. #include <reg52.h>
  2. sbit BUZZ=P1^6;//蜂鳴器連續(xù)的IO口
  3. unsigned char T1TH=0,T1TL=0;
  4. unsigned char code song1[]={                  //兩只老虎
  5.     0x14,0x14,0x24,0x34,0x14,0x14,0x24,0x34,0x14,
  6.         0x34,0x44,0x58,0x34,0x44,0x58,
  7.         0x53,0x61,0x53,0x41,0x34,0x14,
  8.         0x53,0x61,0x53,0x41,0x34,0x14,
  9.         0x14,0x54,0x18,
  10.         0x14,0x54,0x18,
  11.         0xFF          //歌曲結(jié)束標(biāo)志
  12. };
  13. unsigned char code song2[]={                  //送別
  14.     0x54,0x54,0x32,0x52,0x88,0x64,0x84,0x58,
  15.         0x54,0x12,0x22,0x34,0x22,0x12,0x28,0x04,0x04,
  16.         0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58,
  17.         0x54,0x22,0x32,0x46,0xB2,0x18,0x04,0x04,
  18.         0x64,0x84,0x88,0x74,0x62,0x72,0x88,
  19.         0x62,0x72,0x82,0x62,0x62,0x52,0x32,0x12,0x28,0x04,0x04,
  20.         0x54,0x32,0x52,0x86,0x72,0x64,0x84,0x58,
  21.         0x54,0x22,0x32,0x46,0xB2,0x18,0x04,0x04,
  22.         0xFF
  23. };
  24. unsigned char code cuzhi[]={
  25.     0xFF,0xFF,                //                          low                mid             high
  26.         0xFC,0x44,                //1      ##  5 6 7  1 2 3 4 5 6 7  1 2 3
  27.         0xFC,0xAC,                //2                 ##         D C B  1 2 3 4 5 6 7  8 9 A
  28.         0xFD,0x09,                //3
  29.         0xFD,0x34,                //4
  30.         0xFD,0x82,                //5
  31.         0xFD,0xC8,                //6
  32.         0xFE,0x06,                //7
  33.         0xFE,0x2A,                //8 --high 1         N = 470;
  34.         0xFE,0x48,                //9 --hign 2         N = 440;
  35.         0xFE,0x66,      //A --hign 3         N = 410;
  36.         0xFC,0x0C                //B---low  7         N = 1012
  37. };       
  38. void delay1ms(unsigned char z);        //延時(shí)1MS
  39. void delay125ms(unsigned char z);        //延時(shí)165MS,即十六分音符
  40. void sing();
  41. main()
  42. {
  43.         EA=1;//開總中斷
  44.     TMOD=0x10;//定時(shí)器1工作在方式1
  45.         TH1=0;
  46.         TL1=0;
  47.         ET1=1;
  48.         while(1)
  49.         {
  50.                 sing();
  51.             delay1ms(1000);
  52.         }
  53. }

  54. void sing()
  55. {
  56.     unsigned char temp;
  57.         unsigned char jianpu;   
  58.         unsigned int i = 0;
  59.         static unsigned char thesong = 0;
  60.         while(1)
  61.         {       
  62.                 switch(thesong)
  63.                 {
  64.                    case 0:temp = song1[i];break;
  65.                    case 1:temp = song2[i];break;
  66.                    default:break;
  67.                 }
  68.                 if(temp == 0xFF)
  69.                   break;
  70.                 jianpu = (temp>>4); //取數(shù)的高4位
  71.                 if(jianpu != 0)                //不是休止符
  72.                 {
  73.                   T1TH = cuzhi[jianpu*2];
  74.                   T1TL = cuzhi[jianpu*2+1];
  75.                 }               //查表找初值
  76.                 else                        //jp = 0,休止符
  77.                   { TR1 = 0;BUZZ = 1; }        //關(guān)蜂鳴器
  78.                 delay125ms( temp & 0x0F ); //取數(shù)的低4位
  79.                 TR1 = 0;         //唱完一個(gè)音停10MS
  80.                 BUZZ = 1;
  81.                 delay1ms(10);
  82.                 TR1 = 1;
  83.                 i++;
  84.         }
  85.         TR1 = 0;
  86.         BUZZ = 1;
  87.         thesong++;
  88.         if(thesong >=2)
  89.            thesong = 0;
  90. }
  91. void delay125ms(unsigned char z)        //延時(shí)165MS,即十六分音符
  92. {       
  93.     unsigned int x,y;
  94.         for(x=z;x>0;x--)
  95.                  for(y=15000;y>0;y--);
  96. }

  97. void delay1ms(unsigned char z)        //延時(shí)1MS
  98. {       
  99.     unsigned int x,y;
  100.         for(x=z;x>0;x--)
  101.                  for(y=112;y>0;y--);
  102. }
  103. void timer1() interrupt 3         //用于產(chǎn)生各種音調(diào)
  104. {
  105.         TH1=T1TH;
  106.         TL1=T1TL;
  107.     BUZZ = ~BUZZ;
  108. }
復(fù)制代碼

制作資料下載:
【BrightBell】基于51單片機(jī)的簡(jiǎn)易電子琴.rar (9.67 MB, 下載次數(shù): 331)

為大家省點(diǎn)黑幣,上百度云。。。
鏈接:http://pan.baidu.com/s/1skoeFkp 密碼:x9v5


評(píng)分

參與人數(shù) 9黑幣 +98 收起 理由
chtom + 5 贊一個(gè)!
wy1326682790 + 1 很給力!
點(diǎn)點(diǎn)天地心 + 5 很給力!
t1769024410 + 5 贊一個(gè)!
2429958788 + 5 很給力!
tieq1952 + 10 很給力!
姬宮涅 + 5 很給力!
持勤補(bǔ)拙 + 12 很給力!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:120004 發(fā)表于 2016-5-14 17:26 | 只看該作者
謝謝大哥!!
回復(fù)

使用道具 舉報(bào)

板凳
ID:99130 發(fā)表于 2016-6-7 16:40 | 只看該作者
樓主,你這里貼的程序和資料包里的不一樣,哪個(gè)是你現(xiàn)在視頻里用的?
回復(fù)

使用道具 舉報(bào)

地板
ID:99130 發(fā)表于 2016-6-7 17:10 | 只看該作者
假設(shè)定義左邊第一個(gè)音的按鍵為K1,然后以此類推,K1是接的單片機(jī)的1腳???然后以此類推?
回復(fù)

使用道具 舉報(bào)

5#
ID:101749 發(fā)表于 2016-6-8 07:54 | 只看該作者
越快樂越墮落 發(fā)表于 2016-6-7 16:40
樓主,你這里貼的程序和資料包里的不一樣,哪個(gè)是你現(xiàn)在視頻里用的?

一樣的哦,資料包里的是全部的,貼出來的只是其中一小部分
回復(fù)

使用道具 舉報(bào)

6#
ID:101749 發(fā)表于 2016-6-8 08:03 | 只看該作者
越快樂越墮落 發(fā)表于 2016-6-7 17:10
假設(shè)定義左邊第一個(gè)音的按鍵為K1,然后以此類推,K1是接的單片機(jī)的1腳???然后以此類推?

是的,那時(shí)候是這樣定義的:
/********************************************
                 定義各口
*********************************************/
sbit BUZZ = P2^0;      //蜂鳴器連續(xù)的IO口
sbit led0 = P0^0;                   //各LED小燈
sbit led1 = P0^1;
sbit led2 = P0^2;
sbit led3 = P0^3;
sbit led4 = P0^4;
sbit led5 = P0^5;
sbit led6 = P0^6;
sbit led7 = P0^7;
sbit ledF = P3^7;     //功能指示燈(處于演奏狀態(tài)時(shí)亮
sbit key0 = P1^0;                        //各按鍵
sbit key1 = P1^1;
sbit key2 = P1^2;
sbit key3 = P1^3;
sbit key4 = P1^4;
sbit key5 = P1^5;
sbit key6 = P1^6;
sbit key7 = P1^7;
sbit keyF = P3^2;                        //功能切換鍵——外中斷0端口
回復(fù)

使用道具 舉報(bào)

7#
ID:125848 發(fā)表于 2016-6-8 17:20 | 只看該作者
電阻都是多大的,求解
回復(fù)

使用道具 舉報(bào)

8#
ID:101749 發(fā)表于 2016-6-8 19:27 | 只看該作者
陌文 發(fā)表于 2016-6-8 17:20
電阻都是多大的,求解

都是常規(guī)的,,,,,,不好細(xì)說,找個(gè)最小系統(tǒng)類比一下就成
回復(fù)

使用道具 舉報(bào)

9#
ID:99130 發(fā)表于 2016-6-8 21:46 | 只看該作者
陌文 發(fā)表于 2016-6-8 17:20
電阻都是多大的,求解

10K 1K 4K7 10K排阻
回復(fù)

使用道具 舉報(bào)

10#
ID:125848 發(fā)表于 2016-7-25 13:03 | 只看該作者

好的,謝謝了
回復(fù)

使用道具 舉報(bào)

11#
ID:142220 發(fā)表于 2016-10-10 17:56 | 只看該作者
就是可以問一下,為什么制作資料上面的程序和您上面的不太對(duì)應(yīng)吧?可以告知一下嗎??
回復(fù)

使用道具 舉報(bào)

12#
ID:89286 發(fā)表于 2017-1-13 22:42 | 只看該作者
thanks. i like it
回復(fù)

使用道具 舉報(bào)

13#
ID:256850 發(fā)表于 2017-12-3 17:10 | 只看該作者
最近也做了一個(gè)   不知道那邊出問題了  先看看  無奈  其次謝謝
回復(fù)

使用道具 舉報(bào)

14#
ID:259956 發(fā)表于 2017-12-10 23:33 | 只看該作者
大佬能私發(fā)你一下嗎?我郵箱859197408@qq.com
回復(fù)

使用道具 舉報(bào)

15#
ID:255823 發(fā)表于 2017-12-12 13:10 | 只看該作者
謝謝主樓分享
回復(fù)

使用道具 舉報(bào)

16#
ID:256174 發(fā)表于 2017-12-12 15:14 | 只看該作者
樓主那個(gè)蜂鳴器用的是有源的還是無源的?
回復(fù)

使用道具 舉報(bào)

17#
ID:227688 發(fā)表于 2017-12-22 15:52 | 只看該作者
老哥   你是用的什么譜曲軟件?     我用名為樂譜編輯這個(gè)軟件編出來的音樂代碼放在你就一通亂響。。。
回復(fù)

使用道具 舉報(bào)

18#
ID:227688 發(fā)表于 2017-12-22 15:54 | 只看該作者
老哥  你是用的什么譜曲軟件?   我用名為樂譜編輯的軟件編出來的音樂代碼放在你這程序行不通,就一通亂響。。。
回復(fù)

使用道具 舉報(bào)

19#
ID:252405 發(fā)表于 2017-12-25 17:42 | 只看該作者
資料上的程序也不全吧?、

回復(fù)

使用道具 舉報(bào)

20#
ID:266206 發(fā)表于 2017-12-25 20:35 | 只看該作者
感謝,擼主很棒
回復(fù)

使用道具 舉報(bào)

21#
ID:253767 發(fā)表于 2017-12-26 14:55 | 只看該作者
這是真正的學(xué)習(xí)成果。支持。
回復(fù)

使用道具 舉報(bào)

22#
ID:264401 發(fā)表于 2017-12-26 16:29 | 只看該作者
樓主好人啊
回復(fù)

使用道具 舉報(bào)

23#
ID:227688 發(fā)表于 2017-12-27 11:11 | 只看該作者
214shiyanshi 發(fā)表于 2017-12-25 17:42
資料上的程序也不全吧?、

全啊    不過要自己發(fā)現(xiàn)如何去編寫音樂代碼    我已經(jīng)發(fā)現(xiàn)了   哈哈    現(xiàn)在編了一首超級(jí)瑪麗的背景音樂   超動(dòng)感
回復(fù)

使用道具 舉報(bào)

24#
ID:267347 發(fā)表于 2017-12-28 12:29 | 只看該作者
可以!很給力!!
回復(fù)

使用道具 舉報(bào)

25#
ID:333298 發(fā)表于 2018-5-18 21:46 | 只看該作者
大佬,百度云沒了餒,資料可以私發(fā)我郵箱一下嗎?935662325@qq.com   非常感謝噠
回復(fù)

使用道具 舉報(bào)

26#
ID:339722 發(fā)表于 2018-5-28 14:23 | 只看該作者

能私發(fā)一下嗎?我郵箱2388549835@qq.com
回復(fù)

使用道具 舉報(bào)

27#
ID:339722 發(fā)表于 2018-5-28 14:24 | 只看該作者

大佬,百度云沒了餒,資料可以私發(fā)我郵箱一下嗎?2399549835@qq.com   非常感謝噠
回復(fù)

使用道具 舉報(bào)

28#
ID:340296 發(fā)表于 2018-5-29 08:47 | 只看該作者
大佬百度鏈接過期了
回復(fù)

使用道具 舉報(bào)

29#
ID:340296 發(fā)表于 2018-5-29 08:53 | 只看該作者
大佬能發(fā)我一下嗎?2429958788@qq.com

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
小屁孩1 + 5 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

30#
ID:340296 發(fā)表于 2018-5-29 08:59 | 只看該作者
大佬,6666666

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
小屁孩1 + 5 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

31#
ID:341470 發(fā)表于 2018-5-30 16:50 | 只看該作者
大佬,百度云鏈接過期了,能否發(fā)給我一下,1769024410@qq.com
回復(fù)

使用道具 舉報(bào)

32#
ID:341470 發(fā)表于 2018-5-30 16:52 | 只看該作者
大佬,百度云失效了,資料可以私發(fā)我郵箱一下嗎?1769024410@qq.com   非常感謝噠
回復(fù)

使用道具 舉報(bào)

33#
ID:343095 發(fā)表于 2018-6-1 20:55 來自觸屏版 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

34#
ID:345016 發(fā)表于 2018-6-4 21:56 | 只看該作者
大佬,能不能私發(fā)一下,1972411722@qq.com  ,謝謝樓主!
回復(fù)

使用道具 舉報(bào)

35#
ID:345345 發(fā)表于 2018-6-5 13:06 | 只看該作者
用了幾個(gè)中斷呀
回復(fù)

使用道具 舉報(bào)

36#
ID:276930 發(fā)表于 2018-6-7 13:01 | 只看該作者
厲害了,圍觀一下
回復(fù)

使用道具 舉報(bào)

37#
ID:347534 發(fā)表于 2018-6-8 13:26 | 只看該作者
作者還有鏈接分享嗎,我急需呀
回復(fù)

使用道具 舉報(bào)

38#
ID:347534 發(fā)表于 2018-6-8 15:36 | 只看該作者

大佬,能不能私發(fā)一下,1142844609@foxmail.com  ,謝謝樓主!
回復(fù)

使用道具 舉報(bào)

39#
ID:348432 發(fā)表于 2018-6-10 08:22 | 只看該作者
大佬還有鏈接嗎??,,511889585@qq.com  謝謝!
回復(fù)

使用道具 舉報(bào)

40#
ID:354153 發(fā)表于 2018-6-19 12:31 | 只看該作者
百度云已經(jīng)失效  能不能發(fā)到我郵箱樓主:2388799017@qq.com
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品乱码8久久久久久日本 | 亚洲视频一区在线观看 | 一级在线免费观看 | 人人干人人干人人干 | 国产特级毛片 | 啪啪毛片 | 精品一区二区三区不卡 | 国产亚洲精品久久19p | 日本亚洲欧美 | 黄色毛片一级 | 最新免费黄色网址 | 天堂视频一区 | 亚洲av一级毛片 | 亚洲精品乱码久久久久久按摩观 | 国产精品久久久久久久久 | 99re99| 日韩中文字幕 | 米奇7777狠狠狠狠视频 | 日日操操操 | 中文字幕欧美一区 | 欧产日产国产精品v | www.国产日本 | 日韩免费 | 欧美9999| 九色av | 久久国产精品精品国产色婷婷 | 午夜ww | 成人深夜福利 | 天天看天天干 | 亚洲欧美日韩电影 | 天天操夜夜爽 | 成人动慢 | 欧美精品久久久久久久久久 | 国产亚洲网站 | 男女一区二区三区 | 久久久爽爽爽美女图片 | 1204国产成人精品视频 | 中文字幕蜜臀 | www.成人.com | 亚洲国产欧美一区二区三区久久 | 欧美在线一区二区三区 |