Elektronik Projeler ve Tasarımlar
  DS18B20 Termometre
 



Programın Adı : DS 1820 ile TERMOMETRE programı 

Not : DS 1820 TERMOMETRE UYGULAMASI (DERECE VE FAHRANAYT) 

DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
SICAKLIK VAR WORD
SAYDEGERI VAR BYTE
DER_BAS_SAY VAR BYTE
DQ VAR PORTC.4
LCDOUT $FE,1
LCDOUT " TERMOMETRE"
PAUSE 1000
ANA_PROGRAM:
   GOSUB SICAKLIKOKU
   SICAKLIK = (((SICAKLIK >> 1) * 100) - 25) + (((DER_BAS_SAY - SAYDEGERI) * 100) / DER_BAS_SAY)
   LCDOUT $FE, 1
   LCDOUT "SICAKLIK:",DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " C"
   SICAKLIK = (SICAKLIK */ 461) + 3200
   LCDOUT $FE, $C0
   LCDOUT " ",DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " F" 
   PAUSE 1000 
GOTO ANA_PROGRAM
END 

SICAKLIKOKU:
   OWOUT DQ, 1, [$CC, $44] 
DEGERBEKLE: OWIN DQ, 4, [SAYDEGERI]
   IF SAYDEGERI = 0 THEN DEGERBEKLE
   OWOUT DQ, 1, [$CC, $BE]
   OWIN DQ, 0, [SICAKLIK.LOWBYTE, SICAKLIK.HIGHBYTE, Skip 4, SAYDEGERI, DER_BAS_SAY]
    RETURN


Programın Adı : DS 1820 ile oda sıcaklığını 20-25 derece arasında tutan program 

Not : DS 1820 TERMOMETRE UYGULAMASI (DERECE VE FAHRANAYT)
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 2
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
SICAKLIK VAR WORD
SAYDEGERI VAR BYTE
DER_BAS_SAY VAR BYTE
DQ VAR PORTC.4
ISITICI VAR PORTC.3
FAN VAR PORTC.2
LCDOUT $FE,1
LCDOUT " TERMOMETRE"
PAUSE 1000
ANA_PROGRAM:
   GOSUB SICAKLIKOKU
   SICAKLIK = (((SICAKLIK >> 1) * 100) - 25) + (((DER_BAS_SAY - SAYDEGERI) * 100) / DER_BAS_SAY)
    LCDOUT $FE, 1
    LCDOUT "SICAKLIK:",DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " C"
    IF SICAKLIK/100 < 20 THEN
        ISITICI=1 : FAN=0
    ENDIF
    IF SICAKLIK/100 > 25 THEN
        ISITICI=0 : FAN=1
    ENDIF
    IF 20 <= SICAKLIK/100 <= 25 THEN
       ISITICI=0 : FAN=0
    ENDIF
    SICAKLIK = (SICAKLIK */ 461) + 3200
    LCDOUT $FE, $C0
    LCDOUT " ",DEC (SICAKLIK / 100), ".", DEC2 SICAKLIK, " F"
    PAUSE 1000 
GOTO ANA_PROGRAM
END 

SICAKLIKOKU:
    OWOUT DQ, 1, [$CC, $44] 
DEGERBEKLE: OWIN DQ, 4, [SAYDEGERI]
    IF SAYDEGERI = 0 THEN DEGERBEKLE 
    OWOUT DQ, 1, [$CC, $BE] 
    OWIN DQ, 0, [SICAKLIK.LOWBYTE,    SICAKLIK.HIGHBYTE, Skip 4, SAYDEGERI, DER_BAS_SAY]
    RETURN


 
 
  Bugün 7 ziyaretçi (8 klik) kişi burdaydı!  
 
Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol