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