基于单片机的公交车语音报站器(程序)

来源:互联网 发布:做金融怎么网络拉客户 编辑:程序博客网 时间:2024/05/01 16:03

#include <AT89X52.H>

//#define P2 KEY

//#define P1 LED

//#define P0 语音芯片控制

unsigned char code table[]=

{0x0fe,0x0fd,0x0fb,0x0f7,0x0ef,0x0df};

unsigned char temp;

unsigned char key;

unsigned char i,j;

void delay(int i) //10ms//延时

{ 

  int j,k;

  for(;i;i--)

  for(j=40;j;j--)

  for(k=124;k;k--);

}

void main(void)  //主函数

{                                                                                      

  while(1)

    {

      P2=0xff;                                                  

      temp=P2;                                                                    

      temp=temp & 0xff;

      if (temp!=0xff)

        { delay(1);

          temp=P2;

          temp=temp & 0xff;

          if (temp!=0xff)                                        

            {

            temp=P2;

            temp=temp & 0xff;             

            switch(temp)

            {        case 0x0fe: key=00; break; //VOL    音量控制

case 0x0fd: key=01; break; //FT  直通方式

case 0x0fb: key=02; break; //PLAY播放控制

case 0x0f7: key=03; break; //REC      录音控制

case 0x0ef: key=04; break; //ERASE擦除控制

case 0x0df: key=05; break; //      FWD快进控制               

}

              temp=P2;

              P0=table[key];

              P1=table[key]; //显示对应的LED                            

              while(temp!=0xff)

                {  temp=P2;

                  temp=temp & 0xff;             

                }

                delay(5);

              P1=0xff;

              P0=0xff;

            }

        }

      }

}                           

原创粉丝点击