51单片机的寄存器设置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void INT_0(void) interrupt 0
{
if(inf_mode_en == 1) //如果红外线接收总控制开,那么才可以判断下面的所有{
if(inf_shunxu == 0)
{
TH1 = 0x1F; //定时器高位
TL1 = 0xFF; //定时器低位
TR1 = 1; //定时器1开始计数,由于晶振是24M
inf_shunxu++; //顺序加一
ET1 = 1; //开定时器1的溢出中断使能
}
else if(inf_shunxu == 1)
{ inf_gonggong(); //红外线接收公共程序
if(inf_zanshi>kaishizhi_l)
{
inf_dizhi_buf=0;
inf_dizhichou_buf=0;
inf_shuju_buf=0;
inf_shujuf_buf=0;
}
else inf_gongcuowu(); //公共错误处理错误位置1,接收顺序清0
}
else
{
switch(inf_shunxu)
{
case 2: inf_gonggong(); //红外线接收公共程序
if(inf_zanshi {inf_dizhi_buf&=0xFE;} //清除最低位 else if(inf_zanshi {inf_dizhi_buf|=0x01;} //置最低位 else{inf_gongcuowu();} //公共错误处理 break; case 3: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0xFD;} else if(inf_zanshi {inf_dizhi_buf|=0x02;} else{inf_gongcuowu();} //公共错误处理 break; case 4: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0xFB;} else if(inf_zanshi {inf_dizhi_buf|=0x04;} else{inf_gongcuowu();} //公共错误处理 break; case 5: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0xF7;} else if(inf_zanshi {inf_dizhi_buf|=0x08;} else{inf_gongcuowu();} //公共错误处理 break; case 6: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0xEF;} else if(inf_zanshi {inf_dizhi_buf|=0x10;} else{inf_gongcuowu();} //公共错误处理 break; case 7: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0xDF;} else if(inf_zanshi {inf_dizhi_buf|=0x20;} else{inf_gongcuowu();} //公共错误处理 break; case 8: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0xBF;} else if(inf_zanshi {inf_dizhi_buf|=0x40;} else{inf_gongcuowu();} //公共错误处理 break; case 9: inf_gonggong(); if(inf_zanshi {inf_dizhi_buf&=0x7F;} else if(inf_zanshi {inf_dizhi_buf|=0x80;} else{inf_gongcuowu();} //公共错误处理 break; case 10: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xFE;} else if(inf_zanshi {inf_dizhichou_buf|=0x01;} else{inf_gongcuowu();} //公共错误处理 break; case 11: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xFD;} else if(inf_zanshi {inf_dizhichou_buf|=0x02;} else{inf_gongcuowu();} //公共错误处理 break; case 12: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xFB;} else if(inf_zanshi {inf_dizhichou_buf|=0x04;} else{inf_gongcuowu();} //公共错误处理 break; case 13: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xF7;} else if(inf_zanshi {inf_dizhichou_buf|=0x08;} else{inf_gongcuowu();} //公共错误处理 break; case 14: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xEF;} else if(inf_zanshi {inf_dizhichou_buf|=0x10;} else{inf_gongcuowu();} //公共错误处理 break; case 15: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xDF;} else if(inf_zanshi {inf_dizhichou_buf|=0x20;} else{inf_gongcuowu();} //公共错误处理 break; case 16: inf_gonggong(); if(inf_zanshi {inf_dizhichou_buf&=0xBF;} else if(inf_zanshi {inf_dizhichou_buf|=0x40;}