找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機蜂鳴器《世上只有媽媽好》

[復(fù)制鏈接]
ID:1136663 發(fā)表于 2024-11-17 21:08 | 顯示全部樓層 |閱讀模式
  1. #include <reg52.h>   
  2. #define uchar unsigned char
  3. sbit      beep=P3^6;   
  4. uchar timer0h,timer0l,time;

  5.                      
  6. code uchar sszymmh[]={6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,5,2,1,
  7.                       6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,
  8.                       6,1,1,5,2,1,3,2,1,2,2,4,2,2,3,3,2,1,5,2,2,
  9.                       5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,
  10.                       2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0
  11.                                       };
  12.                      
  13. code uchar FREQH[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,
  14.                     0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i
  15.                     0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,
  16.                     0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,} ;
  17.                      
  18. code uchar FREQL[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,
  19.                     0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i
  20.                     0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,
  21.                     0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};
  22. void delay(uchar t)      
  23. {
  24.         uchar t1;
  25.         unsigned long t2;
  26.         for(t1=0;t1<t;t1++)
  27.         {
  28.                 for(t2=0;t2<8000;t2++);
  29.         }
  30.         TR0=0;
  31. }
  32. void song()        
  33. {
  34.         TH0=timer0h;
  35.         TL0=timer0l;
  36.         TR0=1;
  37.         delay(time);                       
  38. }


  39. void main(void)
  40. {
  41.         uchar k,i;
  42.         TMOD=1;
  43.         EA=1;
  44.         ET0=1;      
  45.         while(1)
  46.         {
  47.                 i=0;  
  48.                 while(i<100)  
  49.                 {              
  50.                         k=sszymmh[i]+7*sszymmh[i+1]-1;
  51.                         timer0h=FREQH[k];
  52.                         timer0l=FREQL[k];
  53.                         time=sszymmh[i+2];
  54.                         i=i+3;
  55.                         song();
  56.                 }
  57.         }
  58. }
  59. void t0int() interrupt 1
  60. {
  61.         TR0=0;
  62.         beep=!beep;
  63.         TH0=timer0h;
  64.         TL0=timer0l;
  65.         TR0=1;
  66. }
復(fù)制代碼


回復(fù)

使用道具 舉報

ID:961114 發(fā)表于 2024-12-4 09:39 | 顯示全部樓層
51hei20241204-093825.png
84-USB錄放音聲卡-TLV320AIC23B-內(nèi)部36.864M-外接32768Hz晶振.zip (502.19 KB, 下載次數(shù): 0)
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表