12F675 ile 3310 ekran, DS1820 sensor. At binenin.

Başlatan OG, 07 Şubat 2021, 11:03:14

ipek

hocam ilk derlediğiniz dosya 320volt sitesinden bulduğum DS1820 model dosyaları ile kusursuz çalıştı.

invers olarak açıldı ,acaba ben yanlışmı yorumluyorum..
Symbol Mode     =     GPIO.3 buraya bir buton koydum ama işlevsiz,

sizin örneklerde revers etmeyi başarmışsınız,buton yokta yazılımdanmı hallettiniz ?

OG

buton programda aktif ve çalışıyor,

ancak,
isis v7 deki 3310 ile simule ederseniz butonu algıladığını görmüyorsunuz ve ekran hep inverse
resimde paylaştığım gibi

isis v8 de ise her şey normal,

yani,
okuma etiketi kapatılmamış olan
wdtoff olarak derlenen hexi DS1820 sensör ile direk kullanabilirsiniz

wdton için ise yalnız snooze komutu engel, pic uykuya geciyor wdt da tekme atıyor,
onu kaldırıp
1152ms gibi delay verilebilir (snooze 6 karşılığı süre)
1152ms riskli derseniz (wdt reset sınırına yakın) 2 ye bölünebilir
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

OG

Buyur hocam her şey tıkır tıkır çalıştı
WDTE_ON
snooze kaldırdım delayms ekledim
reset atmasın diye gerekli yerlere Clrwdt ekledim
enteresan şekilde DS1822 de çalıştı, demek ki komutları DS1820 ile uyumlu imiş













