📄 ir_irss.h
字号:
ir_irs()
{
if(flag0==1)
{
if(ir==0x14)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x04)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x05)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x0e)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x0c)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x0a)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x06)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x00)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x01)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x08)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x09)
{
flag0=0; //flag0标志清0
Sound_ir();
}
if(ir==0x16)
{
flag0=0; //flag0标志清0
Sound_ir();
}
}
if(ir==0x16) //遥控器输入切换键判断,遥控器的键值是(0x16)
{
flag0=0; //flag0清除标志位
flag1=1; //flag1标志位置1
num1++; //k3键循环的次数加加
switch(num1) //k3键每按一次,蜂鸣器就会响一声函数时调用了(Sound_ir();)
{
case 1: write_command(0x8f); //第三行显示秒的位置
write_command(0x0f); //显示光标开
break;
case 2: write_command(0x8d); //第三行显示分的位置
write_command(0x0f); //显示光标开
break;
case 3: write_command(0x8b); //第三行显示时的位置
write_command(0x0f); //显示光标开
break;
case 4: write_command(0x97); //第二行显示星期的位置
write_command(0x0f); //显示光标开
break;
case 5: write_command(0x92); //第二行显示日的位置
write_command(0x0f); //显示光标开
break;
case 6: write_command(0x90); //第二行显示月的位置
write_command(0x0f); //显示光标开
break;
case 7: write_command(0x81); //第一行显示年的位置
write_command(0x0f); //显示光标开
break;
case 8: write_command(0x9f); //第四行显示闹钟秒的位置
write_command(0x0f); //显示光标开
break;
case 9: write_command(0x9d); //第四行显示闹钟分的位置
write_command(0x0f); //显示光标开
break;
case 10: write_command(0x9b); //第四行显示闹钟时的位置
write_command(0x0f); //显示光标开
break;
case 11:
ds887_write_date(5,ahour); //设置的 闹钟 时 写入887
ds887_write_date(3,aminute); //设置的 闹钟 分 写入887
ds887_write_date(1,asecond); //设置的 闹钟 秒 写入887
ds887_write_date(9,year); //设置的 年 写入887
ds887_write_date(8,month); //设置的 月 写入887
ds887_write_date(7,date); //设置的 日 写入887
ds887_write_date(6,week); //设置的 星期 写入887
ds887_write_date(4,hour); //设置的 时 写入887
ds887_write_date(2,minute); //设置的 分 写入887
ds887_write_date(0,second); //设置的 秒 写入887
write_command(0x0c); //显示光标关
flag1=0; //清除标志位
Sound_ir();
num1=0; break; //num1就清为0
default:break;
}
}
if(num1!=0)
{
//-----------------------------------遥控器加键开始----------------------------------------//
if(ir==0x00) //遥控器 加 键判断,遥控器的键值是(0x00)
{
Sound_ir();
switch(num1) //调用的是k3键循环的次数
{
case 1: second++; //当k2键按下,second开始++
if(second==60) //如果second等于60,
second=0; //那么second就等于0 【下面的以此类推】
write_12864add_three(7,second); //设置后的数据要刷新12864屏,地址是屏的第三行位置6,数据是秒
write_command(0x8f); //设置要调节的地址,这一步必须放在此处
break;
case 2: minute++;
if(minute==60)
minute=0;
write_12864add_three(5,minute); //设置后的数据要刷新12864屏,地址是屏的第三行位置3,数据是分
write_command(0x8d); //设置要调节的地址,这一步必须放在此处
break;
case 3: hour++;
if(hour==24)
hour=0;
write_12864add_three(3,hour); //设置后的数据要刷新12864屏,地址是屏的第三行位置0,数据是时
write_command(0x8b); //设置要调节的地址,这一步必须放在此处
break;
case 4: week++;
if(week==8)
week=1;
write_12864add_two(7,week); //设置后的数据要刷新12864屏,地址是屏的第二行位置14,数据是星期
write_command(0x97); //设置要调节的地址,这一步必须放在此处
break;
case 5: date++;
if(date==32)
date=1;
write_12864add_two(2,date); //设置后的数据要刷新12864屏,地址是屏的第二行位置8,数据是日
write_command(0x92); //设置要调节的地址,这一步必须放在此处
break;
case 6: month++;
if(month==13)
month=1;
write_12864add_two(0,month); //设置后的数据要刷新12864屏,地址是屏的第二行位置5,数据是月
write_command(0x90); //设置要调节的地址,这一步必须放在此处
break;
case 7: year++;
if(year==100)
year=0;
write_12864add_one(1,year); //设置后的数据要刷新12864屏,地址是屏的第一行位置2,数据是年
write_command(0x81); //设置要调节的地址,这一步必须放在此处
break;
case 8: asecond++;
if(asecond==60)
asecond=0;
write_12864add_four(7,asecond); //设置后的数据要刷新12864屏,地址是屏的第二行位置14,数据是闹钟秒
write_command(0x9f); //设置要调节的地址,这一步必须放在此处
break;
case 9: aminute++;
if(aminute==60)
aminute=0;
write_12864add_four(5,aminute); //设置后的数据要刷新12864屏,地址是屏的第二行位置11,数据是闹钟分
write_command(0x9d); //设置要调节的地址,这一步必须放在此处
break;
case 10: ahour++;
if(ahour==24)
ahour=0;
write_12864add_four(3,ahour); //设置后的数据要刷新12864屏,地址是屏的第二行位置8,数据是时
write_command(0x9b); //设置要调节的地址,这一步必须放在此处
break;
case 11: num1=0; break;
default:break;
}
}
}
//=================================遥控器减开始=====================================//
if(num1!=0)
{
if(ir==0x01) //遥控器 减 键判断,遥控器的键值是(0x01)
{
Sound_ir();
switch(num1) //调用的是k3键循环的次数
{
case 1: second--; //当k2键按下,second开始--,同时蜂鸣器会响一声
if(second==-1) //如果second等于-1? second=59; //那么second就等于59 【下面的以此类推】
write_12864add_three(7,second); //设置后的数据要刷新12864屏,地址是屏的第三行位置6,数据是秒
write_command(0x8f); //设置要调节的地址,这一步必须放在此处
break;
case 2: minute--;
if(minute==-1)
minute=59;
write_12864add_three(5,minute); //设置后的数据要刷新12864屏,地址是屏的第三行位置3,数据是分
write_command(0x8d); //设置要调节的地址,这一步必须放在此处
break;
case 3: hour--;
if(hour==-1)
hour=23;
write_12864add_three(3,hour); //设置后的数据要刷新12864屏,地址是屏的第三行位置0,数据是时
write_command(0x8b); //设置要调节的地址,这一步必须放在此处
break;
case 4: week--;
if(week==0)
week=7;
write_12864add_two(7,week); //设置后的数据要刷新12864屏,地址是屏的第二行位置14,数据是星期
write_command(0x97); //设置要调节的地址,这一步必须放在此处
break;
case 5: date--;
if(date==0)
date=31;
write_12864add_two(2,date); //设置后的数据要刷新12864屏,地址是屏的第二行位置8,数据是日
write_command(0x92); //设置要调节的地址,这一步必须放在此处
break;
case 6: month--;
if(month==0)
month=12;
write_12864add_two(0,month); //设置后的数据要刷新12864屏,地址是屏的第二行位置5,数据是月
write_command(0x90); //设置要调节的地址,这一步必须放在此处
break;
case 7: year--;
if(year==-1)
year=99;
write_12864add_one(1,year); //设置后的数据要刷新12864屏,地址是屏的第一行位置2,数据是年
write_command(0x81); //设置要调节的地址,这一步必须放在此处
break;
case 8: asecond--;
if(asecond==-1)
asecond=59;
write_12864add_four(7,asecond); //设置后的数据要刷新12864屏,地址是屏的第二行位置14,数据是闹钟秒
write_command(0x9f); //设置要调节的地址,这一步必须放在此处
break;
case 9: aminute--;
if(aminute==-1)
aminute=59;
write_12864add_four(5,aminute); //设置后的数据要刷新12864屏,地址是屏的第二行位置11,数据是闹钟分
write_command(0x9d); //设置要调节的地址,这一步必须放在此处
break;
case 10: ahour--;
if(ahour==-1)
ahour=23;
write_12864add_four(3,ahour); //设置后的数据要刷新12864屏,地址是屏的第二行位置8,数据是时
write_command(0x9b); //设置要调节的地址,这一步必须放在此处
break;
case 11: num1=0; break;
default:break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -