|
截的圖片沒發(fā)出來,設(shè)置的數(shù)值放進EPPROM里面保存
按鍵部分的代碼:
void key_handle()
{
uchar e1,e2,limit;
long add1,add2;
switch (q)
{
case 0:limit = 65;add1 = 0x0010;add2 = 0x0020;p = 1;break;
case 1:limit = 24;add1 = 0x0020;add2 = 0x0010;break;
case 2:limit = 23;add1 = 0x0210;add2 = 0x0220;break;
case 3:limit = 24;add1 = 0x0220;add2 = 0x0210;break;
case 4:limit = 23;add1 = 0x0410;add2 = 0x0420;break;
case 5:limit = 24;add1 = 0x0420;add2 = 0x0410;break;
case 6:limit = 23;add1 = 0x0610;add2 = 0x0620;break;
case 7:limit = 24;add1 = 0x0620;add2 = 0x0610;break;
case 8:limit = 24;add1 = 0x0810;add2 = 0x0820;break;
case 9:limit = 24;add1 = 0x0820;add2 = 0x0810;break;
case 10:limit = 1;add1 = 0x0A10;add2 = 0x0A20;p = 0;break;
case 11:limit = 99;add1 = 0x0A20;add2 = 0x0A10;break;
case 12:limit = 99;add1 = 0x0C10;add2 = 0x0C20;break;
case 13:limit = 23;add1 = 0x0C20;add2 = 0x0C10;break;
case 14:limit = 59;add1 = 0x1210;add2 = 0x1280;break;
case 15:time_set();break;
case 16:time_set();break;
case 17:time_set();break;
case 18:limit = 3;add1 = 0x1080;add2 = 0x1020;break;
case 19:limit = 2;add1 = 0x1280;add2 = 0x1210;break;
}
b = c;
e1 = dcx(add1);
delay2(2);
e2 = dcx(add2);
if(limit<e1) e1 = 0;
display1(e1);
while(1)
{
if(KEY_1 == 0)
{
Delay(2);
if(KEY_1 == 0)
{
while(KEY_1 == 0);
if(limit<++e1) e1 = 0;
b = c;
cc(add1 & add2);
if(IAP_CONTR == 0) xcx(add1,e1);
if(IAP_CONTR == 0) xcx(add2,e2);
display1(e1);
}
}
if(KEY_2 == 0)
{
Delay(2);
if(KEY_2 == 0)
{
while(KEY_2 == 0);
if(limit<--e1) e1 = limit;
b = c;
cc(add1 & add2);
if(IAP_CONTR == 0) xcx(add1,e1);
if(IAP_CONTR == 0) xcx(add2,e2);
display1(e1);
}
}
jump();
}
}
void time_set()
{
uchar i,s,limit;
switch (q)
{
case 15:i = duqu_shi();limit = 23;break;
case 16:i = duqu_fen();limit = 59;break;
case 17:i = duqu_xingqi();limit = 7;break;
}
b = c;
display1(i);
while(1)
{
if(KEY_1 == 0)
{
Delay(2);
if(KEY_1 == 0)
{
while(KEY_1 == 0);
if(limit<++i) i = 0;
b = c;
IIC_send_addr_dat(0x00,0x20);
switch (q)
{
case 15:s = i;s = dec_change_bcd(s);IIC_send_addr_dat(0x04,s);break;
case 16:s = i;s = dec_change_bcd(s);IIC_send_addr_dat(0x03,s);break;
case 17:s = i;s = dec_change_bcd(s);IIC_send_addr_dat(0x06,s);break;
}
IIC_send_addr_dat(0x00,0x00);
display1(i);
}
}
if(KEY_2 == 0)
{
Delay(2);
if(KEY_2 == 0)
{
while(KEY_2 == 0);
if(limit<--i) i = limit;
b = c;
IIC_send_addr_dat(0x00,0x20);
switch (q)
{
case 15:s = i;s = dec_change_bcd(s);IIC_send_addr_dat(0x04,s);break;
case 16:s = i;s = dec_change_bcd(s);IIC_send_addr_dat(0x03,s);break;
case 17:s = i;s = dec_change_bcd(s);IIC_send_addr_dat(0x06,s);break;
}
IIC_send_addr_dat(0x00,0x00);
display1(i);
}
}
jump();
}
}
void jump()
{
if(10<(c-b))
{
q = 0;
p = 0;
(*v)();
}
if(KEY_SET == 0)
{
delay2(7);
if(KEY_SET == 0)
{
while(KEY_SET == 0);
if(19<++q) q = 0;
(*z)();
}
}
}
void key()
{
if(KEY_SET == 0)
{
Delay(1);
if(KEY_SET == 0)
{
while(KEY_SET == 0);
q = 11;
z = &key_handle;
(*z)();
}
}
} |
|