 |
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
|
|
نشاط [ سعيد قادر ]
قوة السمعة:151
|
|
27-05-2014, 06:12 PM
المشاركة 8
|
|
سنستخدم الفاصلات العشرية بين الدقائق والساعات بهذا الشكل
الكود بعد الاضافة
كود:
#define is ==
#define preseed 0
#define sw1 porta.f4
#define sw2 porta.f5
#define sw3 porta.f6
#define sw4 porta.f7
#define on 1
#define off 0
#define dp portb.f7
const char data_seg[]={63,6,91,79,102,109,125,7,127,111};
char x=0,tt=0,hu=1,mnt=0,se=0,sec=0,mntt=0,hur=0,slect=0;
int y=0;
void interrupt()
{if(sec is on )
{if(x is 0)
{
porta=5;
portb= data_seg[se%10];
delay_ms(2);
portb=0;
}
if(x is 1)
{
porta=4;
portb=data_seg[se/10];
delay_ms(2);
portb=0;
} }
//****************************************************************
if(mntt is on)
{if(x is 2)
{
porta=3;
portb=data_seg[mnt%10];
delay_ms(2);
portb=0;
dp=tt;
}
if(x is 3)
{
porta=2;
portb=data_seg[mnt/10];
delay_ms(2);
portb=0;
}}
//****************************************************************
if(hur is on )
{if(x is 4)
{
porta=1;
portb=data_seg[hu%10 ];
delay_ms(2);
portb=0;
dp=on;
}
if(x is 5)
{
porta=0;
portb=data_seg[hu/10 ];
delay_ms(2);
portb=0;
}}
//****************************************************************
x++;
if(x is 6)
{x=0;y++;}
if(y is 32)
{se++;y=0;tt++;}
if(tt is 2)tt=0;
//******************************************************************
intcon=0b00100000;
tmr0=217;
if(se is 60)
{
se=0;mnt++;
}
if(mnt is 60){mnt=0;hu++;}
if(hu is 13)hu=1;
if(sw1 is preseed)
{
delay_ms(1);
while(sw1 is preseed);
delay_ms(1);slect++;
if(slect is 4)
slect =1;
}
}
//***************************************************************
void init()
{cmcon=7;
trisa=240;
porta=0;
trisb=0;
portb=0;
intcon=160;
option_reg=133;
}
//***************************************************************
void main()
{
init(); sec=on;mntt=on;hur=on;tt=1;
while(1)
{
if(slect is 1)
{
se=0;
dp=off;
hur=off;
sec=off;
mntt=on;
if(sw2 is preseed)
{
delay_ms(1);
while(sw2 is preseed);
delay_ms(1);
mnt++;
if(mnt is 60)mnt=0;
}
if(sw3 is preseed)
{
delay_ms(1);
while(sw3 is preseed);
delay_ms(1);se=0;mnt--;
if(mnt is 255)mnt=59;
}
}
//*******************************************************
if(slect is 2)
{ se=0; dp=off;
hur=on;sec=off;mntt=off;
if(sw2 is preseed)
{ dp=off;
delay_ms(1);
while(sw2 is preseed);
delay_ms(1);hu++;
if(hu is 13)hu=1;
}
//*******************************************************
if(sw3 is preseed)
{
delay_ms(1);
while(sw3 is preseed);
delay_ms(1);se=0;hu--;
if(hu is 255)hu=12;
}
//********************************************************
}
if(slect is 3){sec=on;mntt=on;hur=on;} }
}
|