51单片机蜂鸣器之《东西》

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit voice=P1^5;
uchar code sound[]={0xff,
                    0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,
                    0x2b,0x20,0x26,0x20,0x26,0x20,0x2b,0x20,0xff,0x20,0x2b,0x20,0x30,0x20,
                    0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,
                    0x30,0x20,0x2b,0x20,0x2b,0x20,0x30,0x20,0xff,0x20,0x30,0x20,0x2b,0x20,
                    0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,
                    0x2b,0x20,0x26,0x20,0x26,0x20,0x2b,0x20,0xff,0x20,0x2b,0x20,0x30,0x20,
                    0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,
                    0x30,0x20,0x20,0x20,0x20,0x20,0x26,0x20,0xff,0x20,0xff,0x20,0x26,0x20,
                    0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,
                    0x26,0x20,0x26,0x20,0x26,0x20,0x2b,0x20,0xff,0x20,0x2b,0x20,0x30,0x20,
                    0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,
                    0x30,0x20,0x2b,0x20,0x2b,0x20,0x30,0x20,0xff,0x20,0x30,0x20,0x2b,0x20,
                    0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,0x2b,0x20,0x26,0x20,
                    0x2b,0x20,0x26,0x20,0x2b,0x20,0x2b,0x20,0xff,0x20,0x2b,0x20,0x30,0x20,
                    0x2b,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x2b,0x20,0x2b,0x20,0x30,0x20,
                    0xff,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x39,0x20,0x40,0x20,0x39,0x20,
                    0x30,0x20,0x2b,0x20,0xff,0x20,0x30,0x20,0x26,0x20,0x26,0x20,0x2b,0x20,
                    0x30,0x20,0x30,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x39,0x20,0x40,0x20,
                    0x39,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x20,0x20,0x26,0x20,0xff,0x20,
                    0xff,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x39,0x20,0x40,0x20,0x39,0x20,
                    0x30,0x20,0x2b,0x20,0xff,0x20,0x30,0x20,0x2b,0x20,0x30,0x20,0x20,0x20,
                    0x26,0x20,0x2b,0x20,0x30,0x20,0xff,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,
                    0x20,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x39,0x20,0x40,0x20,0x30,0x20,
                    0xff,0x20,0x00,
                   };
uchar zdjs=0, jp;
del(yj);
void main(void)
  {
      uint dpjs=0;
      uchar yj;
      TMOD=0x01,IE=0x82;
      TH0=0xd8, TL0=0xef;
   TR0=1;
while(1)
   {  
      zdjs=0;
      dpjs++; yj=sound[dpjs]; 
     dpjs++; jp=sound[dpjs];
   while(zdjs!=jp)
       { 
      if(yj!=0xff)
   {
             if(yj!=0)
               {
             voice=!voice;
                 del(yj);
                }
                else
          {
          dpjs=0; 
                      break;
                     }
    }
    else
      {
        voice=0;
                 del(jp);
    }
      }
       }
   }
time0() interrupt 1  using 1
      {
         TH0=0xd8, TL0=0xef;
         zdjs++;
           }
del(yj)
    {
      uchar yj2=2;
       while(yj!=0)
         {      
               while(yj2!=0)
                  {
                     yj2--;
                     }
                  yj2=2;
             yj--;  
       }
   
     }
原文地址:https://www.cnblogs.com/liangjinjie/p/10307353.html