📄 key_unit.c
字号:
#define DATA_PORT P0
uchar bdata mtol_a;
uchar bdata mtol_b;
sbit a0 = mtol_a^0;
sbit a1 = mtol_a^1;
sbit a2 = mtol_a^2;
sbit a3 = mtol_a^3;
sbit a4 = mtol_a^4;
sbit a5 = mtol_a^5;
sbit a6 = mtol_a^6;
sbit a7 = mtol_a^7;
sbit b0 = mtol_b^0;
sbit b1 = mtol_b^1;
sbit b2 = mtol_b^2;
sbit b3 = mtol_b^3;
sbit b4 = mtol_b^4;
sbit b5 = mtol_b^5;
sbit b6 = mtol_b^6;
sbit b7 = mtol_b^7;
sbit MC573_5 = P2^3;
sbit MC573_6 = P2^4;
sbit MC573_7 = P2^5;
uchar key_code;
uchar bdata key_ctrl;
uchar key_code_temp_L;
uchar key_code_temp_H;
uchar special_code;
static bit arrow_ini;
static bit arrow_type;
static bit arrow_roll_flag;
static bit number_location_flag;
static bit floor_dis_flash_sw;
sbit key_ctrl_3 = key_ctrl^3;
sbit key_ctrl_2 = key_ctrl^2;
sbit key_ctrl_1 = key_ctrl^1;
sbit key_ctrl_0 = key_ctrl^0;
uchar roll_nul;
uchar floor_h;
uchar floor_l;
uchar sw_data;
/*********************************************************************************************************
** 函数名称: 楼层定义表
** 功能描述: 定义楼层
********************************************************************************************************/
uchar code floor_tab[ ]= // it's NO.n floor define
{
0x00,0x00, //0
0x00,0x01, //1
0x00,0x02, //2
0x00,0x03, //3
0x00,0x04, //4
0x00,0x05, //5
0x00,0x06, //6
0x00,0x07, //7
0x00,0x08, //8
0x00,0x09, //9
0x01,0x00,
0x01,0x01,
0x01,0x02,
0x01,0x03,
0x01,0x04,
0x01,0x05,
0x01,0x06,
0x01,0x07,
0x01,0x08,
0x01,0x09,
0x02,0x00,
0x02,0x01,
0x02,0x02,
0x02,0x03,
0x02,0x04,
0x02,0x05,
0x02,0x06,
0x02,0x07,
0x02,0x08,
0x02,0x09,
0x03,0x00,
0x03,0x01,
0x03,0x02,
0x03,0x03,
0x03,0x04,
0x03,0x05,
0x03,0x06,
0x03,0x07,
0x03,0x08,
0x03,0x09,
0x04,0x00,
0x04,0x01,
0x04,0x02,
0x04,0x03,
0x04,0x04,
0x04,0x05,
0x04,0x06,
0x04,0x07,
0x04,0x08,
0x04,0x09,
0x05,0x00,
0x05,0x01,
0x05,0x02,
0x05,0x03,
0x05,0x04,
0x05,0x05,
0x05,0x06,
0x05,0x07,
0x05,0x08,
0x05,0x09,
0x06,0x00,
0x06,0x01,
0x06,0x02,
0x06,0x03,
0x06,0x04
};
// dis part
uchar arrow_space_x,arrow_space_y,arrow_size,arrow_b_c; arrow_color,arrow_AT_sw;
uchar floor_space_x,floor_space_y,floor_size,floor_b_c; floor_color,floor_AT_sw;
// dis part end
/*********************************************************************************************************
** 函数名称: floor()
** 功能描述: 显示楼层值floor_h,floor_l
********************************************************************************************************/
void dis_floor()
{
MB90092_DisChar (floor_space_x+0,floor_space_y,0x225, floor_size, floor_b_c,floor_color,floor_AT_sw); // 第
MB90092_ClearXY (floor_space_x+1,floor_space_y);
MB90092_DisChar (floor_space_x+2,floor_space_y,floor_h, floor_size, floor_b_c,floor_color,floor_AT_sw);
MB90092_DisChar (floor_space_x+3,floor_space_y,floor_l, floor_size, floor_b_c,floor_color,floor_AT_sw);
MB90092_ClearXY (floor_space_x+4,floor_space_y);
MB90092_DisChar (floor_space_x+5,floor_space_y,0x227, floor_size, floor_b_c,floor_color,floor_AT_sw); //层
}
/*********************************************************************************************************
** 函数名称: up_arrow() and down_arrow()
** 功能描述: OSD图形:上下箭头
********************************************************************************************************/
void up_arrow_stop()
{
MB90092_DisChar (arrow_space_x-2, arrow_space_y, 0x220, arrow_size, 2,arrow_color,0); //暂
MB90092_ClearXY (arrow_space_x-1,arrow_space_y);
MB90092_DisChar (arrow_space_x, arrow_space_y, 0xd, arrow_size, 2,arrow_color,0); //上箭头
MB90092_ClearXY (arrow_space_x+1,arrow_space_y);
MB90092_DisChar (arrow_space_x+2, arrow_space_y, 0x221, arrow_size, 2,arrow_color,0); //停
}
void down_arrow_stop()
{
MB90092_DisChar (arrow_space_x-2, arrow_space_y, 0x220, arrow_size, 2,arrow_color,0); //暂
MB90092_ClearXY (arrow_space_x-1,arrow_space_y);
MB90092_DisChar (arrow_space_x, arrow_space_y,0xe, arrow_size, 2,arrow_color,0); //下箭头
MB90092_ClearXY (arrow_space_x+1,arrow_space_y);
MB90092_DisChar (arrow_space_x+2, arrow_space_y, 0x221, arrow_size, 2,arrow_color,0); //停
}
void stop()
{
MB90092_DisChar (arrow_space_x-2, arrow_space_y, 0x220, arrow_size, 2,arrow_color,0); //暂
MB90092_ClearXY (arrow_space_x-1,arrow_space_y);
MB90092_DisChar (arrow_space_x, arrow_space_y, 0x0, arrow_size, 2,arrow_color,0); // "||"
MB90092_ClearXY (arrow_space_x+1,arrow_space_y);
MB90092_DisChar (arrow_space_x+2, arrow_space_y, 0x221, arrow_size, 2,arrow_color,0); //停
}
//------------------------------------------------------------------
void arrow_up_roll()
{
MB90092_DisChar (arrow_space_x-2, arrow_space_y, 0x290, arrow_size, 2,arrow_color,0); //上
MB90092_ClearXY (arrow_space_x-1,arrow_space_y);
switch( arrow_roll_coun )
{
case 0: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x16, arrow_size, 2,arrow_color,0);break;
case 1: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x17, arrow_size, 2,arrow_color,0);break;
case 2: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x18, arrow_size, 2,arrow_color,0);break;
case 3: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x19, arrow_size, 2,arrow_color,0);break;
case 4: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x1a, arrow_size, 2,arrow_color,0);break;
case 5: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x1b, arrow_size, 2,arrow_color,0);break;
case 6: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x1c, arrow_size, 2,arrow_color,0);break;
case 7: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x1d, arrow_size, 2,arrow_color,0);break;
case 8: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x1e, arrow_size, 2,arrow_color,0);break;
default: break;
}
MB90092_ClearXY (arrow_space_x+1,arrow_space_y);
MB90092_DisChar (arrow_space_x+2, arrow_space_y, 0x291, arrow_size, 2,arrow_color,0); //行
}
//-----------------------------------------------------------------
void arrow_down_roll()
{
MB90092_DisChar (arrow_space_x-1, arrow_space_y, 0x292, arrow_size, 2,arrow_color,0); //下
MB90092_ClearXY (arrow_space_x-1,arrow_space_y);
switch( arrow_roll_coun )
{
case 0: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x26, arrow_size, 2,arrow_color,0);break;
case 1: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x27, arrow_size, 2,arrow_color,0);break;
case 2: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x28, arrow_size, 2,arrow_color,0);break;
case 3: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x29, arrow_size, 2,arrow_color,0);break;
case 4: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x2a, arrow_size, 2,arrow_color,0);break;
case 5: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x2b, arrow_size, 2,arrow_color,0);break;
case 6: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x2c, arrow_size, 2,arrow_color,0);break;
case 7: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x2d, arrow_size, 2,arrow_color,0);break;
case 8: MB90092_DisChar (arrow_space_x, arrow_space_y, 0x2e, arrow_size, 2,arrow_color,0);break;
default: break;
}
MB90092_ClearXY (arrow_space_x+1,arrow_space_y);
MB90092_DisChar (arrow_space_x+2, arrow_space_y, 0x291, arrow_size, 2,arrow_color,0); //行
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -