السلام عليكم
لدي ساعة واريض اضافة اربع منبهات
كود:
// LCD module connections
sbit LCD_RS at RB6_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;
sbit LCD_RS_Direction at TRISB6_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;
char s0,s1,m0,m1,h0,h1,j,x,y;
bit r;
void jour(){
if(j==0) Lcd_Out(1,11,"LUN");
if(j==1) Lcd_Out(1,11,"MAR");
if(j==2) Lcd_Out(1,11,"MER");
if(j==3) Lcd_Out(1,11,"JEU");
if(j==4) Lcd_Out(1,11,"VEN");
if(j==5) Lcd_Out(1,11,"SAM");
if(j==6) Lcd_Out(1,11,"DIM");
}
void InitTimer0(){
OPTION_REG = 0x87;
TMR0 = 61;
}
void Interrupt(){
if (TMR0IF_bit){
TMR0IF_bit = 0;
TMR0 = 61;
//Enter your code here
y++;
x++;
if(y==20){y=0;s0++;}
if(s0==10){s0=0;s1++;}
if(s1==6){s1=0;m0++;}
if(m0==10){m0=0;m1++;}
if(m1==6){m1=0;h0++;}
if(h0==10){h0=0;h1++;}
if(h1==2 && h0==4){h1=h0=s1=s0=m1=m0=0;j++;}
if(j==7)j=0; }
if(INTCON.INTF==1){
r=~r;
}
INTCON.INTF=0;
}
void aficher(){
lcd_chr(1,8,s0+48); lcd_chr(1,7,s1+48);lcd_out(1,3,":");lcd_out(1,6,":");lcd_chr(1,5,m0+48); lcd_chr(1,4,m1+48);
lcd_chr(1,2,h0+48); lcd_chr(1,1,h1+48);
}
void main() {
trisa=0xff;
trisb=1;
porta=portb=0;
InitTimer0();
intcon=0xB0;
j=0;
r=0;
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR); // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF);
for(;;){
aficher();
jour();
Lcd_Out(2, 1,"menu");
while(r==1){
Lcd_Cmd(_LCD_CLEAR);aficher();delay_ms(1000);Lcd_Cmd(_LCD_CLEAR);aficher();
while(porta.f0==0){h1++;if(h1==3){h1=0;}lcd_chr(1,1,h1+48);delay_ms(500); }
Lcd_Cmd(_LCD_CLEAR);aficher();delay_ms(1000);
while(porta.f0==0){h0++;if(h0==10){h0=0;}aficher();delay_ms(500); }
Lcd_Cmd(_LCD_CLEAR);aficher();delay_ms(1000);
while(porta.f0==0){m1++;if(m1==6){m1=0;}aficher();delay_ms(500); }
Lcd_Cmd(_LCD_CLEAR);aficher();delay_ms(1000);
while(porta.f0==0){m0++;if(m0==10){m0=0;}aficher();delay_ms(500); }
Lcd_Cmd(_LCD_CLEAR);aficher();delay_ms(1000);
while(porta.f0==0){j++;if(j==7){j=0;}jour();delay_ms(500);}
r=0;
}
}}