PİC DERLEYİCİ YARDİM

Katılım
14 Eki 2014
Mesajlar
5
Puanları
1
Yaş
38
Merhaba arkadaşlar bu programi derleyemiyorum Kacgundur ugraşişorum ama cözum bulamadim yardimci olabirseniz cok sevinirim SAYGİLARİMLA

program kodlari :


@ DEVICE pic16f628, WDT_OFF
@ DEVICE pic16f628, PWRT_OFF
@ DEVICE pic16f628, BOD_OFF
@ DEVICE pic16f628, LVP_OFF
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16f628, MCLR_OFF
@ DEVICE pic16f628, INTRC_OSC_NOCLKOUT
Include "modedefs.bas"
DEFINE OSC 4 '4 Mhz hızında çalışıyoruz.
SENSOR VAR PORTB.7 'Sensör PORTB.7'ye bağlı
LED VAR PORTB.6 'LED PORTB.6'ya bağlı
MESGUL VAR BYTE 'Çeşitli değişken tanımlamaları
BILGI VAR WORD
ISARET VAR BYTE
ONDA1 VAR WORD
ONDA2 VAR WORD
ARA VAR WORD
DEGER VAR BYTE
'LCD TANIMLAMALARI
DEFINE LCD_DREG PORTB 'LCD Veri pinleri PORTB'ye bağlı.
DEFINE LCD_DBIT 0 'LCD'nin D0 pini PORTB.0'a bağlı
DEFINE LCD_RSREG PORTB 'RS PİNİ PORTB'ye bağlı
DEFINE LCD_RSBIT 4 'RS PİNİ = PORTB.4
DEFINE LCD_EREG PORTB 'ENABLE PİNİ PORTB'ye bağlı
DEFINE LCD_EBIT 5 'ENABLE PİNİ = PORTB.5
DEFINE LCD_RWREG PORTA 'RW PİNİ KULLANILMIYOR - Kullanılmayan bir pin tanımlandı.
DEFINE LCD_RWBIT 1 'RW PİNİ KULLANILMIYOR - Kullanılmayan bir pin tanımlandı.
DEFINE LCD_BITS 4 'LCD 4 BİT SÜRÜLÜYOR
DEFINE LCD_LINES 2 'LCD 2 SATIRLIK
'LCD TANIMLAMALARI BİTİŞ
TRISA=%11111111 'PORT giriş-çıkış tanımalamları
TRISB=%10111111
PAUSE 500 'Ekranın hazır olması için biraz bekliyoruz.
LCDOUT $FE,$40,6,9,9,6,0,0,0,0 'Derece gösterimi için özel karakteri LCD'ye yüklüyoruz.
LCDOUT $FE,$48,4,0,14,4,4,4,14,0 'İ karakterini LCD'ye yüklüyoruz.
LCDOUT $FE,$50,0,0,4,4,4,4,4,0 'ı karakterini LCD'ye yüklüyoruz.
LCDOUT $FE,1,1,"ALPEREN" 'İlk satıra İzoelektronik yaz.
LCDOUT $FE,$C0,"132100000" 'İkinci satıra yaz.
PAUSE 3000 'Biraz bekle
LCDOUT $FE,1,"S",2,"cakl",2,"k:" 'Ekranı temizleyip, üst satıra Sıcaklık: yaz.
BASLA: 'Dongüye gir.
ISARET="+"
OWOUT SENSOR,1,[$CC,$44] 'Sensöre sıcaklığı okumasını söyle.
BEKLE: 'Sensör hazır olana kadar bekle.
OWIN SENSOR,4,[MESGUL]
IF MESGUL=0 THEN
GOTO BEKLE
ENDIF
DEVAM:
OWOUT SENSOR,1,[$CC,$BE] 'Sensöre okuduğu değeri göndermesini söyle.
OWIN SENSOR,0,[BILGI.LOWBYTE,BILGI.HIGHBYTE] 'Gelen 16 bitlik bilgiyi al.
'Programın devamındaki algoritma daha etkili bir şekilde yazılabilir. Bu uygulamada performans çok da etkili olmadığından aklıma gelen ilk algoritmayı kullandım.
'Kodun mantığını anlamanız açısından kod üzerine düşünmeniz daha faydalı olacaktır. Bu yüzden kodların yanına açıklama yazmıyorum.
'Fakat anlamadığınız bir nokta olursa lütfen
'http://www.izoelektronik.com/lcd-ekranli-basit-termometre-devresi.htm adresindeki yazının altına yorum yazarak sorularınızı iletiniz.
IF BILGI.BIT13=1 THEN 'Sıcaklık negatif ise
ISARET="-" 'İşaret artık + değil -
BILGI=~BILGI 'Gelen bilgideki bitleri tersle, 1->0, 0->1
BILGI=BILGI+1 'Bilgiyi 1 arttır.
ENDIF
ARA=BILGI*625 '12 bit hassasiyet kullandığımız için her değer 0.0625 santigrat dereceye denk geliyor.
DEGER=DIV32 10000
ARA=BILGI*625
ONDA1= DIV32 1000
ARA=BILGI*625
ONDA2= DIV32 100
ONDA1=ONDA1-(DEGER*10)
ONDA2=ONDA2-((dEGER*100)+(ONDA1*10))
LCDOUT $FE,$C0," " 'LCD ekranın alt satırını temizle
LCDOUT $FE,$C0,ISARET,#DEGER,".",#ONDA1,#ONDA2," ",0,"C"
HIGH LED 'LEDi yakıp söndürerek döngünün bittiğini belirt.
PAUSE 200
LOW LED
PAUSE 800
GOTO BASLA 'BASLA etiketine dön
END



