51单片机的寄存器设置

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;}

相关文档
最新文档