Ds1307 den veri alımı, bu verilerin seri port ve lcd de gösterimi

Başlatan anıleroglu, 14 Nisan 2012, 10:29:13

anıleroglu

Merhaba arkadaşlar;
Günlerdir bu deney ile ilgili birçok işlem yaptım ancak olmadı ne yazıkki:(
Ben bu DS 1307 ile ne yapıcamm nasıl okuycam nasıl yazıcam lcd ve seri porta nasıl aktarıcam diye diye kendimi paraladım inanın:(
DS1307yi devreye bağladım ve bağlantı portları belli sadece bana protonda şemadaki portlara göre nasıl bir kod yazılıyor bunu bilmek istiyorum..

Yazdığım kodu gönderiyorum (rtc ile ilgili herhangi bir kod yok
(devre bağlantıları)

ds1307        pic16f877

SCL           RC3/SCK/SCL

SDA           RC4/SDI/SDA

PORTE.0,PORTE.1 ve PORTE.2 ye buton bağlantısı yaptım.

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 21.03.2012                                        *
'*  Version : 1.0                                               *
'*  Notes   : ANIL.BAS                                          *
'*          :                                                   *
'****************************************************************
          Device =16F877
        XTAL 20
        ALL_DIGITAL = TRUE
        Declare   LCD_DTPIN      PORTB.4
        Declare   LCD_RSPIN      PORTB.2
        Declare   LCD_ENPIN      PORTB.3
        Declare LCD_LINES      4
        Declare LCD_INTERFACE   4
        Declare HSERIAL_BAUD 9600
        Include "modedefs.bas"
       
        TRISB = %00000000
        TRISD = %11111111
        TRISA = %00000000
        Cls
        DelayMS 500
        Dim GRUP1 As Word :Dim GRUP2 As Word: Dim DALGIC_1 As Word
        Dim DALGIC_2 As Word :Dim DALGIC_3 As Word: Dim DALGIC_4 As Word       
start:

If PORTD.0 = 0 Then GRUP1 = 1: HSerOut ["GRUP1 :",Dec GRUP1,13,10]:DelayMS 100:Print At 1,1,"GRUP1 :",Dec GRUP1:PORTA.0 = 0:PORTA.1 = 0:PORTB.1 = 1
If PORTD.1 = 0 Then GRUP1 = 2: HSerOut ["GRUP1 :",Dec GRUP1,13,10]:DelayMS 100:Print At 1,1,"GRUP1 :",Dec GRUP1:PORTA.0 = 1:PORTA.1 = 0:PORTB.1 = 0
If PORTD.2 = 0 Then GRUP1 = 3: HSerOut ["GRUP1 :",Dec GRUP1,13,10]:DelayMS 100:Print At 1,1,"GRUP1 :",Dec GRUP1:PORTA.0 = 0:PORTA.1 = 1:PORTB.1 = 0
       
If PORTD.3 = 0 Then GRUP2 = 1: HSerOut ["GRUP2 :",Dec GRUP2,13,10]:DelayMS 100:Print At 2,1,"GRUP2 :",Dec GRUP2:PORTA.2 = 0:PORTA.3 = 0:PORTA.5=1
If PORTD.4 = 0 Then GRUP2 = 2: HSerOut ["GRUP2 :",Dec GRUP2,13,10]:DelayMS 100:Print At 2,1,"GRUP2 :",Dec GRUP2:PORTA.2 = 1:PORTA.3 = 0:PORTA.5=0
If PORTD.5 = 0 Then GRUP2 = 3: HSerOut ["GRUP2 :",Dec GRUP2,13,10]:DelayMS 100:Print At 2,1,"GRUP2 :",Dec GRUP2:PORTA.2 = 0:PORTA.3 = 1:PORTA.5=0
       
        GoTo start
        End
       

ibrsel

Alıntı Yap
Yazdığım kodu gönderiyorum (rtc ile ilgili herhangi bir kod yok

RTC ile ilgili yazdığın kod olmadan RTC okumada ve yazmada nerede hata yaptığını nereden bilebiliriz.
Ayrıca devre şemanda nasıl bir bağlantı yaptın,SCL ve SDA uçlarına pull up direnci bağladınmı? DS ye 32KHz kristal taktınmı.Bunların hepsi cevapsız. Yardım alabilmen için bağlantı şemanı ve kodlarını tam olarak verip takıldığın yerleri açıkca belirtmelisin.Tahmin üzerine yapılan yardımlar havada kalır ve sonuca ulaşamayabilirsin ..