:10000000000000000000BA28A800083023190130C1
:10001000A900A80C200884002208FF3A8005841754
:1000200080052208031880043730612022088004EC
:10003000A90B09280314B228083023190130A9009C
:10004000A801200884002208FF3A80058417800553
:100050002208800484130005FF3E231DA80C2319E9
:10006000A80D32306120A90B232828080314B228D8
:10007000A300231CB228200884002208FF3A800530
:10008000841780050130A700F43062202208800424
:100090000130A700F430622883169B0083169C0170
:1000A0001C141A089B0AB228A901A800FF30A8074F
:1000B000031CA907031CB2280330A700DF3062200D
:1000C0005628A701E83EA600A709FC30031C6B28B0
:1000D000A60703186828A6070000A70F6828261897
:1000E0007128A61C7528000075280800013EAD0087
:1000F0000A30A800A9018020AD0B7B282A0808003F
:10010000AB01AA011030AC00270DAA0DAB0D2808D9
:10011000AA022908031C290FAB02031896282808F5
:10012000AA0729080318290FAB070310A60DA70D6E
:10013000AC0B8428260808001030AE00A701A601E9
:10014000AD0CAC0C031CAA282808A6072908031824
:10015000290FA707A70CA60CAB0CAA0CAE0BA02866
:100160002A080800831383120313080030088A004A
:100170002F0882008312031383169F018312073016
:100180009900831685018312850107309900831633
:100190009F018312012A851264008510C8013B0D5E
:1001A00003180514031C05100310BB0D85148510DE
:1001B000C80A08304802031CCF2885160800C7016A
:1001C000640047083F3E84000008A400AD012408F5
:1001D000AC00A9011430A8009C20BD002B08BE0073
:1001E000BE08031DF728A0303D02031CFD28A030E7
:1001F00083120313BD02031CBE034130BB00CB209E
:10020000BB01CC20CC200230C50716218030450729
:10021000BB00CB204230BB00CB2016210A30C507E3
:10022000C70A06304702031CE02808000130C60058
:10023000640047083F3E84000008A4000830240200
:10024000031831290230A500EC30A40024083D0732
:10025000AF0025080318013E3E07B000B620BB00E2
:1002600034293D084C20BB00BD0A0319BE0ACC202E
:10027000C60A0B304602031C182908006400361019
:10028000B31F4E293209A4003309A5000130240709
:10029000B20025080318013EB3003614330CA70042
:1002A000320CA600A70CA60CA70CA60CA70C260CBB
:1002B000B4000F303205B500AD013508AC00023096
:1002C000A9007130A8009C20B2002B08B300643054
:1002D0003402031C6E290130BF0074290A30BF00AC
:1002E000361C74290B30BF00A7013408A60001306A
:1002F0007620A4002408C000A7013408A60000301E
:100300007620A4002408C1000C30C2003208A600E8
:100310003308A70003307620A4002408C3000D3062
:10032000C400080064004530BB00CB206400C70156
:1003300047083F3E84000008A400AD012408AC003B
:10034000A9010530A8009C20BD002B08BE00C601F5
:1003500064000330A5008C30A40024083D07AF00E2
:1003600025080318013E3E07B000B620BB00BB09BC
:10037000CC20BD0A0319BE0AC60A05304602031C7A
:10038000A829FF30BB00CC20C70A06304702031C57
:100390009829080064000530A0000430A200013054
:1003A000A3003820CC300420443004206400023004
:1003B000A900EE30552064000230A900EE3055202F
:1003C00064000530A0000430A2000130A3003820F2
:1003D000CC300420BE30042064000530A00004307E
:1003E000A2000030A3001C20B2001C20B300063085
:1003F000A10021080319FF291C20A103F929640089
:100400000800640083160512831205162130BB0014
:10041000CB20D830BB00CB200630BB00CB20133024
:10042000BB00CB202030BB00CB200C30BB00CB204E
:10043000C70140304707BB00CB208030BB00CB203A
:10044000C6016400BB01C708031D282A0330BB0096
:1004500004304702031C2E2AFF30BB000230460244
:100460000318342AFF30BB0052304602031C3A2ADC
:10047000FF30BB00CC20C60A55304602031C212A9F
:10048000C70A06304702031C192A4430BB00CB20A0
:100490008430BB00CB200B30BF000E30C0000F30CB
:1004A000C1001030C2000B30C3001330C4009621CD
:1004B000B330BB00CB201130C1001230C2009621F6
:1004C000CA213208B7003308B8003208B90033082F
:1004D000BA0064000C30BB008519702A0D30BB00D7
:1004E000CB200301B31B013EB81B013C03190130B3
:1004F000031D0030B10033083802031C872A031D96
:10050000852A32083702031C872A0301031D0130A4
:1005100083120313B1050319912A3208B700330877
:10052000B8000130B31B0030B100B81B992A030199
:10053000031D0130B1050319A12A3208B7003308A1
:10054000B8000301B31B013EBA1B013C0319013083
:10055000031D0030B1003A083302031CB72A031D03
:10056000B52A39083202031CB72A0301031D0130E2
:1005700083120313B1050319C12A3208B9003308E5
:10058000BA00B31BC52A0301031D0130B1000130BD
:10059000BA1B0030B1050319D12A3208B90033085B
:1005A000BA008530BB00CB203E210530C500DF20DE
:1005B0008130BB00CB203708B2003808B3003E21A1
:1005C0009221B030BB00CB203908B2003A08B3000A
:1005D0003E219221CA21692AF834FC3406340634BB
:1005E00006348634C6346634FC34F8343F347F3401
:1005F000CC34C634C334C134C034C0347F343F3407
:100600000034103418341C34FE34FE34003400340A
:100610000034003400348034C034C034FF34FF343C
:10062000C034C0340034003418341C34063406346A
:100630000634063406340634FC34F834F034F83426
:10064000C834CC34C634C634C334C134C134C034E5
:1006500006340634063406348634C63466343634FA
:100660001E340E346034E034C034C034C034C1347D
:10067000C334C6347E343C3400348034E0347834BF
:100680001E340634FE34FE34003400340E340F348D
:100690000D340C340C340C34FF34FF340C340C3473
:1006A000FC34FE348634863486348634863486348C
:1006B000863406347034F134C134C134C134C134A9
:1006C000C134C1347F343F34FC34FE340634063444
:1006D0000634063406340634063404347F34FF34DA
:1006E000C334C334C334C334C334C334FF347E345B
:1006F000043406340634063406348634C63466348C
:100700003E341C34003400340034FE34FF340134F1
:1007100000340034003400343E345134493445341C
:100720003E34003442347F34403400344234613447
:100730005134493446342134413445344B34313416
:100740001834143412347F3410342734453445348B
:10075000453439343C344A34493449343034013432
:100760007134093405340334363449344934493456
:10077000363406344934493429341E3408340834B4
:100780003E34083408340834083408340834083453
:10079000003460346034003400340334033478347B
:1007A000483448347E340434083404347E34783495
:1007B0001434123414347834423424341834243445
:1007C0004234003442347E34423400347E340434C3
:1007D000183420347E3400340034003400340034C3
:0207E000F02BFC
:02400E008C3FE5
:104200007800FC0086008600860086008600860016
:10421000FC0078003E007F00C100C100C100C10069
:10422000C100C1007F003E00FC00FE000600060049
:104230000600060006000600FE00FC004100C30068
:10424000C300C300C300C300C300C300FF007F005E
:104250008000800080008000F800F800800080006E
:104260008000800001000100010001001F001F000C
:10427000010001000100010080008000800080003A
:10428000800080008000800080008000010001002C
:104290000100010001000100010001000100010016
:1042A000000000000000000000000000000000000E
:1042B000000000000000000000006000F000F000BE
:1042C00060000000000000000E00CA00EE00600068
:1042D000600060006000E000C000000000007F009F
:1042E000FF00C000C000C000C000E000600000008F
:00000001FF


