欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2847|回復: 3
打印 上一主題 下一主題
收起左側

求助大神,這個單片機驅動蜂鳴器唱歌程序為什么不能發聲音?

[復制鏈接]
跳轉到指定樓層
樓主



  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. sbit key1=P3^2;//按key1可切換下一曲
  5. sbit key2=P3^3;//按key2可切換上一曲
  6. sbit speaker=P3^7;//揚聲器輸出口

  7. char count;//歌曲標志        
  8. uchar timeh,timel,i,k=0,counter=0;//用到的各個變量
  9. uchar code  graph[] =  //8*8點陣動態圖數據
  10. {
  11.         0x00,0x82,0x82,0x86,0xA6,0xB7,0xFF,0xFF,
  12.         0x00,0x00,0x00,0x10,0x12,0x9B,0xBF,0xFF,
  13.         0x00,0x00,0x00,0x80,0xCA,0xEE,0xFF,0xFF,
  14.         0x42,0x42,0x52,0x52,0x73,0x7B,0xFB,0xFF,
  15.         0x42,0x42,0x66,0x76,0xFE,0xFF,0xFF,0xFF,
  16.         0x04,0x04,0x44,0x4E,0x4E,0x7F,0xFF,0xFF,
  17.         0x08,0x88,0x8A,0x8E,0xAE,0xFF,0xFF,0xFF,
  18.         0x10,0x10,0x12,0x1A,0x1A,0x9B,0xFF,0xFF,
  19. };
  20. //————————————寂寞沙洲冷————————————//
  21. uchar code jmszl[]={
  22.         0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,
  23.         //自你走后心憔悴
  24.         0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,
  25.         //白色油桐風中紛飛
  26.         0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,
  27.         //落花似人有情 這個季節
  28.         0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,
  29.         //河畔的風放肆拼命地吹
  30.         0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63,
  31.         //不斷撥弄離人的眼淚
  32.         0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,
  33.         //那樣濃烈的愛再也無法給
  34.         0x22,0x12,0x11,0x12,0x11,0x12,0x12,0x14,0x26,0x32,0x26,
  35.         //傷感一夜一夜
  36.         0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,
  37.         //當記憶的線纏繞過往支離破碎
  38.         0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,
  39.         //是慌亂占據了心扉                                                                                                                                 
  40.         0x31,0x81,0x81,0x81,0x61,0x91,0x82,
  41.         //有花兒伴著蝴蝶
  42.         0x51,0x51,0x51,0x51,0x31,0x61,0x53,
  43.         //孤雁可以雙飛        
  44.         0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,
  45.         //夜深人靜獨徘徊
  46.         0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,
  47.         //當幸福戀人寄來紅色分享喜悅
  48.         0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,
  49.         //閉上雙眼難過頭也不敢回
  50.         0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,
  51.         //仍然撿盡寒枝不肯安歇微帶著后悔
  52.         0x21,0x31,0x51,0x31,0x21,0x11,0x61,0x21,0x16,0xff
  53.         //寂寞沙洲我該思念誰
  54. };
  55. //—————————————————勞動最光榮———————————————————//
  56. uchar code ldzgr[]=
  57. {
  58.         0x52,0x82,0x82,0x52,0x62,0x62,0x54,0x32,0x52,0x12,0x32,0x28,
  59.         //太陽光,金亮亮,雄雞唱三唱;
  60.         0x52,0x84,0x52,0x62,0x62,0x54,0x52,0x81,0xA1,0x92,0x52,0x88,
  61.         //花兒 醒來了,鳥兒忙梳妝
  62.         0x83,0x91,0x82,0x52,0x62,0x62,0x54,0x33,0x81,0x62,0x52,0x12,0x32,0x24,
  63.         //小喜鵲 造新房,小蜜蜂 采蜜糖
  64.         0x12,0x11,0x21,0x32,0x51,0x51,0x62,0x52,0x84,0x82,0x51,0x61,0x84,0xA4,0x92,
  65.         0x52,0x86,0x02,
  66.         //幸福的生活從哪里來?要靠勞動來創造
  67.         0x52,0x81,0x81,0x82,0x52,0x62,0x61,0x81,0x54,0x32,0x51,0x61,0x53,0x31,0x12,
  68.         0x32,0x24,
  69.         //青青的葉兒 紅紅的花,小蝴蝶 貪玩耍
  70.         0x52,0x82,0x82,0x52,0x62,0x62,0x54,0x51,0x61,0x81,0xA1,0x92,0x52,0x88,
  71.         //不愛勞動 不學習,我們大家不學它
  72.         0x83,0x91,0x82,0x52,0x62,0x62,0x54,0x33,0x81,0x62,0x52,0x12,0x32,0x24,
  73.         //要學喜鵲 造新房,要學蜜蜂 采蜜糖
  74.         0x12,0x11,0x21,0x32,0x52,0x82,0x52,0x68,0x52,0x61,0x61,0x84,0xA4,0x92,0x52,
  75.         0x84,0xff//歌曲結束符號
  76.         //勞動的快樂 說不盡,勞動的創造 最光榮
  77. };
  78. //—————————————————唯一——————————————————//
  79. uchar code wy[]=
  80. {         
  81.         0x04,0x43,0x43,0x43,0x33,0x23,0x13,0x33,0x54,0x83,0x83,0x93,0xA3,0x92,0x81,
  82.         0x63,0x62,0xA3,0x93,0x83,0x96,0x04,0x04,
  83.         //最近我無法呼吸,連自己的影子也都想逃避
  84.         0xA4,0x94,0x82,0x82,0x82,0x52,0x82,0x92,0xA4,
  85.         //Ba By 你就是我的唯一
  86.         0x72,0x72,0x72,0x52,0x72,0x82,0x94,0x04,0xA2,0xA2,0xB2,0xA2,0x82,0x92,
  87.         //兩個世界都變心,回去談何容易
  88.         0x04,0xA4,0x94,0x82,0x82,0x82,0x52,0x82,0x92,0xA4,
  89.         //確定 你就是我的唯一
  90.         0x72,0x72,0x72,0x52,0x72,0x82,0x92,0xA2,0x84,0x64,0x03,0x51,0xB2,0xA2,0x82,
  91.         0x61,0x51,
  92.         //獨自對著電話說我愛你,我真的愛你
  93.         0x04,0xA4,0x94,0x82,0x82,0x82,0x82,0x72,0x82,0x52,0x32,0x68,
  94.         //BABY 我已不能多愛你一些
  95.         0x02,0xA4,0x94,0x82,0x82,0x82,0x82,0x72,0x82,0x54,0x42,0x66,0xff
  96.         //其實 早已超過了愛的極限
  97. };
  98. //————————————————同桌的你——————————————————//
  99. uchar code tzdn[]=
  100. {
  101.         0x52,0x52,0x52,0x52,0x32,0x42,0x56,0x86,0x62,0x62,0x62,0x62,0x42,0x62,0x56,
  102.         0x04,
  103.         //明天你是否會想起,昨天你寫的日記
  104.         0x52,0x52,0x52,0x52,0x72,0x62,0x52,0x44,0x02,0x42,0x42,0x42,0x42,0x33,0x21,
  105.         0x16,0x02,
  106.         //明天你是否還惦記,曾經最愛哭的你
  107.         0x82,0x82,0x82,0x82,0x52,0x32,0x86,0x82,0xA4,0x92,0x92,0x92,0x93,0x81,0x72,
  108.         0x66,0x02,
  109.         //誰娶了多愁善感的你,誰看了你的日記
  110.         0x72,0x72,0x72,0x72,0x72,0x82,0x96,0x54,0x02,0x72,0x72,0x82,0x92,0x82,0x72,
  111.         0x16,0x02,
  112.         //誰把你的長發盤起,誰給你做的嫁衣
  113.         0x84,0x82,0x82,0x52,0x62,0x86,0xA6,0x94,0x92,0x92,0x82,0x72,0x66,0x74,0x72,
  114.         0x72,0x72,0x82,0x96,0x56,
  115.         //啦……,啦……,啦……
  116.         0x72,0x72,0x82,0x92,0x82,0x72,0x86,0x94,0x92,0x92,0x62,0x72,0x96,0xB6,0x94,
  117.         0x92,0x92,0x82,0x72,0x66,
  118.         //啦……,啦……,啦……
  119.         0x72,0x72,0x72,0x72,0x72,0x82,0x96,0x56,0x72,0x72,0x82,0x92,0x82,0x72,0x96,
  120.         0x86,0xff
  121.         //啦……,啦……,啦……,啦……
  122. };
  123. //———————————————小小葫蘆娃—————————————————//
  124. uchar code hlw[]=
  125. {
  126.         0x12,0x12,0x35,0x11,0x12,0x31,0x02,
  127.         //葫蘆娃,葫蘆娃
  128.         0x62,0x62,0x61,0x51,0x62,0x51,0x12,0x31,0x02,
  129.         //一根藤上七朵花
  130.         0x81,0x61,0x61,0x51,0x65,0x51,0x12,0x21,0x02,
  131.         //風吹雨打都不怕
  132.         0x75,0x51,0x32,0x58,
  133.         //啦啦啦啦
  134.         0x81,0x01,0x61,0x61,0x51,0x51,0x62,0x61,0x01,
  135.         //叮當當冬冬當當
  136.         0x52,0x11,0x32,0x02,0x81,0x01,0x61,0x61,0x51,0x51,0x61,0x61,0x01,0x51,0x11,
  137.         0x22,0x02,
  138.         //葫蘆娃,叮當當冬冬當當,七朵花
  139.         0x35,0x11,0x62,0x18,
  140.         //啦啦啦啦
  141.         0x31,0x52,0x61,0x31,0x52,0x61,
  142.         //葫蘆娃,葫蘆娃
  143.         0x85,0x01,0x71,0x52,0x65,0x02,0xff
  144.         //七朵花
  145. };
  146. //————————————————千年之戀        ————————————————//
  147. uchar code qnzl[]=
  148. {         
  149.         0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
  150.         //竹林的燈火 到過的沙漠
  151.          0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,
  152.         //七色的國度 不斷飄逸風中
  153.          0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,
  154.         //有一種神秘 灰色的旋渦
  155.          0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,
  156.         //將我卷入了迷霧中
  157.          0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,
  158.         //看不清的雙手
  159.          0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,
  160.         //一朵花傳來誰經過的溫柔
  161.          0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,
  162.         //穿越千年的傷痛
  163.          0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
  164.         //只為求一個結果
  165.          0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
  166.         //你留下的輪廓 指引我
  167.          0x42,0x63,0x83,0x83,0x91,0x91,
  168.         //黑夜中不寂寞
  169.          0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,
  170.         //穿越千年的哀愁
  171.          0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,
  172.         //是你在盡頭等我
  173.          0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,
  174.         //最美麗的感動 會值得
  175.          0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff//結束標志
  176.         //用一生守候
  177. };

  178. //簡譜音調對應的定時器初值,適合11.0592M的晶振
  179. uchar code cuzhi[]={256,293,329,349,392,440,494,523,586,658,697,783,879,987};
  180. void delay(uint z)        //延時165MS,即十六分音符
  181. {        
  182.         uint x,y;
  183.         for(x=z;x>0;x--)
  184.                  for(y=13333;y>0;y--);
  185. }         
  186. void delay1(uint z)        //延時1MS
  187. {        
  188.         uint x,y;
  189.         for(x=z;x>0;x--)
  190.                  for(y=120;y>0;y--);
  191. }
  192. void timer0() interrupt 1         //定時器0,用于產生各種音調
  193. {
  194.         TH0=timeh;
  195.         TL0=timel;
  196.         speaker=~speaker;
  197. }
  198. void song()         //播放歌曲函數
  199. {
  200.         uint temp;
  201.         uchar jp;//jp是簡譜   
  202.         i=0;
  203.         temp=tzdn[i];        //同桌的你        
  204.         jp=temp/16; //取數的高4位
  205.                 if(jp!=0)
  206.                 {
  207.                 timeh=(65536-1/cuzhi[jp])/256;
  208.                 timel=(65536-1/cuzhi[jp])%256;
  209.                 }
  210.                 else
  211.                 {
  212.                 TR0=0;
  213.                 speaker=1;//關揚聲器
  214.                 }
  215.                 delay(temp%16); //取數的低4位
  216.                 TR0=0;         //唱完一個音停10MS
  217.                 speaker=1;
  218.                 delay1(10);
  219.                 TR0=1;
  220.                 i++;
  221. }

  222. void main()
  223. {        
  224.         count=0;//不唱歌
  225.         TMOD=0x11;//定時器工作方式
  226.         TH0=0;
  227.         TL0=0; //定時器0賦初值
  228.         ET0=1;        //定時器0溢出中斷使能
  229.         TR1 = 1; //開始計時
  230.         ET1 = 1;  //定時器1溢出中斷使能
  231.         while(1)
  232.         {
  233.                 song();        
  234.                 delay1(1000);
  235.         }                                 
  236. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:413605 發表于 2018-11-4 23:19 | 只看該作者
看你是有源的,還是無源的,有源的只需要提供電壓就能發聲,無源的除了提供電壓外還要一定頻率的脈沖才行。
回復

使用道具 舉報

板凳
ID:164602 發表于 2018-11-5 08:08 | 只看該作者
你知道蜂鳴器發聲音需要多少電流嗎?你知道單片機IO口的電流有多大嗎?中學物理(怕你大學不學物理,所以只說中學物理)上講過的功率你還記得嗎?呵呵
給你一個電路看看,想想吧。單片機不僅僅只玩程序,還要玩硬件的,沒有基本知識,沒法玩哦。


三極管在這里就是為了放大電流,讓蜂鳴器工作的。
回復

使用道具 舉報

地板
ID:319023 發表于 2018-11-5 09:47 | 只看該作者
是要看硬件的,軟硬件聯調才行。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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