MİCROCODE STUDİO PİCBASİC PRO KULLANİYORUM ALDİGİM HATALAR ŞUNLAR :
resim ekledim...HATALAR İÇİN
 

Ekli dosyalar

  • adsızİİ.JPG
    adsızİİ.JPG
    110.5 KB · Görüntüleme: 10
Selamün Aleyküm
öncelikle C:\PBP klasörünün içindeki 16f628.inc dosyasında aşağıdaki değişikligi yap.
16f628.inc.png

Programındaki @ device kodları yerine;

@ __config _XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _BODEN_OFF& _LVP_OFF & _CP_OFF & _CPD_OFF

kodlarını yaz ve compile yap.

Programını ben compile yaptım hata vermedi. Ekte ayrıntı mevcut.
 

Ekli dosyalar

  • termo.rar
    39.8 KB · Görüntüleme: 7
ABİ DEDİKLERİNİ YAPTİM FAKAT SORUNUM DEVAM EDİYOR DERLENEN HEX DOSYASİNİ PİC E ATİYORUM AMA HİC CALİŞMİYOR.. ;( AMA ORJİNAL HEX İ ATİNCA CALİŞİYOR..BEN BİRKAC DEGİŞİKLİK YAPMAK İSTİYORUM SADECE AMA PİCDE CALİŞMİYOR...PROTEUSDA CALİŞİYOR SADECE ;(
 
ABİ DEDİKLERİNİ YAPTİM FAKAT SORUNUM DEVAM EDİYOR DERLENEN HEX DOSYASİNİ PİC E ATİYORUM AMA HİC CALİŞMİYOR.. ;( AMA ORJİNAL HEX İ ATİNCA CALİŞİYOR..BEN BİRKAC DEGİŞİKLİK YAPMAK İSTİYORUM SADECE AMA PİCDE CALİŞMİYOR...PROTEUSDA CALİŞİYOR SADECE ;(

son değişikliklere göre derleme yaptım bunlarıda bi dene.
 

Ekli dosyalar

  • termo.rar
    5.4 KB · Görüntüleme: 7
abi calişti cok sagolasin abi bunu nasil yaptin... veya degiştirdigin yerler neresi... atabilirmisin abi..yazdigin kodlari bende kendim derlemek istiyorum....
 
@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _BODEN_OFF& _LVP_OFF & _CP_OFF & _CPD_OFF

SIRASIYLA ŞU ŞEKİLDE YAZILASI ZORUNLUDUR!

ET İŞARETİ, BOŞLUK, ALTÇİZGİ, ALTÇİZGİ, KÜÇÜK HARFLE config, BOŞLUK, ALTÇİZGİ geriye kalanı büyük harfle, KOMUT, BOŞLUK, VE İŞARETİ, BOŞUK, KOMUT,..........

Ekteki .inc dosyalarını PBPnin içine at
Resimlerde MCS nun ayarları
 

Ekli dosyalar

  • Yeni klasör.rar
    742.8 KB · Görüntüleme: 14
abi cok sagol Senden Allah razi olsun....Abi ben devreye buton eklemek istiyorum...İki adet veya programa buton eklemek istiyorum..pic16f628a nin boş olan portlarina giriş yapmak istiyorum deger yukselten ve alçaltan alçaltan butonlarla sicaklik ayarlayacagim ayarladigim sicakligi ölçen sensör o sicaklikta ise başka bir porttaki fan çalişcak değilse çalişmiycak yardimlarini esirgemedigin için cok sagol abi
 
anladıgım kadarı ile menü gibi bişey oluşturup ısı kontrolü yapmak istiyorsun
bi ara kuluçka makinesi için nem ve ısı kontrol kartı yapmıştım bunu bi incele
Şemada r14 fazlalık, PWM olayıda çok sağlıklı çalışmadı.
 

Ekli dosyalar

  • -P16FXXX_sht-11.rar
    403.2 KB · Görüntüleme: 17

Forum istatistikleri

Konular
127,952
Mesajlar
913,873
Kullanıcılar
449,599
Son üye
Gksn

Yeni konular

Geri
Üst