#include <reg52.h>
#include "keyscan.h"
#include "74hc595.h"
//#include "1602led.h"
#include "delay.h"
#include "ds12c887.h"
#include "smgdisplay.h"
sbit s1 = P3^7; //设置按键
sbit s2 = P3^4; //时间+ 按键
sbit s3 = P3^5; //时间- 按键
sbit s4 = P3^0;
uchar num,moshi,shezhib=0;
void keyscan()
{
s4=0;
//*************************************************************
//该部分位红外键值处理部分
if(jianzhi==13366) //设置键
{
s1=0;
jianzhi=1;
}
if(moshi>0)
{
if(jianzhi==13367) //时间 + 键
{
s2=0;
jianzhi=2;
}
if(jianzhi==13365) //时间 - 键
{
s3=0;
jianzhi=3;
}
}
//*****************************************************************
if(moshi==1)
{
time_dian(8);//秒钟后面写点指示当前设置秒
}
if(moshi==2)
{
time_dian(5);//分钟后面写点指示当前设置秒
}
if(moshi==3)
{
time_dian(2);//时钟后面写点指示当前设置秒
}
if(s1==0)
{
delay(1);
if(s1==0)
{
//***************************************
if(jianzhi==1)
s1=1; //红外按键处理
//***************************************
while(!s1);
kaiz=1;
moshi++;
if(moshi==4)
{
if(moshi==4)
{
moshi=0;
if(shezhib==1)
{
write_ds_ds12c887(0,miao);//刷新秒
write_ds_ds12c887(2,fen);//刷新分
write_ds_ds12c887(4,shi);//刷新时
}
shezhib=0;
kaiz=0;
}
}
}
}
if (moshi==1)
{
if(s2==0)
{
delay(1);
if(s2==0)
{
//***************************************
if(jianzhi==2)
s2=1; //红外按键处�
//***************************************
while(!s2);
miao++;
shezhib=1;
if(miao==60)
{
miao=0;
}
}
}
if(s3==0)
{
delay(1);
if(s3==0)
{
//***************************************
if(jianzhi==3)
s3=1; //红外按键处�
//***************************************
while(!s3);
miao--;
shezhib=1;
if(miao==(0))
{
miao=59;
}
}
}
}
if (moshi==2)
{
if(s2==0)
{
delay(1);
if(s2==0)
{
//***************************************
if(jianzhi==2)
s2=1; //红外按键处�
//***************************************
while(!s2);
fen++;
shezhib=1;
if(fen==60)
{
fen=0;
}
}
}
if(s3==0)
{
delay(1);
if(s3==0)
{
//***************************************
if(jianzhi==3)
s3=1; //红外按键处�
//***************************************
while(!s3);
fen--;
shezhib=1;
if(fen==(-1))
{
fen=59;
}
}
}
}
if (moshi==3)
{
if(s2==0)
{
delay(5);
if(s2==0)
{
//***************************************
if(jianzhi==2)
s2=1; //红外按键处�
//***************************************
while(!s2);
shi++;
shezhib=1;
if(shi==24)
{
shi=0;
}
}
}
if(s3==0)
{
delay(1);
if(s3==0)
{
//***************************************
if(jianzhi==3)
s3=1; //红外按键处�
//***************************************
while(!s3);
shi--;
shezhib=1;
if(shi==(-1))
{
shi=24;
}
}
}
}
}