📄 timerset.c
字号:
#include "c51base.h"
static void TimerPoint(uchar i)
{
if(i == 0)
DisplayStr(9,1,"<");
else if(i == 1)
DisplayStr(9,2,"<");
else if(i == 2)
DisplayStr(9,3,"<");
else if(i == 3)
DisplayStr(15,3,"<");
}
static void TimerDisplay(char *temp)
{
if(temp[0] == 0)
DisplayStr(5,1,"关闭 ");
else
DisplayStr(5,1,"开启 ");
DisplayType(7,2,(temp[1]%100)/10+'0');
DisplayType(8,2,temp[1]%10+'0');
DisplayStr(9,2," ");
DisplayType(7,3,(temp[2]%100)/10+'0');
DisplayType(8,3,temp[2]%10+'0');
DisplayStr(9,3," ");
if(temp[3] == 0)
DisplayStr(13,3,"关");
else
DisplayStr(13,3,"开");
}
void TimerSet()
{
struct Stimer *timer_ptr;
uchar idata key_value,temp[4],i;
CLEAR_SCREEN();
DisplayStr(2,0,"时间定时设定");
DisplayStr(0,1,"使用:");
DisplayStr(0,2,"开时间:");
DisplayStr(0,3,"关时间:");
DisplayStr(10,2,"分");
DisplayStr(10,3,"分");
timer_ptr = I2c_timertable;
temp[0] = timer_ptr[0].enable;
temp[1] = timer_ptr[0].open_time;
temp[2] = timer_ptr[0].close_time;
temp[3] = timer_ptr[0].out_state;
i=0;
while(1)
{
TimerDisplay(temp);
TimerPoint(i);
key_value = WaitKey(1000);
if(key_value == 'x' || key_value == 0xff)
return;
else if(key_value == 'e')
{
if(i<3)
i++;
else
break;
}
else if(key_value == 'u')
{
if(i==0)
temp[0] = 1;
if(i==1 && temp[1]<60)
temp[1]++;
if(i==2 && temp[2]<60)
temp[2]++;
if(i==3)
temp[3] = 1;
}
else if(key_value == 'd')
{
if(i==0)
temp[0] = 0;
if(i==1 && temp[1]>0)
temp[1]--;
if(i==2 && temp[2]>0)
temp[2]--;
if(i==3)
temp[3] = 0;
}
}
timer_ptr[0].enable = temp[0];
timer_ptr[0].open_time = temp[1];
timer_ptr[0].close_time = temp[2];
timer_ptr[0].out_state = temp[3];
temp[3] = timer_ptr[0].out_state;
if(timer_ptr[0].out_state == 0)
TIMER_OUT = 1;
else
TIMER_OUT = 0;
CLEAR_SCREEN();
DisplayStr(0,1,"设定成功...");
key_value = WaitKey(25);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -