PIC16F88 ile yükleme sorunu

Başlatan ledanimasyon, 06 Temmuz 2017, 11:46:27

ledanimasyon

pıc 16f88 ile program yazdım derlemede sıkıntı yok similasyonda sıkıntı yok fakat pıc kıt 2 de yükleme yapmak için dosyayı seçince ekteki uyarıyı veriyor sorun neden olabilir.
Birde analog seçim ayarı doğru mu yaptımemin değilim portA.0 anolog olmasını istiyorum yardımcı olabilirmisiniz.


@ DEVICE PIC16F88 
@ DEVICE PIC16F88, BOD_ON
@ DEVICE PIC16F88, WDT_OFF
@ DEVICE PIC16F88, PWRT_OFF
@ DEVICE PIC16F88, PROTECT_ON
@ DEVICE PIC16F88, INTRC_OSC_NOCLKOUT

   Define  ADC_BITS     10   
   Define  ADC_CLOCK    3     
   Define  ADC_SAMPLEUS 50 
   ADC_DEGER VAR WORD             'PORTA.0 DAKİ PİL İÇİN
   GERILIM   VAR WORD                 '1.5V PİL İÇİN
   VOLT      VAR WORD
   

Clear           
   'OPTION_REG = %10000110 ' 10000110
   'INTCON = %10100000     ' 10100000
  ' ADCON1 = %10001110     ' RA0, ANALOG  (%00000100 RA0,RA1,RA3 ANALOG)
   'ADCON0 = %11000001
    OSCCON=%01100000
     ANSEL=%00000001
     ADCON1=%10000000
         
PORTA=0:TRISA=%00000001
PORTB=0:TRISB=%00000011
SAY VAR BYTE
TUR VAR BYTE
I   VAR BYTE


'------------------------------INPUTLAR----------------------------------------
SYMBOL    LEDERE  = PORTB.0 'LDR SENSÖR
SYMBOL CALISIYOR  = PORTB.1 'MP3 MODUL RUN SES BITTI BILGISI
'-----------------------------OUTPUTLAR----------------------------------------
SYMBOL       PLY  = PORTB.2 'MP3 MODUL PLAY   
SYMBOL      REST  = PORTB.3 'MP3 MODUL RESET                                                   
SYMBOL      ISIK  = PORTB.4 'REKLAM PANO AYDINLATMASI
SYMBOL      MUTE  = PORTB.6 'MUTE ON/OFF ANFİ
SYMBOL     AKTIF  = PORTB.5 'CİHAZ ÇALIŞIYOR LEDİ
'---------------------------BASLA--------------------------------------
PAUSE 1000
CLEAR   
SAY=0
TUR=0
I=0
 
'----------------------------------------------------------------------------- 
BASLA:
     
     
     MUTE=1                              'ANFI UYKU MODUNA AL
                                 
       'TUR=TUR+1                                  'AKTIF LEDİ YAKSÖNDÜR
      ' IF TUR< 100 THEN  AKTIF=0
     '  IF TUR> 100 THEN  AKTIF=1
     '  IF TUR>=200  THEN tur=0
     
     
       FOR I=0 TO 250                'SENSÖRDEN BİLGİ GELİNCE  MP3 MODÜLE GİT
        ADCIN 0,ADC_DEGER             'PORTA.0 DAKİ GERILIM DEĞERINI OKU
        GERILIM=ADC_DEGER*48/10       'MV ÇEVİR
       GERILIM = GERILIM+10
        IF GERILIM >= 400 THEN  SESLENDIR
      AKTIF=1
      PAUSE 1
      NEXT
 
       FOR I=0 TO 250                'SENSÖRDEN BİLGİ GELİNCE  MP3 MODÜLE GİT
       ADCIN 0,ADC_DEGER             'PORTA.0 DAKİ GERILIM DEĞERINI OKU
       GERILIM=ADC_DEGER*48/10       'MV ÇEVİR
       GERILIM = GERILIM+10
       IF GERILIM >= 400 THEN  SESLENDIR
       AKTIF=0
       PAUSE 1
       NEXT 
       
      IF LEDERE =1 THEN                   'LDR GECE OLUNCA LEDLERİ ÇALIŞTIR
      ISIK=1
      ELSE
      ISIK=0
      ENDIF

      GOTO BASLA

'-------------------------------MP3 MODUL SES KAYIT CALMA--------------------
SESLENDIR:
     ISIK=1
     MUTE=1
     SAY=SAY+1
     REST=1
     AKTIF=1
     GOSUB DEL
     REST=0
     AKTIF=0
     GOSUB DEL
     PLY=1
     AKTIF=1
     GOSUB DEL
     PLY=0
     AKTIF=0
     MUTE=0
     GOSUB DEL1
     GOto BEKLE
     
BEKLE:
     AKTIF=1
     IF CALISIYOR=1 AND SAY=>2 THEN  TEKRAR
     GOSUB OKU
    IF CALISIYOR=1 AND  GERILIM >= 400  THEN  SESLENDIR
     
     
   IF GERILIM < 400 THEN 
     PAUSE 5000
     goto tekrar
      endIF
    GOTO BEKLE 
TEKRAR:
      GOSUB OKU
        IF GERILIM >= 400 THEN  bekle
        IF GERILIM <  400 THEN  TEMIZLE 
      GOTO TEKRAR

TEMIZLE:
     ISIK=0
     SAY=0
     REST=1
     GOSUB DEL
     REST=0
     GOTO BASLA
DEL:
    FOR I=0 TO 250
    PAUSE 1
    NEXT
    RETURN   

