pic16f628a ve ds1822 sıcaklık kontrol.......

Katılım
6 Ocak 2009
Mesajlar
5
Puanları
1
Yaş
39
Arkadaslar merhaba;
benim sorunum kısaca 16f628a ve ds1822 ile bir devre üzerine çalısıyorum.
yapmak istediğim 3 farklı sıcaklıkta 3 ayrı röle tetiklemek.ds1822 den sıcaklıgı aşagıdaki program sayesinde okuyup lcd ekrana yazdırabiliyorum.
bu programa ilaveten "programın içine yazdıgım" bir ısıya gelince pic den röle tetiklemek için cıkıs almak isiyorum.
bana yardımcı olabilirmsiniz...?
diğer bir sorumda;3 tane ds1822 kullanmak yerine tek sensörle bu işi halledebilirmiyim...?



SENSOROKU1:

OWOUT Comm_Pin1, 1, [$CC, $44]' ISI değerini oku
Bekle1:
OWIN Comm_Pin1, 4, [Busy] ' Busy değerini oku
IF Busy = 0 THEN Bekle1 ' hala meşgulmü? , evet ise goto Bekle..!
OWOUT Comm_Pin1, 1, [$CC, $BE]' scratchpad memory oku
OWIN Comm_Pin1, 2, [HAM.Lowbyte, HAM.Highbyte]' İki byte oku ve okumayı bitir.
GOSUB Hesapla1
RETURN

Hesapla1: ' Ham değerden Santigrat derece hesabı
Sign = "+"
IF SIGN_BITI = NEGAT_ISI THEN
Sign = "-"
temp=($ffff-ham+1)*625
ISI = DIV32 10
GOTO GEC1
endif
TEMP = 625 * (HAM+1) '
ISI = DIV32 10 ' Div32 hassas derece hesabı için 32 bit bölme yapıyoruz.
GEC1:
FLOAT = (ISI //1000)/100
ISI=(ISI/1000)

LCDOUT $fe,1," EKOCLIMATE"
lcdout $FE,$C0,"1.SENSOR",": ",Sign,DEC ISI,".",DEC1 (Float),4,"C " '2. satırda ısı
pause 1500
if ISI=65535 then

lcdout $FE,$80,"1. SENSORU TAKIN"

endif

RETURN
 
aynı ortam ısısını ölçeceksen elbette yapabilirsin tek bir sensörle ölçüp istediğin kadar karşılaştırma yapıp çıkış alabilirsin
 
şimdi seninkullandığın prg.dilini bilmiyorum ama sanırım hazır makro kullanyor ısı değerini dönüştürdüğün değişkeni karşılaştırma yapacaksın 3 ayrı değişken tanımlayıp onlarada çıkış alacağın sıcaklık değerlerini gireceksin karşılaştırmanı eşitse diye yapma büyük eşitse diye yap.
 

Forum istatistikleri

Konular
128,281
Mesajlar
916,405
Kullanıcılar
450,106
Son üye
orhanyildiz07

Yeni konular

Geri
Üst