16f1827 derleme hatası

Başlatan blueboard, 24 Ağustos 2016, 14:59:47

blueboard

Ete Hocam, sanırım atladığım yer sigorta ayarlarını kapatmamak. Şimdi yazınızı bir kez daha dikkatlice okuyacağım.

blueboard

Ete Hocam, kusura bakmayın, sizi çok yordum.  inc dosyasından sigorta ayarlarını kapatınca oldu.Ne kadar teşekkür etsem azdır.Elinize kolunuza sağlık.

blueboard

#17
Ete Hocam, derleme hatalarını çözdükten sonra kodların çalışıp çalışmadığını kontrol ettim. Çok ilginçtir; proteus'ta  ne portb.1 deki ne de portb.2 deki led yanıyor. Devreye Ra.1 portuna bağlı voltmetre 0 Volt'u gösteriyor, sanki portb.2 çıkışında 5 volt varmış gibi kırmızı kutucuk var. Ancak led yanmıyor. Sebebi ne olabilir? Dosyaları ekliyorum.Bu arada daha hassas ölçüm yapmak için FVR modülünü kullansak ve FVRCON= 0xC1 yazsak olur mu? Teşekkür ederim.

Burak

Kayıtçı ayarlarını paylaşır mısın rica etsem ..

İyi Çalışmalar

Burak
Ω Gens Una Sumus Ω

ete

Bu işlemci çok özel bir işlemci. Pinlerin bir çok fonksiyonu var. Neden çalışmadığını anlamak için programı görmek gerek. Ayrıca simulsayon devresinide eklemen gerek. Başka türlü kimsenin elinden bir şey gelmez. Her program ilk yazıldığı hali ile nadiren sorunsuz çalışır. Bazen programa bakarak hata bulursun bazende çalıştırıp çalışmadığını görünce hata arar bulursun.
Bu nedenle simulasyon bu tür işlerde gerçekten çok önemlidir,

Ete

blueboard

#20
Ete Hocam, aslında bundan önceki mesajımda hem rar dosyasını hem de ekran görüntüsünü eklediğimi sanıyordum ama ekran görüntüsünü eklerken rar dosyası eklenmemiş.Rar dosyasını ekliyorum.İçinde hem simulasyon hem de pbp kodları var.

ete

Bana kalırsa o kullandığın simulasyonu değiştir. Tamamen sil ve 8.5/SP0 versiyonunu yükle
Senin derlediğin şekli ile her şey sorunsuz çalışıyor bende. Tek yaptığım analog girişteki 2 adet 1K lık direnci kaldırıp yerine POT bağladım. Diğer ledin yandığını ancak böyle görebilirsin. Potun üst değerlerinde bir led alt değerlerinde de diğer led yanmaktadır. Programda ona göre ayarlanmış zaten.

Ete

blueboard

#22
Teşekkür ederim, söylediğinizi yapacağım.FVR modülünü kullanmayı tavsiye eder misiniz?

ete

Fv modül elbette kullanabilirsin. Devreyi pil ile beslemeyeceksen ve iyi bir besleme kaynağın var ise kullanmasanda olur. Kullanırsan da çalışma kolaylığı açısından %11000011 şeklinde kullanırdım. Ref voltajım böylece 4,096v olurdu en yüksek değerde bu zaten.

Ete

blueboard


gogoce

Hocam  merhaba,
16f1827 derleme konusunda sıkıntım var. Daha önce çalışan programımı derleyemiyorum.
c:/pbp deki inc dosyasını şu şekilde yaptım
****************************************************************
;*  16F1827.INC                                                *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                  *
;*  Notice    : Copyright (c) 2009 microEngineering Labs, Inc.  *
;*              All Rights Reserved                            *
;*  Date      : 06/23/09                                        *
;*  Version  : 2.60                                            *
;*  Notes    :                                                *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
      "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 16F1827, r = dec, w = -302
        INCLUDE "P16F1827.INC" ; MPASM  Header
    ;    __config _CONFIG1, _FOSC_HS
    ;    __config _CONFIG2, _PLLEN_OFF & _LVP_OFF
        NOLIST
    endif
        LIST
BLOCK_SIZE EQU 8
mplab 8,15 den 892 ya kadar yükledim fakat değişen olmadı

en son mplab x ıde 5,20 yükledim
sonuç resimdeki gibi

ayrıca pbp a b c yamalarını uncnown version hatasıyla güncelleyemiyorum ne yapmam gerekiyor?

Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

