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

QQ登錄

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

帖子
查看: 3576|回復(fù): 2
收起左側(cè)

生日快樂(lè)歌單片機(jī)C語(yǔ)言程序

[復(fù)制鏈接]
ID:116726 發(fā)表于 2016-4-26 10:23 | 顯示全部樓層 |閱讀模式


  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. sbit BEEP=P2^3;//接喇叭或蜂鳴器的接口
  5. uint h,i;
  6. uint hz;
  7. uchar jiep;
  8. bit flag;
  9. uint code fre[]={ 64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178,65217};
  10. uchar code song[]={6,9, 6,3, 7,12, 6,12, 9,12, 8,24, 6,9, 6,3, 7,12,
  11. 6,12, 10,12, 9,24, 6,9, 6,3, 13,12, 11,12, 8,12, 7,12,
  12. 12,9, 12,3, 11,12, 9,12, 10,12, 9,24}; //歌譜 2個(gè)一組(0,0)(音調(diào),節(jié)拍)

  13. void init () //初始化
  14. {
  15.         EA=1;
  16.         TMOD=0x11;
  17.         ET0=1;
  18.         ET1=1;
  19.         i=0;
  20.         flag=1;
  21. }

  22. void sing()
  23. {
  24.         if(flag==1)
  25.         {
  26.         h=song[i];
  27.         jiep=song[i+1];
  28.         i=i+2;
  29.         if(i>46)
  30.                 i=0;
  31.         hz=fre[h];
  32.         TH0=(hz)/256;
  33.         TL0=(hz)%256;
  34.         flag=0;
  35.         TR0=1;
  36.         TR1=1;
  37.         }
  38. }

  39. void main()
  40. {
  41.         init();
  42.         while(1)
  43.         {
  44.         sing();
  45.         }
  46. }

  47. void time0() interrupt 1 //定時(shí)器0
  48. {
  49.         TH0=(hz)/256;
  50.         TL0=(hz)%256;
  51.         if(!flag)
  52.                 BEEP=!BEEP;
  53.         else
  54.                 TR0=0;
  55. }

  56. void time1() interrupt 3
  57. {
  58.         TH1=(15536)/256;
  59.         TL1=(15536)%256;
  60.         --jiep;
  61.         if(jiep==0)
  62.         flag=1;
  63. }

復(fù)制代碼

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
WANGCHONG + 10 很給力!

查看全部評(píng)分

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

ID:116400 發(fā)表于 2016-4-26 12:47 | 顯示全部樓層
謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

ID:116400 發(fā)表于 2016-4-26 12:48 | 顯示全部樓層
謝謝樓主
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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