'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2021 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 07.02.2021                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
'****************************************************************
;**** Added by Fuse Configurator ****
; Use the Fuse Configurator plug-in to change these settings

    Device = 12F675

    Config FOSC_INTRCIO, WDTE_ON, PWRTE_ON, MCLRE_OFF, BOREN_OFF, CP_OFF, CPD_OFF

;**** End of Fuse Configurator Settings ****
'****************************************************************

    Xtal = 4

    'All_Digital = true   ' Set all proc pins to I/O

    TRISIO  = 0
    GPIO    = 0
    CMCON   = 7
    ANSEL   = 0
   
    Symbol SDIN     =     GPIO.0
    Symbol SCK      =     GPIO.1   
    Symbol DQ       =     GPIO.2
    Symbol Mode     =     GPIO.3
    Symbol RST      =     GPIO.4
    Symbol D_C      =     GPIO.5


   
    Symbol RdOffSet  =    5
    Symbol X_Origin  =    %10000000
    Symbol Y_Origin  =    %01000000
    Symbol NormVid   =    %00001100
    Symbol InvVid    =    %00001101
   
    Dim Temperature     As	Word
    Dim TempHigh        As  Temperature.HighByte
    Dim TempH           As  Byte
    Dim TempL           As  Byte
    Dim sign            As  Bit
    Dim MaxTemp         As  Word
    Dim MinTemp         As  Word

    Dim LcdReg          As  Byte
    Dim DispLine        As  Byte
    Dim Offset          As  Word
    Dim Chars[6]         As  Byte

    Dim CharPtr         As  Byte
    Dim Loop1           As  Byte
    Dim Loop2           As  Byte
    Dim LoopOut         As  Byte
   
    GoTo Main

'****************************************************************

SndLcdCmd:
    D_C = 0
SndLcdData:
    Clrwdt
    SCK = 0
    LoopOut = 0
    Repeat
        SDIN = LcdReg.7
        LcdReg = LcdReg << 1
        SCK = 1
        SCK = 0
        Inc LoopOut
    Until LoopOut > 7
    D_C = 1
Return

'****************************************************************
DisplayTemp:
   
    Loop2 = 0 
    Repeat
        Clrwdt

        Offset = Chars[Loop2] * 20
        If Offset > 159 Then  Offset = Offset - 160

        LcdReg  =  Y_Origin + 1            ' cursor  Y DispLine number(0-5)
        GoSub    SndLcdCmd

        LcdReg = 0
        GoSub  SndLcdData
        GoSub  SndLcdData
        CharPtr = CharPtr + 2
                     
        GoSub PrintChar             
        LcdReg  =  X_Origin + CharPtr
        GoSub    SndLcdCmd
       
        LcdReg  =  Y_Origin + 2            ' cursor  Y DispLine number(0-5)
        GoSub    SndLcdCmd

        GoSub PrintChar
        CharPtr = CharPtr + 10
        Inc Loop2
              
    Until Loop2 > 5

Return
'****************************************************************
PrintChar:       
        Loop1 = 1
        Repeat
            Clrwdt
            If Chars[Loop2] < 8 Then '***** Numbers 0- 7 inclusive ******
                LcdReg = CRead font+Offset
            Else
            '****** Characters 8 - 13 (+,-,.,centigrade) ********
                LcdReg = ERead Offset
            EndIf
            Inc Offset
            GoSub  SndLcdData
            Inc Loop1
        Until Loop1 > 10
Return
'****************************************************************
Temp2Dec:
    Clrwdt

    sign = 0

    If  TempHigh.7 = 1 Then
        Temperature  =  ~Temperature + 1
        sign = 1
    EndIf

    TempH = Temperature >> 4
    TempL = Temperature.LowByte & $0F
    Temperature = TempL * 625

    If TempH > 99 Then             ' if the temp higher than 99'C , instead of the plus signs " 1 "
        Chars[0] = 1                   ' hundreds
    Else
        Chars[0] = 10                  ' + plus
        If sign = 1 Then Chars[0] = 11
    EndIf

    Chars[1] = Dig TempH,1            ' Tens
    Chars[2] = Dig TempH,0            ' Units
    Chars[3] = 12                     ' Decimal point
    Chars[4] = Dig Temperature,3      ' first decimal
    Chars[5] = 13                     ' Degrees Centigrade

Return
'****************************************************************
DisplayMaxMin:
    Clrwdt

    LcdReg  =  Y_Origin + 5            ' cursor  Y DispLine number(0-5)
    GoSub    SndLcdCmd
   
DisplayLabel:
    Clrwdt
   
    Loop2 = 0
    Repeat
        Offset = Chars[Loop2] * 5
        Loop1 = 0
        Repeat
            Clrwdt
            LcdReg = CRead SmallFont+Offset
            LcdReg = ~LcdReg
            GoSub  SndLcdData
            Inc Offset
            Inc Loop1
        Until Loop1 > 4
        LcdReg = $ff
        GoSub  SndLcdData
        Inc Loop2
    Until Loop2 > 5
Return
'****************************************************************
GetTemp:
    Clrwdt
    OWrite DQ, 1, [$CC, $44]      ' Start temperature conversion
    Clrwdt
    DelayMS 750
    Clrwdt
    DelayMS 750
    Clrwdt
    OWrite DQ, 1, [$CC, $BE]
    Clrwdt
    ORead DQ, 0, [Temperature.LowByte, Temperature.HighByte, Skip 6]
    Clrwdt
'    Temperature.LowByte = 30
'    Temperature.HighByte = 50
Return
'****************************************************************
Main:
'****************** GLCD Initialisation ***********************
    Clrwdt
    High RST

    LcdReg  =  $21 '%00100001       'LCD Extended Commands.
    GoSub    SndLcdCmd
    LcdReg  =  $d8'C0 '%10101001       'Set LCD Vop (Contrast).
    GoSub    SndLcdCmd
    LcdReg  =  $06 '%00000110       'Set Temp coefficent.
    GoSub    SndLcdCmd
    LcdReg  =  $13 '%00010011       'LCD bias mode 1:48.
    GoSub    SndLcdCmd
    LcdReg  =  $20 '%00100000       'LCD Standard Commands, Horizontal addressing mode.
    GoSub    SndLcdCmd
    LcdReg  =  NormVid
    GoSub    SndLcdCmd
    
'********** Draw screen frame. ***********
    Loop2 = 0
    Repeat
        LcdReg  =  Y_Origin + Loop2
        GoSub    SndLcdCmd
        LcdReg  =  X_Origin        ' X pos left
        GoSub    SndLcdCmd
        Loop1 = 0
        Repeat
            Clrwdt
            LcdReg = $00
            If Loop2 = 0  Then LcdReg = $03
            If Loop2 > 3  Then LcdReg = $FF
            If Loop1 < 2  Then LcdReg = $FF
            If Loop1 > 81 Then LcdReg = $FF
            GoSub   SndLcdData
            Inc Loop1
        Until Loop1 > 84
        Inc Loop2
    Until Loop2 > 5
   
    LcdReg  =  Y_Origin + 4
    GoSub    SndLcdCmd
    LcdReg  =  X_Origin + 4        ' X pos left
    GoSub    SndLcdCmd
   
    Chars[0] = 11
    Chars[1] = 14
    Chars[2] = 15
    Chars[3] = 16
    Chars[4] = 11
    Chars[5] = 19
   
    GoSub DisplayLabel   
   
    LcdReg  =  X_Origin + 51        ' X pos left
    GoSub    SndLcdCmd

    Chars[2] = 17
    Chars[3] = 18
           
    GoSub DisplayLabel
   
    GoSub GetTemp
    MaxTemp = Temperature
    MinTemp = Temperature
   
 ' *********** Main program Loop1 ***********
    While
        Clrwdt
   
        LcdReg  =  NormVid                       'LCD in normal mode.
        If Mode = 0 Then LcdReg  = InvVid
        GoSub    SndLcdCmd 
       
        If Temperature.15 = MaxTemp.15 And Temperature > MaxTemp Then MaxTemp = Temperature
        If Temperature.15 = 0 And MaxTemp.15 > 0 Then MaxTemp = Temperature

        If Temperature.15 = MinTemp.15 And Temperature < MinTemp Then MinTemp = Temperature
        If Temperature.15 > 0 And MinTemp.15 = 0 Then MinTemp = Temperature
       
        LcdReg  =  X_Origin + RdOffSet  ' cursor  X  (0-83)
        GoSub    SndLcdCmd
'        Temperature = MaxTemp   ''' eklendi
        GoSub Temp2Dec
        CharPtr = RdOffSet
        GoSub DisplayTemp
       
        LcdReg  =  X_Origin + 1             ' cursor  X  (0-83)
        GoSub    SndLcdCmd
        Temperature = MaxTemp
        GoSub Temp2Dec
        GoSub DisplayMaxMin

        LcdReg  =  X_Origin + 48       ' cursor  X  (0-83)
        GoSub  SndLcdCmd
        Temperature = MinTemp
        GoSub Temp2Dec
        GoSub DisplayMaxMin
       
        GoSub GetTemp
    Wend
   
'***** Numbers 0-7 inclusive ******
Font:

    CData   $F8,$FC,$06,$06,$06,$86,$C6,$66,$FC,$F8,_   ' 0
            $3F,$7F,$CC,$C6,$C3,$C1,$C0,$C0,$7F,$3F,_
       
            $00,$10,$18,$1C,$FE,$FE,$00,$00,$00,$00,_   ' 1
            $00,$80,$C0,$C0,$FF,$FF,$C0,$C0,$00,$00,_
       
            $18,$1C,$06,$06,$06,$06,$06,$06,$FC,$F8,_   ' 2
            $F0,$F8,$C8,$CC,$C6,$C6,$C3,$C1,$C1,$C0,_
       
            $06,$06,$06,$06,$86,$C6,$66,$36,$1E,$0E,_   ' 3
            $60,$E0,$C0,$C0,$C0,$C1,$C3,$C6,$7E,$3C,_  

            $00,$80,$E0,$78,$1E,$06,$FE,$FE,$00,$00,_   ' 4
            $0E,$0F,$0D,$0C,$0C,$0C,$FF,$FF,$0C,$0C,_ 
      
            $FC,$FE,$86,$86,$86,$86,$86,$86,$86,$06,_   ' 5
            $70,$F1,$C1,$C1,$C1,$C1,$C1,$C1,$7F,$3F,_
       
            $FC,$FE,$06,$06,$06,$06,$06,$06,$06,$04,_   ' 6
            $7F,$FF,$C3,$C3,$C3,$C3,$C3,$C3,$FF,$7E,_
       
            $04,$06,$06,$06,$06,$86,$C6,$66,$3E,$1C,_   ' 7
            $00,$00,$00,$FE,$FF,$01,$00,$00,$00,$00
           
           
 '******  Characters 8 - 13 (8,9,+,-,.,Centigrade) ********


    EData   $78,$FC,$86,$86,$86,$86,$86,$86,$FC,$78,_   ' 8
            $3E,$7F,$C1,$C1,$C1,$C1,$C1,$C1,$7F,$3E,_
           
            $FC,$FE,$06,$06,$06,$06,$06,$06,$FE,$FC,_   ' 9
            $41,$C3,$C3,$C3,$C3,$C3,$C3,$C3,$FF,$7F,_
           
            $80,$80,$80,$80,$F8,$F8,$80,$80,$80,$80,_   ' +
            $01,$01,$01,$01,$1F,$1F,$01,$01,$01,$01,_
           
            $80,$80,$80,$80,$80,$80,$80,$80,$80,$80,_   ' -
            $01,$01,$01,$01,$01,$01,$01,$01,$01,$01,_
           
            $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_   ' .
            $00,$00,$00,$60,$F0,$F0,$60,$00,$00,$00,_
           
            $0E,$CA,$EE,$60,$60,$60,$60,$E0,$C0,$00,_   ' Degrees C
            $00,$7F,$FF,$C0,$C0,$C0,$C0,$E0,$60,$00          
           

SmallFont:

    CData   $3E,$51,$49,$45,$3E,_       ' 0
            $00,$42,$7F,$40,$00,_       ' 1
            $42,$61,$51,$49,$46,_       ' 2
            $21,$41,$45,$4B,$31,_       ' 3
            $18,$14,$12,$7F,$10,_       ' 4
            $27,$45,$45,$45,$39,_       ' 5
            $3C,$4A,$49,$49,$30,_       ' 6
            $01,$71,$09,$05,$03,_       ' 7
            $36,$49,$49,$49,$36,_       ' 8
            $06,$49,$49,$29,$1E,_       ' 9
            $08,$08,$3E,$08,$08,_       ' +
            $08,$08,$08,$08,$08,_       ' -
            $00,$60,$60,$00,$00,_       ' .
            $03,$03,$78,$48,$48,_       ' Degrees C
            $7E,$04,$08,$04,$7E,_       ' M char 14
            $78,$14,$12,$14,$78,_       ' A char 15
            $42,$24,$18,$24,$42,_       ' X char 16
            $00,$42,$7E,$42,$00,_       ' I char 17
            $7E,$04,$18,$20,$7E,_       ' N char 18
            $00,$00,$00,$00,$00         ' Space - char 19

 
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

ipek

hocam klavye'nize sağlık, yorduk sizi tatil gününüzde..

@ proTR ilginize teşekkür ederim,indirdim derleme yapmadı 12F675 için verilen bonus süresi doldu,parayla almanız gerekiyor mesajı verdi,eski derleyiciye takıldı galiba diye onu kaldırdım,o zaman daha ilginç hale geldi,bir mail adresi verip bizimle irtibata geçin mesajı geldi,

sağolsun OG hocam yıllardır kahrımızı çeker proton krizimizi hep atlatır...

OG

Yanlız program algoritmasında eksikler var
bu prg max ve min sıcaklık göstertiği için şöyle bir sorun yaşanıyor

herhalde ilk okumada sensorden veri gelmiyor,
veri gelmediğinde dönen data +85 derece olarak değerleniyor.

bu değer de okunmuş en yüksek değer olduğu için max değeri hep +85 görünüyor

bu basitçe düzeltilir ama 12F675 full'e çok yakın, program ekini almaz
12F685 e geçilirse bu eksiklik rahatlıkla hallolur.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

ipek

hocam onu bende fark ettim, bu gün ilk derlediğiniz programa Gevv'in sitesinden DS1820 model dosyasını adapte ettim onda hepsi 25 dereceden yani model dosyasının set edilmiş halinden başlıyor,
zamanında ETE hocanın söylevini hatırlıyor gibiyim 750ms okuma için harcanan zaman demişti,onun devreside abuk sabuk okuyordu fakat ilk düzgün okumada yeni değer oturuyordu,bu galiba Eprom'ada bir şeyler yazıyor Debug modunda Eprom'a baktım baya kalabalık.. elimde birkaç DS1822 var eskilerden fakat ben bunları Dallas'ın kendi programlayacısı ile termostat yada Standalone moduna sokmuştum,inşAllah kurtarabilirim..

ete

BU tür sensörlerde direk sensör okunmuyor. Sensör okuduğunu scratchpad hafıza denilen yere yazıyor sizde oradan okuyorsunuz sıcaklığı. İlk açılışta sensöre basla satırından önce okuma yaptırmazsanız veya 85 okursan git yeniden oku demezseniz ilk çıkan rakam o hafızanın ilk halidir. DS18B22 data sheet de şöyle diyor, *The power-on reset value of the temperature register is +85°C
Bundan kaçınmanın yolu ana programa geçmeden önce en az bir kere okuma yaptırmak lazım. Bunun için okuma emrini verip 750 ms beklemek işi çözüyor.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

OG

Alıntı YapThe power-on reset value of the temperature register is +85°C
Evet hocam, datalara hala bakmadım, gerek de görmedim, 2 okuyuşla düzeliyor.
max konusu böyle basitçe düzeliyor

min konusu nu halletmek gerek, 00.0 yazdırmak yerine --.-  gibi veya başka karakterler
- karekterleri programda hazır
akşam fazla bakamadım.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

power20

Projede kullanılan Nokia display piyasada halen bolca bulunan bir ürün müdür?


ferit06

#25
Alıntı yapılan: Kılıç - 08 Şubat 2021, 15:13:10Projede kullanılan Nokia display piyasada halen bolca bulunan bir ürün müdür?

5510 nokia modüller var 3310 ekran ile aynı.
https://www.robotistan.com/nokia-5110-ekrani-84x48-grafik-lcd