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

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

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 19959|回復(fù): 24
收起左側(cè)

把妹利器 51單片機(jī)音樂(lè)盒 仿真+程序

  [復(fù)制鏈接]
ID:124161 發(fā)表于 2016-6-6 20:49 | 顯示全部樓層 |閱讀模式
電路介紹:

1.此項(xiàng)目采用51單片機(jī)實(shí)現(xiàn)音樂(lè)盒的功能,同時(shí)電路中采用模擬示波器,可以實(shí)時(shí)查看波形的變動(dòng)。

2.通過(guò)一個(gè)可調(diào)電阻實(shí)現(xiàn)音頻信號(hào)的音量大小

3.基于8歐姆/1w的喇叭作為音頻輸出部件


proteus仿真原理圖:
0.png

源代碼:
  1. #include<reg52.h>
  2. #include<intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. sbit SPK = P2^7;

  6. uchar tone_h;                //高音
  7. uchar tone_l;                //低音
  8. uint note = 1;                //音符
  9. uchar beat;                        //節(jié)拍

  10. uchar code chuzhi[3][16]={  //音調(diào)對(duì)應(yīng)的計(jì)數(shù)初值
  11.          0xff,0xff,//占0位
  12.          0xf8,0x8c,//低1  
  13.          0xf9,0x5b,//  2                 
  14.          0xfa,0x15,//  3                 
  15.          0xfa,0x67,//  4                 
  16.          0xfb,0x04,//  5                 
  17.          0xfb,0x90,//  6                 
  18.          0xfc,0x0c,//低7
  19.         
  20.          0xff,0xff,//占0位
  21.          0xfc,0x44,//中1   
  22.          0xfc,0xac,//  2
  23.          0xfd,0x09,//  3
  24.          0xfd,0x34,//  4
  25.          0xfd,0x82,//  5
  26.          0xfd,0xc8,//  6
  27.          0xfe,0x06,//中7   
  28.         
  29.          0xff,0xff,//占0位
  30.          0xfe,0x22,//高1                           
  31.          0xfe,0x56,//        2               
  32.          0xfe,0x85,//        3               
  33.          0xfe,0x9a,//        4               
  34.          0xfe,0xc1,//        5               
  35.          0xfe,0xe4,//        6               
  36.          0xff,0x03 //高7                             
  37.         };        

  38. //****** 測(cè)試曲譜 ****** 個(gè)位:音調(diào) ,十位:低中高音 對(duì)應(yīng) 0 1 2,千百位:節(jié)拍 1~16
  39. uint code test2[] = {        120, //曲速 暫時(shí)未用到
  40.         401,402,403,404,405,406,407,
  41.         611,612,613,614,615,616,617,
  42.         821,822,823,824,825,826,827,
  43.         0xffff        //0xffff表示結(jié)尾
  44. };

  45. //****** 生日快樂(lè) ******
  46. uint code test[] = { 120,
  47.         205,205,406,405,411,807,
  48.         205,205,406,405,412,811,
  49.         205,205,415,413,411,407,406,
  50.         314,114,413,411,413,812,
  51.         305,105,406,405,411,807,
  52.         305,105,406,405,412,811,
  53.         305,105,415,413,411,
  54.         407,406,314,114,413,411,412,811,410,
  55.         0xffff        
  56. };
  57.         
  58. void delayms(uint ms)          /*ms 等于1時(shí),延時(shí)1ms 等于2時(shí),延時(shí)2ms,以此類推*/
  59. {        
  60.         uchar a,b,c;                                   //+3
  61.         while(ms--)
  62.     {
  63.          for(c=1;c>0;c--)                        //         1+2 = 3
  64.         for(b=142;b>0;b--)                  //        1*( 1+142*2)) = 285        
  65.             for(a=2;a>0;a--);        //         142*(1+2*2) = 710
  66.         }
  67. }

  68. void delay125ms(uint pai)  //延時(shí) ?*125ms 即?個(gè)節(jié)拍
  69. {
  70.     uchar a,b,c;
  71.         while(pai--)
  72.         {
  73.         for(c=239;c>0;c--)
  74.                 for(b=104;b>0;b--)
  75.                         for(a=1;a>0;a--);
  76.         }
  77. }
  78. void timer0() interrupt 1
  79. {
  80.         TH0 = tone_h;
  81.         TL0 = tone_l;
  82.         SPK = ~SPK;
  83. }


  84. void timer_init()
  85. {
  86.         EA = 1;
  87.         ET0 = 1;
  88.         PT0 = 1;
  89.         TMOD = 0x11;
  90.         TH0 = 255;
  91.         TL0 = 255;
  92. }
  93. void main()
  94. {        
  95.         timer_init();
  96.         note = 1;
  97.         
  98.         while(1)
  99.         {        
  100.                 if(test[note] == 0xffff)
  101.                 {        
  102.                         note = 1;
  103.                 }               
  104.                 if(test[note]%10 != 0)        //音調(diào)不為0 【音調(diào)為0時(shí)表示不發(fā)聲,但有節(jié)拍】
  105.                 {
  106.                         tone_h = TH0 = chuzhi[test[note]%100/10][(test[note]%10)*2 ];                //音調(diào)高位 【二維數(shù)組 第1維表示低中高音,第二維表示音調(diào)】
  107.                         tone_l = TL0 = chuzhi[test[note]%100/10][(test[note]%10)*2 + 1];        //音調(diào)低位
  108.                         TR0 = 1;
  109.                 }
  110.                 delay125ms(test[note]/100);        //節(jié)拍
  111.                 TR0 = 0;
  112.                 delayms(30);
  113.                 note++;                                                //下一個(gè)音符
  114.                
  115.         }
  116.         
  117. }
復(fù)制代碼
0.png


全部資料(壓縮包)下載:
原理圖和源代碼.rar (40.6 KB, 下載次數(shù): 239)




回復(fù)

使用道具 舉報(bào)

ID:125540 發(fā)表于 2016-6-6 23:55 來(lái)自觸屏版 | 顯示全部樓層
為啥我做的仿真沒(méi)聲音呢
回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2016-6-7 00:43 | 顯示全部樓層
心瘋揚(yáng) 發(fā)表于 2016-6-6 23:55
為啥我做的仿真沒(méi)聲音呢

波形窗口的變動(dòng)有嗎?
回復(fù)

使用道具 舉報(bào)

ID:156621 發(fā)表于 2016-12-23 20:10 | 顯示全部樓層
挺好的
回復(fù)

使用道具 舉報(bào)

ID:147799 發(fā)表于 2016-12-25 10:07 | 顯示全部樓層
不錯(cuò),有創(chuàng)意
回復(fù)

使用道具 舉報(bào)

ID:207728 發(fā)表于 2017-6-4 17:37 | 顯示全部樓層
感謝
回復(fù)

使用道具 舉報(bào)

ID:108247 發(fā)表于 2017-6-4 21:56 | 顯示全部樓層
好東西 頂一個(gè)~~
回復(fù)

使用道具 舉報(bào)

ID:209717 發(fā)表于 2017-6-10 00:31 | 顯示全部樓層
請(qǐng)問(wèn)怎么搞黑比?
回復(fù)

使用道具 舉報(bào)

ID:89286 發(fā)表于 2017-6-10 03:22 | 顯示全部樓層
thanks for sharing
回復(fù)

使用道具 舉報(bào)

ID:210830 發(fā)表于 2017-6-13 15:50 | 顯示全部樓層
很厲害
回復(fù)

使用道具 舉報(bào)

ID:256231 發(fā)表于 2017-12-1 19:13 | 顯示全部樓層
666可惜沒(méi)黑筆下載
回復(fù)

使用道具 舉報(bào)

