DS serisi malzemeleri

Başlatan TFN, 25 Aralık 2007, 23:09:34

TFN

DS serisi malzemelerin Türkçe datasheetlerini arıyorum özellikle ds1307 ve ds1820

Saat ve sıcaklık gösteren bir devre yapacağım ama bu malzemelerin özelliklerini iyice bilmem gerekiyor ama hiç biryerde yok :lol:

ise

boardda yapılmış onlarca örnek var  bu örneklerden bakarak i2c mantığını, malzemelerin çalışma şeklini anlayabilirsin.

bcavlak

o malzemelerin TR datasheetlerini bulabileceğini sanmam.
Aşagıda DS18B20 için yazılan bir ısı okuyucu mevcut...

OWOut   Comm_Pin, 2, [$CC, $4E,%10011111,%10011111,%00011111]'
'                              ----th--- ----tl--- ---CFG---
'%00011111  9-bit resolution
'%00111111 10-bit resolution
'%01011111 11-bit resolution
'%01111111 12-bit resolution
Pause 100
'------------------------------------------------------------------------
	OWOut   Comm_Pin, 1, [$CC, $48]		' konfigürasyon değerlerini EEPROM'a kaydet

Start_Convert:
 	OWOut   Comm_Pin, 1, [$CC, $44]		' Skip ROM search & do temp conversion
   
Wait_Up:
    OWIn    Comm_Pin, 4, [Busy]   		 ' Read busy-bit
    IF      Busy = 0 Then wait_up	   	' Still busy..?, Wait_Up..!
    OWOut   Comm_Pin, 1, [$CC, $BE]		' Skip ROM search & read scratchpad memory
    OWIn    Comm_Pin, 2, [R_Temp.Lowbyte, R_Temp.Highbyte]' Read two bytes / end comms
    GoSub   Convert_Temp
	GoSub 	disp
	GoSub	alarmkur
	GoSub 	alarmtest
	GoTo    Start_Convert
    
Convert_Temp:                 	 	
    IF Cold_Bit = Real_Cold Then eksiderece 	' If Cold_Bit = 1, it's below "0" deg C

    TempC = (R_Temp & $0FF0) >> 4 				' Mask middle 8-bits, shift into lower byte
    Float = (R_Temp.lowbyte & $0F) 				' Lower 4-bits of result * 625
    altderece= float.3 * 5 						; 0,5 dereceyi displayde gösterme 
	c=tempc
	rakam1= altderece							; ondalık değer 
    rakam2= tempc DIG 0							; 1 LER
	rakam3= tempc DIG 1							; 10 LAR
	tr4durum=1									; display off
	
	Return

eksiderece :                    
    TempC  = ((R_Temp ^ $ffff) & $0FF0) >> 4 ' Mask middle 8-bits, shift into lower byte
	Float = (R_Temp.lowbyte ^ $0f) & $0f
	altderece= float.3 * 5 
	c=(R_Temp & $0FF0) >> 4
	rakam1= altderece 
	rakam2= tempc DIG 0
	rakam3= tempc DIG 1
	rakam4=11								; "-"simgesi yerine geçecek
	tr4durum=0
	Return



//////////////////////////////////

Bu PBP ile yaptığım bir çalışmaydı. Bu standart bir komut bütünüdür.
Türkçe kaynak bulmana gerek yok bence...
Bilgiler, paylaşıldıkça değer kazanır.