标题: 简易蜂鸣器播放音阶 [打印本页]

作者: 859    时间: 2018-6-28 16:46
标题: 简易蜂鸣器播放音阶
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. uchar i=0;
  6. sbit SPK = P1^3;
  7. sbit K1 = P3^5;
  8. uchar code HI_LIST[]=
  9. {
  10.         0,266,229,232,233,236,238,240,241,242,244,245,246,247,248

  11. };
  12. uchar code LO_LIST[]=
  13. {
  14.         0,4,13,10,20,3,8,6,2,23,5,26,1,4,3


  15. };

  16. void T0_INT() interrupt 1
  17. {
  18.         TL0 = LO_LIST[i];
  19.         TH0 = HI_LIST[i];
  20.         SPK = !SPK;
  21. }

  22. void DelayMS(uint ms)
  23. {
  24.         uchar t;
  25.         while(ms--)
  26.         {
  27.                  for(t=0;t<120;t++);
  28.         }
  29. }

  30. void main()
  31. {
  32.         IE = 0x82;
  33.         TMOD = 0x00;
  34.         while(1)
  35.         {
  36.                  while(K1==1);
  37.                 while(K1==0);
  38.                 for(i=1;i<15;i++)
  39.                 {
  40.                          TR0 = 1;
  41.                         DelayMS(500);
  42.                         TR0 = 0;
  43.                         DelayMS(50);
  44.                 }
  45.         }
  46. }
复制代码


点亮.zip

8.17 KB, 下载次数: 3, 下载积分: 黑币 -5

音阶播放






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1