proton basic ile ds18b20 okuma sorunu pic18f452

Başlatan dnaci, 11 Kasım 2017, 10:07:08

dnaci

Merhaba. Daha önce pic16f887 ile hazırladığım yazılımı pic18f452'ye taşımak istedim ve bir türlü okumayı gerçekleştiremedim. Gerçek devrede deniyorum ve sistem açılıyor yazısı dışında ekrana bir veri aktaramıyorum. Data pinini kontrol ettim sağlam yinede portb.5 biti ile de test ettim sonuç olumsuz. Config ayarlarında bir hata yapıyor olabilirim. Daha önce pic18f452 ile ds18b20 okumayı başaran var mı?

Device = 18F452 
XTAL = 8
@CONFIG_REQ
@__CONFIG config1h, OSCS_OFF_1 & HS_OSC_1
@__CONFIG config2l, BOR_ON_2 & BORV_20_2 & PWRT_ON_2
@__CONFIG config2h, WDT_ON_2 & WDTPS_128_2
@__CONFIG config3h, CCP2MX_ON_3
@__CONFIG config4l, STVR_ON_4 & LVP_OFF_4 & DEBUG_OFF_4
Declare LCD_DTPIN = PORTD.4
Declare LCD_RSPIN = PORTD.0
Declare LCD_ENPIN = PORTD.1
Declare LCD_INTERFACE = 4 ' 4-bit Interface
Declare LCD_LINES = 4
Declare LCD_TYPE = 0
ADCON1=7
TRISA=%11111111
TRISB=%00000000
TRISC=%10010111
TRISD=%00000000
TRISE=%00000001
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
'PORTB_PULLUPS = true
ALL_DIGITAL = TRUE
Dim D As Byte
Dim C As Byte     
Dim CPerD As Byte
Dim Temp As Word
Symbol DQ = PORTC.5                'Place the DS1820 on bit 5 of PORTc
'Symbol DQ = PORTB.5                 'Place the DS1820 on bit 5 of PORTb
Cls
Print At 1,1,"SiSTEM"
Print At 2,1,"ACILIYOR..."
DelayMS 1000
Cls
Again:
OWrite DQ, 1, [$CC, $44]      ' Send Calculate Temperature command
Repeat
DelayMS 25                    ' Wait until conversion is complete
ORead DQ, 4, [C]              ' Keep reading low pulses until
Until C <> 0                  ' the DS1820 is finished.
OWrite DQ, 1, [$CC, $BE]      ' Send Read ScratchPad command
ORead DQ, 2,[Temp.LowByte,Temp.HighByte, C, C, C, C, C, CPerD]
' Calculate the temperature in degrees Centigrade
Temp = (((Temp >> 1) * 100) - 25) + (((CPerD - C) * 100) / CPerD)
Print At 1,1, Dec Temp / 100, ".", DEC2 Temp," ", At 1,8,"C"
GoTo Again

Hattuşa

hocam isis şeması eklemiş olsaydınız bizde simülasyondan bakardık

dnaci

Pro-tr hocam şu an dışarıdayım. Proteus çizimini akşam gönderirim.

Hattuşa

slm usta isisde basitce devreyi kurdum ve ete hocamnın kodunu aşırarak ds18b20 yi okudum. yalnız ilk okumada saçma bir değer geldiği için okuma ve hesaplama kısmını ana menuye girmeden bir kez okuttum artık sen kafana göre düzenlersin

dnaci

Sağolasın kodu hem isiste hem gerçek devrede test edip son halini buraya yüklerim. Bu arada proton versiyonunuz nedir?

dnaci

#5
pro-TR Sizin hex kodunuzu gerçek devrede ve simulasyonda denedim gayet iyi çalışıyor. Bendeki proton versiyonunda hex oluşturduğumda ise çalışmıyor. İşyerimdeki protonun ücretsiz sürümünde derlediğimde kod çalışıyor.
Yani bütün kusur şu altta resmi olan benim kodu çalıştıramadığım sürümdeymiş. Ama bu sürümü kötülemek istemem usb konusunda çok iyidir bu sürüm:



