📄 task0.c
字号:
#include "main.h"
#include "task0.h"
extern RTC_TIME RTC;
/*按键定义*/
sbit KEY0 = P3^2;
sbit KEY1 = P3^3;
sbit KEY2 = P3^4;
sbit KEY3 = P3^5;
void task0_init(void)
{
}
void task0(void)
{
static unsigned key_flag = 0;
//unsigned char temp;
if(((!KEY0)|(!KEY1)|(!KEY2)|(!KEY3))&(key_flag==0))
{
key_flag = 100;
while(--key_flag);//延时去抖动
key_flag = 1;
if(!KEY0)//Modle键,进入调时模式
{
if(++key_operate > 6)key_operate=0;//调时操作吗
}
else if(!KEY1)//减1调整
{
switch (key_operate)
{
case 1://分钟
if(RTC.Minute-- ==0) RTC.Minute = 59;
break;
case 2://小时
if(RTC.Hour-- ==0) RTC.Hour = 23;
break;
case 3://星期
if(RTC.Week-- ==1) RTC.Week = 7;
break;
case 4://日期
if(RTC.Day-- ==1) RTC.Day = 30;
break;
case 5://月份
if(RTC.Month-- ==1) RTC.Month = 12;
break;
case 6://年份
if(RTC.Year-- ==0) RTC.Year = 99;
break;
default:
break;
}
}
else if(!KEY2)//加1调整
{
switch (key_operate)
{
case 1://分钟
if(++RTC.Minute>59) RTC.Minute=0;
break;
case 2://小时
if(++RTC.Hour>23) RTC.Hour=0;
break;
case 3://星期
if(++RTC.Week>7) RTC.Week=1;
break;
case 4://日期
if(++RTC.Day>30) RTC.Day=1;
break;
case 5://月份
if(++RTC.Month>12) RTC.Month=1;
break;
case 6://年份
if(++RTC.Year>99) RTC.Year=0;
break;
default:
break;
}
}
else if(!KEY3)
{
key_operate=0;
}
}
if((KEY0)&(KEY1)&(KEY2)&(KEY3)) key_flag = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -