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

📄 back_up.c

📁 C语言程序,LC72131+PIC16C63+PT2258
💻 C
📖 第 1 页 / 共 2 页
字号:

/* 0    1    2    3    4    5    6*/
bank1 uchar  tempt1[11]={0xfc,0x30,0xd5,0x75,0x39,0x6d,0xed,
0x34,0xfd,0x7d,0x01};
/*7    8   9     -*/
//***************************************************
bank1 uchar remb(uchar dd)
{
	return tempt1[dd];
}
///////////////////////////////////////////////////////
void memory()
{
	uchar cnt_adr;
	s24();
	wd24(0xa0);
	if(FM_AM)
	{
		wd24(station_me*2-2);
		dlms(10);
		wd24(byte_1);
		dlms(10);
		wd24(byte_2);
		dlms(10);
	}
	else
	{
		wd24(station_me+30);
		dlms(10);
		wd24(byte_3);
	}

	p24();
}
//----------------------------------------//
void readmemo()
{
	uint k_freq;
	s24();
	wd24(0xa0);

	if(FM_AM)
	{
		wd24(station_fm*2-2);

		s24();
		wd24(0xa1);
		byte_1=rd24();
		masterack();
		byte_2=rd24();
		masterack();
		k_freq=byte_2*256+byte_1;
		if(!((k_freq>=0x07b6)&(k_freq<=0x0946)))byte_2=0x07,byte_1=0xb6;

	}
	else
	{
		wd24(station_am+30);

		s24();
		wd24(0xa1);
		byte_3=rd24();
		if(!((byte_3>=0x6c)&(byte_3<=0xe6)))byte_3=0x6c;


	}
	noack();
	p24();
}

//-----------------------------------------
void send_pt2323(void)
{
	s24();
	wd24(0x94);
	
	if(input==2)     wd24(0xcb);    //aux input
	else if(input==1)wd24(0xc9);    //fm input
	else if(input==0)wd24(0xc7);    //5.1ch input

	if(OUTMODE)
	{
		wd24(0xf4);
	
		wd24(0xf8);
	
		wd24(0xfa);
	}
	else
	{
		wd24(0xf5);
	
		wd24(0xf9);
		
		wd24(0xfb);
	}

	if(MUTE)wd24(0xff);
		 
	else     wd24(0xfe);
}

//--------------------------------------------
void send_tda7448(void)
{
	uchar i;
	s24();
	wd24(0x88);
	wd24(0x10);

	if(mvolg>48) i=(48+(mvolg-48)/2);
	else         i=mvolg;
	wd24(i-fvolg);

	wd24(i-fvolg);

	wd24(i-cvolg);

	if(i>swvolg)wd24(i-swvolg);
	else        wd24(0);
	wd24(i-svolg);

	wd24(i-svolg);

	p24();

}
//;-------------------------------------------
void s24(void)
{
	SCL=0;
	_NOP_();_NOP_();_NOP_();
	SDA=1;
	_NOP_();_NOP_();_NOP_();
	SCL=1;
	_NOP_();_NOP_();_NOP_();
	SDA=0;
	_NOP_();_NOP_();_NOP_();
	SCL=0;
	_NOP_();_NOP_();_NOP_();
}
void p24(void)
{
	SDA=0;
	_NOP_();_NOP_();_NOP_();
	SCL=1;
	_NOP_();_NOP_();_NOP_();
	SDA=1;
	_NOP_();_NOP_();_NOP_();
}

/////////////////////////////////////////
void masterack()
{
	//	TRISC=0X30;
	SCL=0;
	SDA=0;
	SCL=1;
	SCL=0;
	SDA=1;
}
/////////////////////////////////////
void noack()
{
	//	TRISC=0X30;
	_NOP_();
	_NOP_();
	_NOP_();
	_NOP_();
	SDA=1;
	SCL=1;
	SCL=0;
}
/////////////////////////////////////
unsigned char rd24(void)
{
	uchar i,k;

	TRISB=0X78;//0X78
	for(i=0;i<8;i++)
	{
		SCL=1;
		_NOP_();_NOP_();_NOP_();
		if(SDA)
		k=k|1;
		else
		k=k&0XFE;
		SCL=0;
		_NOP_();_NOP_();_NOP_();
		if(i<7)k=k<<1;
	}
	TRISB=0X38;
	return(k);

}

void wd24(volatile uchar byte)
{
	uchar i;
	for(i=8; i>0; i--)
	{

		if((byte&0x80)==0X80)SDA=1;
		else                 SDA=0;
		byte=byte<<1;
		SCL=1;
		SCL=0;

	}
	SCL=1;
	SCL=0;
}
//////////////////////////////////////////////////
//------------------------------------------------------
void remotefun(uchar rembyte)
{
	GIE=0;
	AK47=0,times3=0x20;;
	if((POWER)|(rembyte==1))
	{
		switch(rembyte)
		{ case 1:
		{
			if(POWER)  POWER=0,MUTE=1;
			else       POWER=1,MUTE=0;
		}
		break;

		case 2:
		{
			if(MUTE)   MUTE=0;
			else       MUTE=1,LEDMUT=1,times=255;
		}
		break;

		case 3:
		{
			if     (input==0)
			{
				N_MODE:
				input=1,buf_g1=0xd7,buf_g2=0xfc;
				LED51=0,LED20=1,LEDRD=0;
				buf_g3=remb((mvolg-10)/10),buf_g4=remb((mvolg-10)%10);
			}

			else if(input==2)
			{
				M_MODE:
				input=0,buf_g1=0x6f,buf_g2=0x30;
				LED51=1,LED20=0,LEDRD=0;
				buf_g3=remb((mvolg-10)/10),buf_g4=remb((mvolg-10)%10);
			}
			else if(input==1)
			{
				R_MODE:
				input=2;
				LED51=0,LED20=0,LEDRD=1;
				if(FM_AM)  buf_g1=0xBD;
				else       buf_g1=0x8D;
				first_dis=1;
				goto       dopart;
			}
		}
		break;

		case 4:
		{
			mvolg=30,fvolg=0x05,cvolg=0x05,svolg=0x05,swvolg=0x05;
			goto chk_dis;
		}
		break;

		case 5:
		{
			if(OUTMODE) OUTMODE=0,LED21=0;
			else        OUTMODE=1,LED21=1;
			volflag=0;
			goto chk_dis;
		}
		break;

		case 6:
		{
			if(input==2)
			{
				first_dis=1;
				if(FM_AM)  FM_AM=0,buf_g1=0xBD;
				else       FM_AM=1,buf_g1=0x8D;
				goto       dopart;

			}
		}
		break;

		case 7:
		{
			AK47=1;
			if(input==2)
			{
				ADDD=0;
				goto dopart;
			}

		}
		break;

		case 8:
		{
			AK47=1;
			if(input==2)
			{ADDD=1;
			dopart:
			up_radio();
			if(FM_AM)
			{

				if(buf_g1==0)buf_g1=0x8D;
				else         buf_g1=remb(buf_g1);
				buf_g3=remb(buf_g3)+2;
			}
			else
			{
				if(buf_g1==0)buf_g1=0xbD;
				else         buf_g1=remb(buf_g1);
				buf_g3=remb(buf_g3);
			}
			buf_g2=remb(buf_g2);
			buf_g4=remb(buf_g4);


		}

	}
	break;

	case 9:
	{
		if(input==2)
		{
			if(!FLAG_ME)
			{
				FLAG_ME=1;//bd==a
				buf_g1=0x0,buf_g2=0x9d,buf_g3=remb(0),buf_g4=remb(1);
				station_me=1;
			}
			else
			{
				FLAG_ME=0;
				memory();
				first_dis=1;
				goto       dopart;
			}
		}


	}
	break;

	case 10:
	{
		if(input==2)
		{
			if(FLAG_ME)
			{
				if(station_me>1)station_me--;
				else		station_me=15;
				buf_g3=remb(station_me/10),buf_g4=remb(station_me%10);
			}
			else
			{
				if(FM_AM)
				{
					if(station_fm>1)station_fm--;
					else		 station_fm=15;
					readmemo();
					first_dis=1;
					goto       dopart;

				}

				if(!FM_AM)
				{
					if(station_am>1)station_am--;
					else		 station_am=15;
					readmemo();
					first_dis=1;
					goto       dopart;
				}
			}

			buf_g1=0x00,buf_g2=0x9d;
		}
	}
	break;

	case 11:
	{
		if(input==2)
		{
			if(FLAG_ME)
			{
				if(station_me<15)station_me++;
				else		station_me=1;
				buf_g3=remb(station_me/10),buf_g4=remb(station_me%10);
			}
			else
			{
				if(FM_AM)
				{
					if(station_fm<15)station_fm++;
					else		 station_fm=1;
					readmemo();
					first_dis=1;
					goto       dopart;
				}

				if(!FM_AM)
				{
					if(station_am<15)station_am++;
					else		 station_am=1;
					readmemo();
					first_dis=1;
					goto       dopart;
				}
			}

			buf_g1=0x00,buf_g2=0x9d;
		}
	}
	break;

	case 12:
	{
		AK47=1;
		if(volflag==0)
		{
			MUTE=0;
			if(mvolg>10)mvolg-- ;
		}
		if(!MUTE)
		{
			if(volflag==1)
			{
				if(cvolg<10)cvolg++ ;
			}
			if(volflag==2)
			{
				if(svolg<10)svolg++ ;
			}
			if(volflag==3)
			{
				if(swvolg<10)
				swvolg++ ;
			}
		}
		goto chk_dis;

	}
	break;

	case 13:
	{
		if(OUTMODE)
		{
			if(volflag>0)volflag--;
			else         volflag=3;
			goto  chk_dis;
		}
		else
		{
			if(volflag==0)volflag=3;
			else          volflag=0;

		}
		chk_dis:
		if(volflag==0)
		{
			buf_g3=buf_g31=remb((mvolg-10)/10), buf_g4=buf_g41=remb((mvolg-10)%10);
			if     (input==0)     buf_g1=0x6f,buf_g2=0x30;
			else if(input==1)     buf_g1=0xd7,buf_g2=0xfc;
			else
			{
				if(!FM_AM)  buf_g1=0xBD;
				else       buf_g1=0x8D;
				buf_g2=0x00;
			}
		}
		if(volflag==1)
		{
			buf_g1=0xcc,buf_g2=0xcd;
			if(cvolg>=5) buf_g3=0,buf_g4=cvolg-5;
			if(cvolg<5)buf_g3=10,buf_g4=5-cvolg;
			buf_g3=remb(buf_g3),buf_g4=remb(buf_g4);
		}
		if(volflag==2)
		{
			buf_g1=0x6d,buf_g2=0xbd;
			if(svolg>=5) buf_g3=0,buf_g4=svolg-5;
			if(svolg<5)buf_g3=10,buf_g4=5-svolg;
			buf_g3=remb(buf_g3),buf_g4=remb(buf_g4);
		}
		if(volflag==3)
		{
			buf_g1=0x6d,buf_g2=0xf8;
			if(swvolg>=5) buf_g3=0,buf_g4=swvolg-5;
			if(swvolg<5)buf_g3=10,buf_g4=5-swvolg;
			buf_g3=remb(buf_g3),buf_g4=remb(buf_g4);
		}




	}
	break;

	case 14:
	{
		AK47=1;
		if(volflag==0)
		{
			MUTE=0;
			if(mvolg<90)mvolg++ ;
		}
		if(!MUTE)
		{
			if(volflag==1)
			{
				if(cvolg>0)cvolg-- ;
			}
			if(volflag==2)
			{
				if(svolg>0)svolg-- ;
			}
			if(volflag==3)
			{
				if(swvolg>0)swvolg-- ;
			}
		}
		goto chk_dis;
	}
	break;

	case 15:
	{
		if(OUTMODE)
		{
			if(volflag<3)volflag++;
			else         volflag=0;
			goto chk_dis;
		}
		else
		{
			if(volflag==0)volflag=3;
			else          volflag=0;
			goto chk_dis;
		}
	}
	break;

	default:
	break;
}
}


send_pt2323();
send_tda7448();
GIE=1;

}
//---------------------------------------------------





⌨️ 快捷键说明

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