Çalışan kod:
Device = 18F452 
Xtal = 8
@CONFIG_REQ
@__CONFIG config1h, OSCS_OFF_1 & HS_OSC_1
@__CONFIG config2l, BOR_ON_2 & BORV_20_2 & PWRT_ON_2
@__CONFIG config2h, WDT_OFF_2 & WDTPS_128_2
@__CONFIG config3h, CCP2MX_ON_3
@__CONFIG config4l, STVR_ON_4 & LVP_OFF_4 & DEBUG_OFF_4
Declare LCD_DTPin = PORTD.4
Declare LCD_RSPin = PORTD.0
Declare LCD_ENPin = PORTD.1
Declare LCD_Interface = 4 ' 4-bit Interface
Declare LCD_Lines = 4
Declare LCD_Type = 0
ADCON1=7
TRISA=0
TRISB=%00000000
TRISC=0
TRISD=%00000000
TRISE=0
PORTA=0
PORTB=0
PORTC=0
PORTD=0
PORTE=0
'PORTB_PULLUPS = true
All_Digital = TRUE
Dim D As Byte
Dim C As Byte     
Dim CPerD As Byte
Dim Temp As Word
Dim bUsY As Byte
Dim sIgN As Byte
Dim hAm As Word
Dim IsI As Word
Dim sIgN_bItI As Bit
Dim DeReCe As Byte

Symbol DQ = PORTC.5                'Place the DS1820 on bit 5 of PORTc
'Symbol DQ = PORTB.5                 'Place the DS1820 on bit 5 of PORTb
Cls
Print At 1,1,"SiSTEM"
Print At 2,1,"ACILIYOR..."
DelayMS 1000
Cls
GoSub SENSOROKU
DelayMS 10
IsI = ((hAm *10) /16)
    DeReCe = IsI //10
    IsI= IsI /10
Again:
GoSub SENSOROKU
    sIgN_bItI =GetBit hAm, 11
    If sIgN_bItI = 1 Then
       Print At 1,1,"-"
       hAm = ~(hAm +1) 
       Else
       Print At 1,1,"+"
    EndIf
       
    IsI = ((hAm *10) /16)
    DeReCe = IsI //10
    IsI= IsI /10
    Print At 1,2,Dec IsI,".",Dec DeReCe," ","C "


GoTo Again

'----------------ISI SENSÖR OKUMA BÖLÜMÜ --------------------------------
SENSOROKU:
           OWrite DQ, 1, [$CC, $44]' ISI değerini oku
Bekle:
           ORead    DQ, 4, [bUsY]    ' Busy değerini oku
           If      bUsY = 0 Then Bekle  ' hala meşgulmü? , evet ise goto Bekle..!
            OWrite   DQ, 1, [$CC, $BE]' scratchpad memory oku
           ORead    DQ, 2, [hAm.LowByte, hAm.HighByte]' İki byte oku ve okumayı bitir.
Return
End




Maxim

proton versiyon 3.6.0.3 yükleyin, her zaman en yenisi en düzgünüdür.
@pro-tr, proteus dosyasına hata veriyor bende, tekrar yüklemen mümkünmü?
benim proteus: 8.6 SP3

Hattuşa

Alıntı yapılan: Maxim - 11 Kasım 2017, 21:20:57
proton versiyon 3.6.0.3 yükleyin, her zaman en yenisi en düzgünüdür.
@pro-tr, proteus dosyasına hata veriyor bende, tekrar yüklemen mümkünmü?
benim proteus: 8.6 SP3

maxim usta dosyaya proteus 8,6 şemasını ekledim. bu arada benim proton 3,6,0,0  mış
ya ne zaman 3,6,0,3 çıktı ve aradaki 1-2 versiyonlar nerede ben hep sizin verdiğiniz proton linklerinden yüklüyorum

Maxim

ANA versiyonlar arasında ortaya çıkan hataları düzeltmek için ARA versiyonlar çıkıyor.
buda onlardan sonuncusu
http://www.protonbasic.co.uk/vbdownloads.php?do=download&downloadid=417

dnaci

Alıntı yapılan: Maxim - 11 Kasım 2017, 21:20:57
proton versiyon 3.6.0.3 yükleyin, her zaman en yenisi en düzgünüdür.
@pro-tr, proteus dosyasına hata veriyor bende, tekrar yüklemen mümkünmü?
benim proteus: 8.6 SP3
@Maxim proton sitesinden en üstteki linkteki ücretsiz versiyonu yükledim, versiyon 3.5.8.1 şimdilik işimi görüyor. Bu versiyonda usb geliştirme kısıtlı. 3.6.0.3 için link var mı? bu versiyonda usb kodu yazılabiliyor mu?

dnaci

Alıntı yapılan: Maxim - 11 Kasım 2017, 22:03:10
ANA versiyonlar arasında ortaya çıkan hataları düzeltmek için ARA versiyonlar çıkıyor.
buda onlardan sonuncusu
http://www.protonbasic.co.uk/vbdownloads.php?do=download&downloadid=417
ok teşekkür ederim.


Powered by EzPortal