📄 button.c
字号:
break;
case 7:
cur_time_cach[2]+=0x10; //时
// temp=(cur_time_cach[2]>>4)&0x03;
if(((cur_time_cach[2]>>4)&0x03)>2) cur_time_cach[2]&=0x0f;
v_Set1302( cur_time_cach );
break;
case 8:
cur_time_cach[2]++;
// temp=cur_time_cach[2]&0x0f;
if((cur_time_cach[2]&0x0f)>9) cur_time_cach[2]&=0xf0;
v_Set1302( cur_time_cach );
break;
case 9:
cur_time_cach[1]+=0x10;
// temp=(cur_time_cach[1]>>4)&0x0f;
if(((cur_time_cach[1]>>4)&0x0f)>5) cur_time_cach[1]&=0x0f; //分
v_Set1302( cur_time_cach );
break;
case 10:
cur_time_cach[1]++;
// temp=cur_time_cach[1]&0x0f;
if((cur_time_cach[1]&0x0f)>9) cur_time_cach[1]&=0xf0;
v_Set1302( cur_time_cach );
break;
case 11:
cur_time_cach[0]+=0x10;
// temp=(cur_time_cach[0]>>4)&0x0f;
if(((cur_time_cach[0]>>4)&0x0f)>5) cur_time_cach[0]&=0x0f; //秒
v_Set1302( cur_time_cach );
break;
case 12:
cur_time_cach[0]++;
// temp=cur_time_cach[0]&0x0f;
if((cur_time_cach[0]&0x0f)>9) cur_time_cach[0]&=0xf0;
v_Set1302( cur_time_cach );
break;
default:
time_set_flag=0;
break;
}
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
if( button_code == 4 ) //--------------key4-------------时间-
{
button_code = 0;
switch(time_set_flag)
{
// char temp;
case 0:
cur_time_cach[6]-=0x10;
// temp=(cur_time_cach[6]>>4)&0x0f;
if(((cur_time_cach[6]>>4)&0x0f)>9) cur_time_cach[6]&=0x9f; //年
v_Set1302( cur_time_cach );
break;
case 1:
cur_time_cach[6]--;
// temp=cur_time_cach[6]&0x0f;
if((cur_time_cach[6]&0x0f)>9) cur_time_cach[6]&=0xf9;
v_Set1302( cur_time_cach );
break;
case 2:
cur_time_cach[4]-=0x10;
// temp=(cur_time_cach[4]>>4)&0x0f;
if(((cur_time_cach[4]>>4)&0x0f)>1) cur_time_cach[4]&=0x9f; //月
v_Set1302( cur_time_cach );
break;
case 3:
cur_time_cach[4]--;
// temp=cur_time_cach[4]&0x0f;
if((cur_time_cach[4]&0x0f)>9) cur_time_cach[4]&=0xf9;
v_Set1302( cur_time_cach );
break;
case 4:
cur_time_cach[3]-=0x10;
// temp=(cur_time_cach[3]>>4)&0x0f;
if(((cur_time_cach[3]>>4)&0x0f)>3) cur_time_cach[3]&=0x3f; //日
v_Set1302( cur_time_cach );
break;
case 5:
cur_time_cach[3]--;
// temp=cur_time_cach[3]&0x0f;
if((cur_time_cach[3]&0x0f)>9) cur_time_cach[3]&=0x39;
v_Set1302( cur_time_cach );
break;
case 6:
cur_time_cach[5]--;
if(cur_time_cach[5]>7) cur_time_cach[5]&=0x01; //星期
v_Set1302( cur_time_cach );
break;
case 7:
cur_time_cach[2]-=0x10;
// temp=(cur_time_cach[2]>>4)&0x0f;
if(((cur_time_cach[2]>>4)&0x0f)>2) cur_time_cach[2]&=0x2f; //时
v_Set1302( cur_time_cach );
break;
case 8:
cur_time_cach[2]--;
// temp=cur_time_cach[2]&0x0f;
if((cur_time_cach[2]&0x0f)>9) cur_time_cach[2]&=0x29;
v_Set1302( cur_time_cach );
break;
case 9:
cur_time_cach[1]-=0x10;
// temp=(cur_time_cach[1]>>4)&0x0f;
if(((cur_time_cach[1]>>4)&0x0f)>5) cur_time_cach[1]&=0x5f; //分
v_Set1302( cur_time_cach );
break;
case 10:
cur_time_cach[1]--;
// temp=cur_time_cach[1]&0x0f;
if((cur_time_cach[1]&0x0f)>9) cur_time_cach[1]&=0x59;
v_Set1302( cur_time_cach );
break;
case 11:
cur_time_cach[0]-=0x10;
// temp=(cur_time_cach[0]>>4)&0x0f;
if(((cur_time_cach[0]>>4)&0x0f)>5) cur_time_cach[0]&=0x5f; //秒
v_Set1302( cur_time_cach );
break;
case 12:
cur_time_cach[0]--;
// temp=cur_time_cach[0]&0x0f;
if((cur_time_cach[0]&0x0f)>9) cur_time_cach[0]&=0x59;
v_Set1302( cur_time_cach );
break;
default:
time_set_flag=0;
break;
}
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
}
if( menu_code == 3 ) /*-----------------梯号设置-----------*/
{
if( button_code == 1 )
{
button_code = 0;
disappear_row23();
menu_code++;if(menu_code>5) menu_code = 0;
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_back();
}
if( button_code == 2 )
{
button_code = 0;
floor_flag++; if(floor_flag>4) floor_flag = 0; //确定
switch(floor_flag)
{
case 0:
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_floor_seting(0x31);
break;
case 1:
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_floor_seting(0x32);
break;
case 2:
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_floor_seting(0x33);
break;
case 3:
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_floor_seting(0x34);
break;
case 4:
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_floor_seting(0x35);
break;
default:
time_set_flag=0;
break;
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
}
if( button_code == 3 )
{
switch(floor_flag)
{
case 0:
ini_t_h[0]++;
if(ini_t_h[0]>0x2c)
ini_t_h[0]=0;
// dis_number(ini_t_h);
break;
case 1:
ini_t_h[1]++;
if(ini_t_h[1]>0x2c)
ini_t_h[1]=0;
// dis_number(ini_t_h);
break;
case 2:
ini_t_h[2]++;
if(ini_t_h[2]>0x2c)
ini_t_h[2]=0;
// dis_number(ini_t_h);
break;
case 3:
ini_t_h[3]++;
if(ini_t_h[3]>0x2c)
ini_t_h[3]=0;
// dis_number(ini_t_h);
break;
case 4:
ini_t_h[4]++;
if(ini_t_h[4]>0x2c)
ini_t_h[4]=0;
// dis_number(ini_t_h);
break;
default :
floor_flag=0;
break;
}
// dis_number(ini_t_h);
// ISendStr(4,0,ini_t_h,5);
for(i=0;i<5;i++)
{
ISendByte((0x400+i),ini_t_h[i]); //写数据到24c16
Delay_ms(2);
}
// ISendByte(0x400,ini_t_h[0]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x401,ini_t_h[1]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x402,ini_t_h[2]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x403,ini_t_h[3]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x404,ini_t_h[4]); //写数据到24c16
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
sheding_time = 0;
sheding_sw = 1; // 退出
}
if( button_code == 4 )
{
switch(floor_flag)
{
case 0:
ini_t_h[0]--;
if(ini_t_h[0]<0)
ini_t_h[0]=0x2c;
// dis_number(ini_t_h);
// ISendByte(0x400,ini_t_h[0]); //写数据到24c16
break;
case 1:
ini_t_h[1]--;
if(ini_t_h[1]<0)
ini_t_h[1]=0x2c;
// dis_number(ini_t_h);
// ISendByte(0x401,ini_t_h[1]); //写数据到24c16
break;
case 2:
ini_t_h[2]--;
if(ini_t_h[2]<0)
ini_t_h[2]=0x2c;
// dis_number(ini_t_h);
// ISendByte(0x402,ini_t_h[2]); //写数据到24c16
break;
case 3:
ini_t_h[3]--;
if(ini_t_h[3]<0)
ini_t_h[3]=0x2c;
// dis_number(ini_t_h);
// ISendByte(0x403,ini_t_h[3]); //写数据到24c16
break;
case 4:
ini_t_h[4]--;
if(ini_t_h[4]<0)
ini_t_h[4]=0x2c;
// dis_number(ini_t_h);
// ISendByte(0x404,ini_t_h[4]); //写数据到24c16
break;
default :
floor_flag=0;
break;
}
for(i=0;i<5;i++)
{
ISendByte((0x400+i),ini_t_h[i]); //写数据到24c16
Delay_ms(2);
}
// ISendByte(0x400,ini_t_h[0]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x401,ini_t_h[1]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x402,ini_t_h[2]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x403,ini_t_h[3]); //写数据到24c16
// Delay_ms(2);
// ISendByte(0x404,ini_t_h[4]); //写数据到24c16
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
}
if (menu_code == 4)
{
if( button_code == 1 )
{
button_code = 0;
disappear_row23();
menu_code++;if(menu_code>5) menu_code = 0;
disappear_time = 800;
disappear_sw = 1; // 启动消隐程序(在定时器中)
exit();
}
if (button_code == 2) //出厂状态
{
button_code = 0;
MB90092_ClearScreen();
X_position = 0x04;
Y_position = 0x27;
yy=0;
xj=10;
cy=0;
xx=10;
MB90092_WriteByte(0xC0); //command 8
MB90092_WriteByte(X_position); //屏幕水平开始位置设定
MB90092_WriteByte(0xBC); //command 7
MB90092_WriteByte(Y_position); //屏幕垂直开始位置设定
dis_clock_flag=0;
dis_calendar_flag = 0;
ini_th();
ISendByte(0x410,X_position);
Delay_ms(2);
ISendByte(0x411,Y_position);
Delay_ms(2);
for(i=0;i<5;i++)
{
ISendByte((0x400+i),ini_t_h[i]); //写数据到24c16
Delay_ms(2);
}
xjyy();
xxcy();
sjrq();
synchronization = SYN_EXTERNAL;
MB90092_WriteByte(0xA2|synchronization);
MB90092_WriteByte(0x2B);
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
if (button_code == 3)
{
button_code = 0;
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
if (button_code == 4)
{
button_code = 0;
sheding_time = 0;
sheding_sw = 1; // 进入设定状态
}
}
if( menu_code == 5 ) /*-----------*/
{
disappear_time = 900;
disappear_sw = 1; // 启动消隐程序(在定时器中)
exit();
if( button_code == 1 )
{
button_code = 0;
menu_code++;if(menu_code>5) menu_code = 0;
disappear_time = 0;
disappear_sw = 1; // 启动消隐程序(在定时器中)
dis_mode_set();
}
if( button_code == 2 )
{
button_code = 0;
}
if( button_code == 3 )
{
button_code = 0;
}
if( button_code == 4 )
{
button_code = 0;
}
}
}
void button_doing()
{
if ( read_button() )
{
button_func();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -