eeprom_write(71,remote_cout);//保存已经学习好的遥控器总数量eeprom_write
(70,remote_numb);//保存已学习的遥控起编号
ei();}
}}
/******************************************************************************/
voidcheck_out_pro(void)
{
read_remote_cout();//读遥控器的数量
if(compare_all_data())
{data=data_temp。
data_temp_byte[0]&0x0f;//
TIMER15S3=0;
TIMER15S4=0;
RC4=1;
}}
/******************************************************************************/
voiddecode_init(void)//接收初始化
{
OPTION=0x87;
RBPU=0;
TMR0=0;
T0IE=1;//使能定时器0中断INTE=1;
TMR1ON=1;//
PORTC=0x00;//
TRISC=0x00;//
ei();//开放全局中断}
/******************************************************************************/
voidcheck_remote_recieved(void)//检测有无新的数据
{
if(!
RB1)//
{
if(TIMER15S1〉30)//是否长按了3秒
{
learn=0;//
clr_learn_reg();
RC4=0;
}
else
{learn=1;//
TIMER15S2=0;
TIMER15S4=0;
RC4=1;
}
}
else
{TIMER15S1=0;
if(TIMER15S2>60)
{
learn=0;//
}
}
if(TIMER15S3>2)//数据保持时间
{
data=0;TIMER15S3=0;
}
if(TIMER15S4>3)//LED显示时间
{
RC4=0;
}
if(recieved)
{
TIMER15S3=0;
recieved=0;
TIMER15S4=0;
RC4=1;
check_learn_pro();check_out_pro();
}
INTE=1;}
/******************************************************************************/
/*********************************控制部分程序*******************************/
/******************************************************************************/
voidcontrol_init(void)
{
;}
/******************************************************************************//*********
************************声音部分程序*********************************/
/******************************************************************************/
/******************************************************************************/
unsignedchardelay(unsignedintnus)
{
for(;nus>0;nus--)
{
if(recieved==1)return0;
asm("nop");}}
/******************************************************************************/
unsignedcharsoud_one_fre(unsignedintcout,unsignedintdelay_time)//发音程序
{
if(recieved==1)return0;
INTE=0;
for(;cout>0;cout--)
{
RC6=!
RC6;
delay(delay_time);
}RC6=0;
INTE=1;}
/******************************************************************************/
/*********************************急促的声音***********************************/
/******************************************************************************/
unsignedcharsoud_one_fre0(unsignedinttime,unsignedintdelay_time)
{
for(;time>0;time--)
{
if(recieved==1)return0;
soud_one_fre(1000,10);
delay(delay_time);
}}
/******************************************************************************/
/*********************************救护的声音***********************************/
/******************************************************************************/
unsignedcharsoud_tow_fre0(unsignedinttime)//
{
for(;time〉0;time-—)
{
if(recieved==1)return0;
soud_one_fre(900,10);soud_one_fre(800,30);
}}
/******************************************************************************//*********
***************************低—高音***********************************/
/******************************************************************************/
unsignedcharsoud_many_fre0(unsignedinttime,unsignedintcout)
{
for(;time〉0;time——)
{
unsignedintdelay_time;
for(delay_time=50;delay_time〉10;delay_time-—)
{
if(recieved==1)return0;soud_one_fre(cout,delay_time);
}
}}
/**********************************************