⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jianpan.c

📁 语音芯片ISD1420的C语言程序
💻 C
字号:
#include"reg51.h"#define unchar unsigned char
#define uint unsigned int
//#define dizhi1 0x00
//#define dizhi2 0x20
//#define dizhi3 0x40
//#define dizhi4 0x80
uint danyuan[]={8,16,24,32,40,48,56,64,72,80};void  delay();unchar keyscan();
uint i=0;
sbit play=P0^0;
sbit lu=P0^1;
//sbit reday=P0^2;
//sbit a0=P2^0;
//sbit a1=P2^1;
//sbit a3=P2^3;
//sbit a4=P2^4;
//void zhongduan( ) interrupt 1
//{ i++ ;
//}
void delay1( )
{
   uint a,j;
   for(a=0;a<1000;a++)
   {
      for(j=0;j<400;i++)
	  {;}
	}
}
/*void moshi(uint a )
{ 
  P2=a;
 } */

void luyin(uint b )
{  P2=b;
 //  TR0=1;
      lu=0;


 //  if(i==100)
 //  {
//     lu=1;
//	}

 }

void fangyin(uint c )
{  P2=c;
   play=1;
   delay( );
   play=0;
   delay( );
 //  while(!reday) ;

}
     
void   main(){  unchar key;
 //  TMOD=0x00;
  // TH0=0xdc;
  // TL0=0x00;
  // EA=1;
  // ET0=1;
   P2=0x00;
   
   while (1)  {
     key=keyscan();
     switch(key)     {
	   case 0x18:	   
	   i++;
	   if(i==10) i=0;
	   break;       case 0x14:
	   i--;
	   if(i==0) i=10;
	   break;	   case 0x12:
	   luyin(danyuan[i]);
	   break;	   case 0x11:
	   fangyin(danyuan[i]);
	   break;	 	   case 0x28:
	   fangyin(danyuan[i]);
	   delay( );
	   fangyin(danyuan[i+3]);
	   break; //      case 0x24:fangyin(dizhi2,dizhi4);break;//	   case 0x22:P2=0x7d;break;//	   case 0x21:P2=0x07;break;	 //	   case 0x48:P2=0x7f;break; //      case 0x44:P2=0x6f;break;//	   case 0x42:P2=0x77;break;//	   case 0x41:P2=0x7c;break;//	   case 0x88:P2=0x39;break;  //     case 0x84:P2=0x5e;break;//	   case 0x82:P2=0x79;break;//	   case 0x81:P2=0x71;break;
//	   case 0x00:P2=0x76;break;
	   default: break;	}
  }}  void  delay()  {  	unchar i;
	for(i=500;i>0;i--);   } unchar keyscan(){
    unchar scode,recode;
	static unchar m;    P1=0xf0;	if ((P1&0xf0)!=0xf0)	 { 
	    delay();	    if ((P1&0xf0)!=0xf0)		 	     { 
		    scode=0xfe;		    while((scode&0x10)!=0)  		    { 
		       P1=scode;		       if((P1&0xf0)!=0xf0)		         { 
			        recode=(P1&0xf0)|0x0f;
					m=(~scode)+(~recode);			        return (m);			     }		      else 				  scode=(scode<<1)|0x01;
		    }	     }
	  	  }
	   if((P1&0xf0)==0xf0) return(0);
	   return(m);}		   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -