LCD SAAT ALARM EKLEMEK

Başlatan POWER, 07 Ağustos 2006, 14:18:41

POWER

Arkadaşlar aşağıda 16f628 ile yapılmış basit bir saat devresi var.Ben buraya alarm eklemek istiyorum.Alarmı istediğim zaman diliminde aktif edebiliyorum.Tabiki bunu proğramı yüklerken belirlediğim bir zamanda yapabiliyorum.Yapmak istediğim alarm için belirleyeceğim zamanı butonlar ile belirlemek istiyorum fakat bunun için nasıl bir mantık kullanmam gerekiyor.Yardımcı olabilirmisiniz?
http://rapidshare.de/files/28500990/SAAT.rar.html
TB6BKG

Logan

@power,
Aşağıda kodunu verdiğim programı denedim, çalışıyor.biraz daha bekleseydin forma yazmana gerek kalmayacaktı. :)

tickint:
    ticks = ticks + 1
    If ticks < 61 Then tiexit
        ticks = 0
        saniye = saniye + 1
        if saniye>=15 then portb.2=0
     if saniye=5 then portb.2=0
        Pauseus 574
         If saniye >= 60 Then
            saniye = 0
            dakika = dakika + 1
            If dakika >= 60 Then
                dakika = 0
                saat = saat + 1
            if saat=1 then portb.2=1
            sound  PORTB.1,[110,20] 
                    If saat >= 24 Then
                        saat = 0
                    Endif
                Endif
            Endif
        guncelle = 1
'-------------------------------------------------------------------------------
tiexit:
    INTCON.2 = 0
    Resume
    END
İmza.

savas1980

@ Logan
bu verdiğin saat programımı yoksa alarm ayar kısmımı?

Logan

Power'ın verdiği linkteki programı incelersen bu kısmın sadece programın saati sayan kısmı olduğunu göreceksin.Yer kaplayacağından dolayı programın hepsini yazma gereği duymadım.Sadece tickint kısmından sonrasını yazdım.
İmza.

POWER

@logan
Cevap için teşekkürler.Alarm için yazdığın proğramı denedim sorunsuz çalışıyor.Ben bunu farklı bir mantık kullanarak yapmıştım.Şimdi benim sormak istediğim dışardan, yani buton kullanarak alarm zamanını nasıl ayarlamamız gerektiğini,bunu yapmak için nasıl bir mantık kullanmamız gerektiğini sormuştum.İkincisi sizi meşgul etmemek için forma yazmıştım,sorun olacağını düşünmüyorum.
'-----------------------------------AKTİF---------------------------------------
tickint:
  IF s_zamani=01 AND ZAMAN<10 THEN
        PORTB.2=1
        ENDIF
'-------------------------------------------------------------------------------   
           ticks = ticks + 1
        If ticks < 61 Then tiexit
           ticks = 0
           saniye = saniye + 1
           Pauseus 574
        If saniye >= 60 Then
           saniye = 0
           dakika = dakika + 1
        If dakika >= 60 Then
           dakika = 0
           saat = saat + 1
        If saat >= 24 Then
           saat =0
           s_zamani=s_zamani+1
        IF s_zamani>= 31 THEN
           s_zamani=0
   
        ENDIF
        Endif
        Endif
        Endif
           guncelle = 1
'----------------------------------PASİF--------------------------------------    
  if  PORTB.2=1 then  
     while  PORTB.2=1 AND ZAMAN <10
             ZAMAN=ZAMAN+1 
             pause 1 
     GOTO tickint
     wend 
   portb.2=0
        ENDIF
'-------------------------------------------------------------------------------       
tiexit:
    INTCON.2 = 0
    Resume
    END
TB6BKG

Logan

Buyur Power kardeş sorularının cevabı aşağıdaki linktedir.Denedim, sorunsuz çalışıyor.Bir sorun olursa MSN açık. :)

http://rapidshare.de/files/28597450/Desktop.rar.html
İmza.