ete

BU işlemci derleme için MPLAB kullanır Bunu, Proteus klasörü içinde alt klasör olarak yer alan Tools klasörü içinden bulabilirsin. Ayrıca MPLAB kurmaya da gerek yok. Ama ayrıca MPLAB kullanacaksan ona diyecek lafım yok.
Bana kalırsa sorun, derleyicinin görmesi gereken MPLAB daki inc dosyasını göremiyor yada bulamıyor olması.
MCS versiyonun 4.0.xxxx olmalı ayrıca MCS de View menüsünde Compile & Program Options seçeneğinde assembler olarak MPLAB klasörünün yeri gösterilmeli.

Bunlar tamam olup yine benzer hataları alıyorsan derleyici yi kaldırıp yeniden kurmanı önermekten başka söyleyemem.

Ete

gogoce

hocam mcs4.0.000 versiyonu.
proteus tool mpasm içerisindeki klasörü göstreriyorum değişen birşey olmuyor
pbp tekrar yükledim değişen bişey yok :(
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

ete

Hata mesajlarına bakacak olursak;
1. sırada ve 2. sırada yer alanhatalar PORTC hatası ki bu işlemcide gerçekten PORTC bulunmuyor.
Programı vermediğine göre sen bakacaksın. Programın bir yerlerinde PORTC yada TRISC ifadesi geçiyormu.

3 ve 4. sıradaki hata config satırbaşı hatası. ASM satırından sonra yer alan _CONFIG ifadelerinim başlarına birer boşluk eklersen kalkacak bu iki hata.

5-6-7 ci sıradaki hatalar ise değişken hatasını ifade ediyor. Byte olarak tanımlanmış bir değişkeni word değişkeni gibi kullanmış olduğunu gösteriyor. Bunuda ancak programa bakarak anlamak mümkün.

Sen en iyisi programıda buraya koyki bizde deneyelim ve gerekirse sorunları tespit edelim.

Ete



gogoce

hocam program bu
DEFINE OSC 4
ASM
 __config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CP_ON & _CPD_ON & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
 __config _CONFIG2, _WRT_OFF & _PLLEN_OFF & _LVP_OFF & _STVREN_OFF
ENDASM
OSCCON = %01101000          '4 mhz internal clock, PLL off
DEFINE ADC_BITS 10     ' 10 bit A/D Conversion
DEFINE ADC_CLOCK 1
DEFINE ADC_SAMPLEUS 5 ' 5 uS A/D sample time
TRISA = %00000100     'RA2 input, all others output
TRISB = %00000000
ANSELA = %00000100      ' AN on PortA.2 analog
ANSELB = %00000000      ' Digital inputs
ADCON1 = %10010000       'right justified, clock = fosc/8, neg ref = Vss, pos ref = vdd
FVRCON = 0
DACCON0 = 0
DACCON1 = 0
INTCON = 0
CM1CON1 = 0
CCP1CON=0
CCP2CON=0

HAM      VAR     WORD            
VOLT     VAR     WORD
ONDA     VAR     BYTE
index    var     BYTE
X        VAR     WORD  
SAYI     VAR     BYTE
TOPLAM   VAR     WORD
I        VAR     BYTE 
PORTA=0

BASLA:
TOPLAM=0
FOR I=1 TO 60
ADCIN 0,HAM 
TOPLAM=TOPLAM+HAM
NEXT I
HAM=TOPLAM/60
VOLT=Ham*/1243
VOLT=235
       X= (VOLT DIG 0)
       IF X=0 THEN X=10
       GOSUB AL
       PORTB=SAYI
       HIGH PORTA.7
       PAUSEUS 100
       LOW PORTA.7
       
       X= (VOLT DIG 1)
       GOSUB AL
       PORTB=SAYI
       HIGH PORTA.3
       PAUSEUS 100
       LOW PORTA.3
             
       X= (VOLT DIG 2)
       GOSUB AL
       PORTB=SAYI
       HIGH PORTA.2
       PAUSEUS 100
       LOW PORTA.2       
       PAUSE 100
GOTO BASLA
           ;  0   1   2   3   4  5   6   7   8   9  *0
AL: LOOKUP X,[250,10,227,107,27,121,249,42,251,123,0],SAYI :RETURN

END
Ne ukalayı affederim nede yapılan haksızlığı ...
Ya sus adam sansınlar , yada adam gibi kouş ilham alsınlar

Powered by EzPortal