📄 code_uint2.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 + -