[YARDIM] DS2431 1K EEPROM

Başlatan tayfun91, 05 Temmuz 2015, 18:27:44

tayfun91

Merhaba Arkadaşlar. Hayırlı Ramazanlar.
Arkadaşlar PicBasicte Yeniyim kopyala yapıştır ile bişeyler yapmaya çalışıyorum. az cok ta bişeyler öğrendim

fakat yapamadığım bişey var bu konu hakkında yardımcı olursanız çok sevinirim

öncelikle belirtmek isterimki işletim sistemim win7 64 bit olduğu için pbp compiler kullanamıyorum mcs de mpasmwin ile derliyorum bu yüzden
sigorta ayarlarını pic'e yüklerken manuel yapıyorum...

Şimdi sorunuma gelebilirim sanırım :)

elimde ds2431 var herhangi bi proje amacım yok sadece öğrenmek amaçlı olduğunu belirteyim :)


şimdi ben nettte araştırmalarıma göre bi takım şeyler buldum.

fakat ben bu eeproma adrese nasıl yazcam ve nasıl okuyacağım?

örneğin normal picin kendi hafızasında okurken "Read $01,değişken" şeklinde okuyabiliyoruz. peki bunda nasıl oluyor. kodları aşağıya yazdım... müsait bi anınızda yardımcı olursanız cok sevinirim şimdiden hepinize teşekkürler. iyi çalışmalar.


TRISA=%00000001
TRISB=%00000001
TRISC=0
TRISD=0
'-------------------------------------------------------------------------------

'-------------------------------------------------------------------------------
DEFINE LCD_DREG      PORTB
DEFINE LCD_DBIT      4   
DEFINE LCD_EREG      PORTB
DEFINE LCD_EBIT      3      
define LCD RWREG    PORTB 
define LCD_RWBIT    2     
DEFINE LCD_RSREG   PORTB
DEFINE LCD_RSBIT   1   
DEFINE LCD_BITS      4   
DEFINE LCD_LINES   2      
Define LOADER_USED 1
Include "Modedefs.Bas"
Define OSC 20
' Setup Hardware for uart
DEFINE HSER_BAUD 9600
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 24h
DEFINE HSER_CLROERR 1
CLEAR



Low PORTB.2      
LCDOut $FE,1   
pause 200       
                                                                           
OPTION_REG.7 = 0 ' Enable PORTB pullups FOR 16F877A
ADCON1 = 7 ' Make PORTA and PORTE digital
DQ VAR Portb.0 ' One-wire data pin "DQ" on PortD.2
ID VAR BYTE[8] ' Array storage variable for 64-bit ROM code
result var byte
mem var byte
mem2 var byte

Begin:


Start_Convert
LCDOUT $FE,$80," Srromcom",10,13
OWOUT DQ, 1, [$33] ' Issue Read ROM command   

ID_Loop:
OWIN DQ, 0, [STR ID\8]' Read 64-bit device data into the 8-byte array "ID"

lcdout $FE,$C0,"Ser# = ",HEX2 ID[1],HEX2 ID[2],HEX2 ID[3],HEX2 ID[4],_
HEX2 ID[5],HEX2 ID[6],"h",10,13
lcdout $FE,$94," ROMcodrec",10,13



PAUSE 10000 ' 10-second pause
GOTO Start_Convert

END

ete

O kadar kullanılması kolay eprom dururken bu one wire epromu neden seçtiğini bilemiyorum. Özel bir durum sözkonusu olsa gerek. Elbette neyin nasıl yapıldığı Data Sheet de yazıyor. Ancak anlamak için 25 sayfalık bu data sheetin epeyce okunması gerekiyor.
Normalde bunu yapabilirdim. Ancak bu iş epeyce konsantrasyon istiyor. Oruç ve konsantrasyon yan yana gelemiyorlar maalesef.
Üstelik bu konunun kaç kişiyi ilgilendireceğinide merak ettim doğrusu.

Ete

tayfun91

özel bir durum söz konusu değil aslında.  bu toner den elime geçti merak ettim araştırdım. datasheet baktm fakat cooook karışık geldi.
ama eğer olurda yardım ederseniz cok teşekkr ederm etmezsenizde canınız saolsun :))
haklısınız sizde oruç olunca insan pek derin düşünemiyor.

kartal_0689

Madem EEPROM Öğrenmek istiyorsun Microchip' in 24xx serilerine bak. Oldukça kolay. Aynı pic hafızasını okur gibi okuyabilirsin tabi bir kaç farklılığı var.
Ama One Wire öğrenmek istiyorsan önce internette sıkça kodları olabilien DS18B20 sensörlerinin kullanılmasına bak. Senin için fikir verir. Sen de daha sonra üzerine koyarak gidersin.
TURKEY/ANK

tayfun91

bu dediğinizi araştırıcam cevaplar için teşekkür ederim iyi çalışmalar...

Powered by EzPortal