ds1820 sensörünü benim programlar ile kullanmak için aşağıdaki değişikliklerin yapılması gerekiyor.
1. değişken tanımlamalarına aşağıdaki iki değişken adını ilave ediniz.
kalan var byte
sayac var byte
2. programın sensoroku isimli bir bölümü var. bu bölümü aşağıdaki bölüm ile değiştiriniz.
Kod:
sensoroku:
owout comm_pin, 1, [$cc, $44]' ısı değerini oku
bekle:
owın comm_pin, 4, [busy] ' busy değerini oku
ıf busy = 0 then bekle ' hala meşgulmü? , evet ise goto bekle..!
owout comm_pin, 1, [$cc, $be]' scratchpad memory oku
owın comm_pin, 0, [ham.lowbyte, ham.hıghbyte, skip 4, kalan, sayac]
gosub hesapla
return
hesapla: ' ham değerden santigrat derece hesabı
sign = "+"
ıf sıgn_bıtı = negat_ısı then
sign = "-"
ısı=(((($ffff-ham+1)>>1)*100)-25)+ (((sayac - kalan) * 100) / sayac)
goto gec
endif
ısı = (((ham >> 1) * 100) - 25) + (((sayac - kalan) * 100) / sayac)
gec:
ısı2 = (ısı //100)/10
ısı1=ısı/100
return
3. bu değişiklikleri yaptıktan sonra programı yeniden derleyin ve oluşturduğunuz hex dosyasını kullanın.
hepsi bu kadar. deneme yapma imkanım yok. çünki elimde ds1820 yok. deneyen birisi sonucu bildiririse memnun olurum.
ete