ID:257483 發(fā)表于 2017-12-4 23:38 | 顯示全部樓層
請(qǐng)問(wèn)是所有的代碼?ma
回復(fù)

使用道具 舉報(bào)

ID:264319 發(fā)表于 2017-12-20 17:31 | 顯示全部樓層
這兩個(gè)錯(cuò)誤是為什么?
6A~Q5E2G5KBIV09{[H`SD9D.png
回復(fù)

使用道具 舉報(bào)

ID:350343 發(fā)表于 2018-6-13 19:56 | 顯示全部樓層
真心不錯(cuò)特好
回復(fù)

使用道具 舉報(bào)

ID:428618 發(fā)表于 2018-11-18 12:42 | 顯示全部樓層
無(wú)平日 發(fā)表于 2017-12-20 17:31
這兩個(gè)錯(cuò)誤是為什么?

配置下電源Vcc得電壓;design-》Configure Power Rails…
回復(fù)

使用道具 舉報(bào)

ID:424725 發(fā)表于 2018-11-18 15:18 | 顯示全部樓層
謝謝分析!
回復(fù)

使用道具 舉報(bào)

ID:436684 發(fā)表于 2018-12-2 16:42 來(lái)自觸屏版 | 顯示全部樓層
感謝  謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:437480 發(fā)表于 2018-12-3 08:12 來(lái)自觸屏版 | 顯示全部樓層
新手前來(lái)學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:438077 發(fā)表于 2018-12-3 08:42 | 顯示全部樓層
感謝  
回復(fù)

使用道具 舉報(bào)

ID:432200 發(fā)表于 2018-12-9 14:01 | 顯示全部樓層
放在開(kāi)發(fā)板上好像不行
回復(fù)

使用道具 舉報(bào)

ID:454669 發(fā)表于 2018-12-25 18:21 | 顯示全部樓層
好東西,學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

ID:637659 發(fā)表于 2019-11-13 11:44 | 顯示全部樓層
無(wú)平日 發(fā)表于 2017-12-20 17:31
這兩個(gè)錯(cuò)誤是為什么?

你把代碼燒進(jìn)去就行了
回復(fù)

使用道具 舉報(bào)

ID:673602 發(fā)表于 2019-12-25 16:00 | 顯示全部樓層
很不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:673602 發(fā)表于 2019-12-26 08:10 | 顯示全部樓層
不錯(cuò)很nice
回復(fù)

使用道具 舉報(bào)

ID:1028734 發(fā)表于 2022-5-24 15:28 | 顯示全部樓層
問(wèn)問(wèn)第十五行開(kāi)始chuzhi定義怎么來(lái)的
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 高清黄色网址 | 日韩免费视频 | 日本一本在线 | 中文字幕第一页在线 | 久久激情视频 | 国产1区2区 | 亚洲免费一区二区 | 国产综合久久久久久鬼色 | 国产成人综合一区二区三区 | 日韩三级在线观看 | 在线精品一区二区三区 | 日韩欧美在线观看 | 天天操夜夜爽 | 黄色在线观看国产 | 亚洲成人综合社区 | 中文字幕第90页 | 日韩一区二区三区在线观看视频 | 天天天天天天天干 | 伊人春色成人网 | 丁香婷婷综合激情五月色 | 久久久久国产 | 亚洲视频区 | 国内自拍偷拍 | 成人在线观看免费 | 亚洲国产精品久久 | 久久久久亚洲 | 国产精品久久久 | 欧美成人综合 | av资源中文在线天堂 | 国产1区2区在线观看 | 久久国产精品99久久久大便 | 久久久www成人免费无遮挡大片 | 天天干 夜夜操 | 久久91| 请别相信他免费喜剧电影在线观看 | 国产一区二区免费在线 | 99热最新 | 亚洲在线| 四虎永久影院 | 国产精品视频一区二区三区四区国 | 久久精品国产久精国产 |