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

標題: 生日快樂歌單片機C語言程序 [打印本頁]

作者: 在清晨    時間: 2016-4-26 10:23
標題: 生日快樂歌單片機C語言程序


  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個一組(0,0)(音調,節拍)

  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 //定時器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. }

復制代碼

作者: WANGCHONG    時間: 2016-4-26 12:47
謝謝樓主的分享
作者: WANGCHONG    時間: 2016-4-26 12:48
謝謝樓主




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1