`
hzy3774
  • 浏览: 985432 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

C51使用P1^0口放一曲爱情买卖

阅读更多
#include <STC89.H>
#define uchar unsigned char
 
sbit beepIO=P1^0;
uchar m,n; 
uchar code T[49][2]={{0,0},
{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},
{0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},
{0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},
{0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81}
};
 
uchar code music[][2]={{0,4},
{22,4},{22,4},{17,4},{15,4},{15,4},{17,12},
{15,4},{15,2},{17,2},{15,4},{13,4},{13,4},{15,12},{0,4},
{20,4},{20,4},{20,4},{17,4},{20,4},{20,4},{20,4},{17,4},
{22,4},{17,4},{17,4},{15,4},{15,4},{17,12},
{22,4},{22,4},{17,4},{15,4},{15,4},{17,12},
{15,4},{15,2},{17,2},{15,4},{13,4},{13,4},{15,12},
{20,4},{20,4},{20,2},{17,2},{17,4},{20,4},{20,4},{20,2},{17,2},{17,2},{17,2},
{24,4},{20,4},{20,2},{17,2},{17,4},{20,4},{22,12},
{17,4},{22,4},{25,4},{25,4},{17,4},{22,4},{25,8},
{24,4},{22,2},{24,2},{22,4},{20,4},{15,4},{17,12},
{15,4},{15,4},{15,4},{10,4},{15,4},{17,4},{20,8},
{17,4},{24,4},{24,4},{20,4},{15,4},{17,12},
{17,4},{22,4},{25,4},{25,4},{17,4},{22,4},{25,8},
{29,4},{27,2},{29,2},{27,4},{25,4},{25,4},{27,12},
{29,4},{29,2},{27,4},{25,4},{27,6},{27,2},{25,4},{24,4},
{20,4},{20,2},{17,2},{20,4},{20,2},{22,2},{22,16},
{0xFF,0xFF}};
 
void delay(uchar p)
{
    uchar i,j; 
    for(;p>0;p--)
    for(i=181;i>0;i--)
    for(j=181;j>0;j--);
}
 
void pause()
{
    uchar i,j;
    for(i=150;i>0;i--)
    for(j=150;j>0;j--);
}
 
void T0_int() interrupt 1
{
  beepIO=!beepIO;
  TH0=T[m][0]; TL0=T[m][1];
}
 
void main()
{
 uchar i=0; 
 TMOD=0x01;  EA=1; ET0=1;
 while(1) 
      {
        m=music[i][0];n=music[i][1]; 
           if(m==0x00)
             {TR0=0;delay(n);i++;} 
           else if(m==0xFF)
             {TR0=0;delay(30);i=0;} 
           else if(m==music[i+1][0]) 
             {TR0=1;delay(n);TR0=0;pause();i++;}
           else
             {TR0=1;delay(n);i++;}
      }
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics