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

📄 code_uint2.c

📁 SDU的字库
💻 C
字号:
// 收码程序
// 若P1.3闪烁则说明程序工作正常
// 单026发码时,将楼层的低位码(code_data[4])显示在P2口上。

//sbit code_in= P3^0;
//sbit code_out= P3^1;
sbit code_ctl= P2^7;							  
sbit     MC573_7  = P2^3;				  //J7
sbit     MC573_8  = P2^4;				  //J8
sbit     MC573_SW  = P2^5;			 //SW
sbit     MC573_10  = P1^5;			 //J10
bit Flag_Effective_Data,flag_first;
bit f_bit,arrow_type;
	   
///#define command_head1 0x55
///#define command_head2 0x33
///#define command_head3 0x77

uchar Data_Length;
uchar which_one,SUM_COMU,iicsbuf;
uchar Communication_Data_Counter;
uchar IIC_Data_Addr_L,IIC_Data_Addr_H;
uchar floor_h;
uchar floor_l;
uchar  mc573[3];
uchar  code_data[8];
uchar sbuf_buffer,nummber,check_sum;
uchar bdata mc_flag;
sbit   tn026	 = mc_flag^3;
sbit   fanti_en	 = mc_flag^1;
sbit   english_en= mc_flag^2;
sbit   chinese_en= mc_flag^0;
sbit   floor_def = mc_flag^4;
uchar code_floor_h;
uchar code_floor_m;
uchar code_floor_l;
uchar code_ctrl;
uchar code_message_h;

void code_ini()
{  
   if(f_bit)
   {
	 f_bit=0;
		  code_floor_h =  code_data[3];
		  code_floor_m =  code_data[4];
		  code_floor_l =  code_data[5];
//		  code_floor_w =  code_data[6];
		  code_ctrl    =  code_data[6];
		  code_message_h =code_data[7];
//		  code_message_m =code_data[19];
//		  code_message_l =code_data[20];
 
   }
   else
   {
   _nop_();
   }
  
} 
void floor_dis_doing()
{
   floor_h = code_data[3];
   floor_m = code_data[4];//code_floor_h;
   floor_l = code_data[5];//code_floor_l;
   dis_floor();
}
void code_ctrl_doing()
{ 
 if( (~code_ctrl& 0x80) == 0x80 ) {ztfw_cn();ztfw_en();stop();}
 else
 {
  switch( ~code_ctrl&0x0f)
  {
   case  0 :  {  stop(); } break;
	case  1:   {  up_arrow();} break;               
	case  2 :  {  down_arrow();} break; 
	case  4 :  {  up_arrow_stop();   } break; 
	case  5 :  {  up_arrow_stop();   } break;
	case  6 :  {  up_arrow_stop();   } break;
	case  7 :  {  up_arrow_stop();   } break;
	case  8 :  {  down_arrow_stop(); } break;
	case  9 :  {  down_arrow_stop(); } break;
	case  10 : {  down_arrow_stop(); } break;
	case  11 : {  down_arrow_stop(); } break;
    default: stop();break;
  }
 }
}

void code_message_doing()
{ 
  if((~code_ctrl & 0x80) == 0x80 )   {ztfw_cn();ztfw_en();}
  else if((~code_message_h&0xff)==0x00) disappear_row4();
  else if((~code_message_h&0x01)==0x01) {cz_cn();cz_en();}
  else if((~code_message_h&0x02)==0x02) {hj_cn();hj_en();} 
  else if((~code_message_h&0x04)==0x04) {mz_cn();mz_en();}
  else if((~code_message_h&0x08)==0x08) {xfysy_cn();xfysy_en();}
  else if((~code_message_h&0x10)==0x10) {jjfw_cn();jjfw_en();}
  else if((~code_message_h&0x20)==0x20) {qjz_cn();qjz_en();}
  else if((~code_message_h&0x40)==0x40) {sbwhz_cn();sbwhz_en();}
  else if((~code_message_h&0x80)==0x80) {ztfw_cn();ztfw_en();} 
  else  {ztfw_cn();ztfw_en();} 
 }
void floor_dis_doing2()
{  
   uint  mm;
   uint temp_1;
   temp_1=(~mc573[1])&0x00ff;
   mm=(temp_1<<2);
//   ll=mm+1;
   floor_l =IRcvByte(mm+2);
   floor_m =IRcvByte(mm+1);
   floor_h =IRcvByte(mm);
   dis_floor();
}

void code_ctrl_doing2()
{   
   uchar uu;
   uu=(~mc573[0]>>1)&0x0f;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
   switch(uu)
  {
    case  0 :  {  stop(); } break;
	case  1:   {  up_arrow();} break;               
	case  2 :  {  down_arrow();} break; 
	case  4 :  {  up_arrow_stop();   } break; 
	case  5 :  {  up_arrow_stop();   } break;
	case  6 :  {  up_arrow_stop();   } break;
	case  7 :  {  up_arrow_stop();   } break;
	case  8 :  {  down_arrow_stop(); } break;
	case  9 :  {  down_arrow_stop(); } break;
	case  10 : {  down_arrow_stop(); } break;
	case  11 : {  down_arrow_stop(); } break;
    default: stop(); break;
  }
}

void code_message_doing2()
{ 
  if((~mc573[0]&0x01)==0x01) {ztfw_cn();ztfw_en();}
  else if((~mc573[2]&0xff)==0x00) disappear_row4();
  else if((~mc573[2]&0x01)==0x01) {cz_cn();cz_en();}
  else if((~mc573[2]&0x02)==0x02) {hj_cn();hj_en();} 
  else if((~mc573[2]&0x04)==0x04) {mz_cn();mz_en();}
  else if((~mc573[2]&0x08)==0x08) {xfysy_cn();xfysy_en();}
  else if((~mc573[2]&0x10)==0x10) {jjfw_cn();jjfw_en();}
  else if((~mc573[2]&0x20)==0x20) {qjz_cn();qjz_en();}
  else if((~mc573[2]&0x40)==0x40) {sbwhz_cn();sbwhz_en();}
  else if((~mc573[2]&0x80)==0x80) {ztfw_cn();ztfw_en();} 
  else  {ztfw_cn();ztfw_en();} 
 }

 void read_sw()
 {
  //----------  
  MC573_7 = 1;
  MC573_8 = 1;
  MC573_10= 1;
  P0=0xff;
  MC573_SW =0;				  //提供跳线设置sw5  				 
  _nop_();
  _nop_();
  mc_flag= P0;					  //跳线状态
  _nop_();
  _nop_();
  MC573_SW=	1;
  }
 uchar read_j8()
 {
  uchar i;
  MC573_7 = 1;
  MC573_SW = 1;
  MC573_10= 1;
  P0=0xff;
  MC573_8 =	0;
  _nop_();
  _nop_();						 
  i=P0; 					    //j8:  d0:暂停,d1-d4:箭头,d5-d6:保留,d7:comm
  MC573_8= 1;
  return(i); 
  }
 uchar read_j7()
 {
  uchar i;
  MC573_SW = 1;
  MC573_8 = 1;
  MC573_10= 1;
  P0=0xff;
  MC573_7= 0;
  _nop_();
  _nop_();						  
  i=P0;  				   //j7:楼层
  MC573_7 =1;
  return(i);
  }
 uchar read_j10()
 {
  uchar i;
  MC573_7 = 1;
  MC573_8 = 1;
  MC573_SW= 1;
  P0=0xff;
  MC573_10=0;
  _nop_();  
  _nop_();
  i=P0;  					   //j10:特殊信息
  MC573_10=1;
  return(i);
  }

⌨️ 快捷键说明

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