DS1302 isisde 16f628a ile çalışıyor. Bord üzerinde çalışmıyor ?

Başlatan sürücü1047, 17 Eylül 2011, 18:15:49

sürücü1047

selam  arkadaşlar

ds1302 isisde 16f628a ile sorunsuz çalışıyor. Fakat bord üzerinde çalışmıyor.
kodlar bunlar eksik bişeymi var acaba?
Device = 16F628A
XTAL = 4Mhz
Declare LCD_DTPIN PORTB.4 
Declare LCD_RSPIN PORTA.0
Declare LCD_ENPIN PORTA.1
Declare LCD_TYPE = 0
Declare LCD_INTERFACE = 4   ;LCD 4 line interface
Declare LCD_LINES = 2      ;LCD number of display lines
CMCON=7
 
 
 
 
 
Symbol LATA   = %00000000
Symbol LATB   = %00000000 
Symbol LATC   = %00000000
Symbol LATD   = %00000000
Symbol LATE   = %0000 
Symbol clockout=%11010000


Symbol SCLK = PORTB.1
Symbol IO = PORTB.2
Symbol RST = PORTB.0


 
Dim mem As Byte
Dim sayi As Byte
Dim saniye As Byte
Dim dakika As Byte

Dim SAAT As Byte
Dim GUN As Byte
Dim AY As Byte
Dim YIL As Byte
Dim DAY As Byte
Dim ONLAR As Byte
Dim BIRLER As Byte 

 



''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    
    
    
saniye=00
dakika=00
SAAT=00


GUN =00
AY  =00
DAY= 00
YIL =00 
          
          Cls 
          DelayMS 150 
 basla:

      
          
High RST
SHOut IO, SCLK, lsbfirst, [%10001110,%0]    
Low RST 
High RST
SHOut  IO, SCLK,lsbfirst, [%10111110,saniye,dakika,SAAT,GUN,AY,DAY,YIL,%0]  
Low RST
 
      
saatok:
          
High RST                                            
SHOut IO, SCLK,lsbfirst, [%10111111]
SHIn IO, SCLK, lsbpre, [saniye,dakika,SAAT,GUN,AY,DAY,YIL]     
Low RST         
          
          
   mem=saniye       
   saniye=sayi    
          
ONLAR=mem & %01110000
ONLAR=ONLAR>>4
BIRLER=mem & %00001111
sayi=ONLAR*10+BIRLER

  

    
          
          
Print  At 1,1,"TIME :", DEC2 SAAT,":",DEC2 dakika,":",DEC2 saniye  


  
          
GoTo saatok          

          
         
   End       

Include "MODEDEFS.BAS"



sürücü1047

sorun bordan kaynaklanıyormuş.

Bu kodlar çalışıyor. proton ide ile
dakika ve saat için de gerkli ayarlamaları yaparsam sanırım onlarda
sosunsuz çalışacak.

başlangıç için iyi sonuç.

sürücü1047

saat ve dakika icin gerekli ayarlamaları yaptım çalışıyor. Fakat ds1302 nin 4 nolu GND ucunu bağlarsam
saniye duruyor. Birde vcc2 nolu ucuna 3 voltan fazla verirsem saniye saymaya başlıyor. voltaj ne kadar yükselirse saniye de hızlı çalışıyor. sanki besleme gerilimi hasasiyet ayarı gibi çalışyor.

sebebini anlayamadım sizce nedendir?

:o  :o  :o

Andromeda

devre gerçek bir devre mi?
gnd ucu bağlanmazsa devre zaten çalışmaz ki....
" Tanrı, iradesini hakim kılmak için yeryüzündeki iyi insanları kullanır, yeryüzündeki kötü insanlar ise kendi iradelerini hakim kılmak için Tanrı'yı kullanırlar." ..." Tanrı'dan mesaj gelmiyor, biz Tanrı'ya mesaj gönderiyoruz"

bayelektronik

Alıntı yapılan: sürücü1047 - 22 Eylül 2011, 15:53:47
saat ve dakika icin gerekli ayarlamaları yaptım çalışıyor. Fakat ds1302 nin 4 nolu GND ucunu bağlarsam
saniye duruyor. Birde vcc2 nolu ucuna 3 voltan fazla verirsem saniye saymaya başlıyor. voltaj ne kadar yükselirse saniye de hızlı çalışıyor. sanki besleme gerilimi hasasiyet ayarı gibi çalışyor.

sebebini anlayamadım sizce nedendir?

:o  :o  :o
vcc2 ds1302 de ana beslemedir 5 volt sabit temiz bir gerilim olması lazım.vcc1 de pil takılmalıdır enaz 3volt olması lazım o pininde.4 nolu gnd de kesinlikle bağlı kalmalıdır yoksa çalışmaz .

sürücü1047

devreyi bord üzerine kurdum.  çok ilginç ds1302 nin 32.768mhz kristalini bile söksem devre çalışıyor.
ama 16f628a ya 4mhz XT OSİLATÖR bağlamıştım. sanırım ordan çalışıyor. sigorta ayarlarını yükleme yaparken ayarlıyorum. winpic800 proğramı ile yüklüyorum. osilatör seçeneğini XT VE PWRTE işaretleyip yüklüyom. MCLRE
yi kullanmıyorum.

isterseniz kodları yükleyebilirim.
teşekkürler.