DEL1:
    FOR I=0 TO 2000
    PAUSE 1
    NEXT
    RETURN 
OKU:
     ADCIN 0,ADC_DEGER             'PORTA.0 DAKİ GERILIM DEĞERINI OKU
     GERILIM=ADC_DEGER*48/10       'MV ÇEVİR
     GERILIM = GERILIM+10
    RETURN
   
    END 
     

ete

#1
Bu işlemciye ait bir çok sigorta ayarı var iken yalnızca bir kaç tanesini kullanınca derleyici belirtilmeyenler için default değerleri kullanıyorum diye ikaz veriyor. PBP klasörü içinde yer ala INC klasöründe M16F88.INC dosyasını açarsanız içinde aşağıdaki ayarların olduğunu görebilirsiniz.
EXTRC_OSC_CLKOUT equ    3FEC0013h       ; XX XXXX XXX1 XX11
EXTRC_OSC_NOCLKOUT equ  3FEC0012h       ; XX XXXX XXX1 XX10
EXTRC_OSC       equ     3FEC0012h       ; XX XXXX XXX1 XX10
INTRC_OSC_CLKOUT equ    3FEC0011h       ; XX XXXX XXX1 XX01
INTRC_OSC_NOCLKOUT equ  3FEC0010h       ; XX XXXX XXX1 XX00
INTRC_OSC       equ     3FEC0010h       ; XX XXXX XXX1 XX00
EXTCLK_OSC      equ     3FEC0003h       ; XX XXXX XXX0 XX11
EC_OSC          equ     3FEC0003h       ; XX XXXX XXX0 XX11
HS_OSC          equ     3FEC0002h       ; XX XXXX XXX0 XX10
XT_OSC          equ     3FEC0001h       ; XX XXXX XXX0 XX01
LP_OSC          equ     3FEC0000h       ; XX XXXX XXX0 XX00
WDT_ON          equ     3FFB0004h       ; XX XXXX XXXX X1XX
WDT_OFF         equ     3FFB0000h       ; XX XXXX XXXX X0XX
PWRT_ON         equ     3FF70000h       ; XX XXXX XXXX 0XXX
PWRT_OFF        equ     3FF70008h       ; XX XXXX XXXX 1XXX
MCLR_ON         equ     3FDF0020h       ; XX XXXX XX1X XXXX
MCLR_OFF        equ     3FDF0000h       ; XX XXXX XX0X XXXX
BOD_ON          equ     3FBF0040h       ; XX XXXX X1XX XXXX
BOD_OFF         equ     3FBF0000h       ; XX XXXX X0XX XXXX
LVP_ON          equ     3F7F0080h       ; XX XXXX 1XXX XXXX
LVP_OFF         equ     3F7F0000h       ; XX XXXX 0XXX XXXX
CPD_ON          equ     3EFF0000h       ; XX XXX0 XXXX XXXX
CPD_OFF         equ     3EFF0100h       ; XX XXX1 XXXX XXXX
WRT_1FOURTH     equ     39FF0000h       ; XX X00X XXXX XXXX
WRT_HALF        equ     39FF0200h       ; XX X01X XXXX XXXX
WRT_3FOURTHS    equ     39FF0400h       ; XX X10X XXXX XXXX
WRT_OFF         equ     39FF0600h       ; XX X11X XXXX XXXX
DEBUG_ON        equ     37FF0000h       ; XX 0XXX XXXX XXXX
DEBUG_OFF       equ     37FF0800h       ; XX 1XXX XXXX XXXX
CCPMX_ON        equ     2FFF0000h       ; X0 XXXX XXXX XXXX
CCPMX_OFF       equ     2FFF1000h       ; X1 XXXX XXXX XXXX
PROTECT_ON      equ     1FFF0000h       ; 0X XXXX XXXX XXXX
PROTECT_OFF     equ     1FFF2000h       ; 1X XXXX XXXX XXXX

; *** DEVICE2 Fuses Definitions
FCMEN_OFF equ     3FFE0000h       ; XX XXXX XXXX XXX0
FCMEN_ON equ     3FFE0001h       ; XX XXXX XXXX XXX1
IESO_OFF equ     3FFD0000h       ; XX XXXX XXXX XX0X
IESO_ON equ     3FFD0002h       ; XX XXXX XXXX XX1X


PORTA.0 analog ayarı doğrudur.
Ete

ledanimasyon

Hocam ;Teşekkürler
Fakat bunlardan hangi ayarları açık kapalı yapmalıyım standart bir sigorta ayarı için ne gerek li bunun için bu işlemciyi daha önce kullanmadım hiç. Farklı geldi bana.

ete

Aşağıdakileri dene,
Ete
@ DEVICE PIC16F88 
@ DEVICE PIC16F88, INTRC_OSC_NOCLKOUT
@ DEVICE PIC16F88, WDT_OFF
@ DEVICE PIC16F88, PWRT_ON
@ DEVICE PIC16F88, MCLR_OFF
@ DEVICE PIC16F88, BOD_ON
@ DEVICE PIC16F88, LVP_OFF     
@ DEVICE PIC16F88, CPD_ON
@ DEVICE PIC16F88, WRT_OFF
@ DEVICE PIC16F88, DEBUG_OFF
@ DEVICE PIC16F88, CCPMX_ON
@ DEVICE PIC16F88, PROTECT_ON
@ DEVICE PIC16F88, FCMEN_OFF
@ DEVICE PIC16F88, IESO_OFF



ledanimasyon

durum aynı hocam uyarı veriyor başka bir eksik mi var acaba proğramda  etkiler mi başka bir şeyde göremedim.

Powered by EzPortal