pic18fxxx derleme

Başlatan Lütfi AYYILDIZ, 26 Şubat 2009, 00:20:56

Lütfi AYYILDIZ

18 serisi picleri denemek için bişeyler denedim ama nedense hep hata aldım.Aslında siteden bulduğum denenmiş kodlar ama ben çalıştıramadım nedense, mpasm de yüklü birsürü hata ve uyarı mesajı alıyorum program derlenmiyor bir türlü
INCLUDE "P18F452.INC"
asm 
__CONFIG _CONFIG1H, _HS_OSC_1H ; HS osc 
__CONFIG _CONFIG2L, _BOR_ON_2L & _BORV_27_2L & _PWRT_ON_2L ; Enable Brown out voltage detect 
; Brown out voltage threshold 2.7 Volt 
__CONFIG _CONFIG2H, _WDT_OFF_2H ; Disable watch dog timer 
__CONFIG _CONFIG3H, _CCP2MX_OFF_3H ; Use default PORTC.1 for CCP2 
__CONFIG _CONFIG4L, _STVR_ON_4L & _LVP_OFF_4L & _DEBUG_OFF_4L ; enable stack overflow 
; disable low-voltage programming mode 
; disable background debugger 
__CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L ; disable code protect (user block) 
__CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H ; disable code protect (boot block) 
__CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L 
; disable write protect (user block) 
__CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H ; disable Write protect CONFIG regs 
; disable write protect boot block 
; disable write protect Data EE 
__CONFIG _CONFIG7L, _EBTR0_OFF_7L ; Disable table Read protect user block 
__CONFIG _CONFIG7H, _EBTRB_OFF_7H ; Disable Read protect boot block enable 
endasm
adcon1=7
MAIN:
TOGGLE PORTB.0
PAUSE 1000
GOTO MAIN

teknikelektronikci

eger pic basic pro ise orda bi ayarlar var use mpasm diye onu isaretlemeniz gerek birde mpasm olmali mpasm ollarak proteus un icindekini gösterin derleyiciye
Ey Türk istikbalinin evlâdı! İşte, bu ahval ve şerâit içinde dahi, vazifen; Türk İstiklâl ve Cumhuriyetini kurtarmaktır! Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!

Lütfi AYYILDIZ

Gösteriyorum zaten hocam use mpasm işaretli ayarlar tamam ama yinede hata ve uyarı msj var.

mustaphaerdem

pic basic pro 18f452 de bende aynı sorunu yaşıyorum config ayarlarını program içerisinden yapmak için hangi kodları yazmamız gerekli?
Korkarak yaşıyorsan sadece hayatı seyredersin.

ahmet2004


Lütfi AYYILDIZ

Ahmet hocam ben derleme yapamıyorum bir sürü hata mesajı alıyorum

ibo1973

aslında burada yazmıştım ama  http://picproje.org/index.php/topic,23148 okumayanlar için burayada ekliyim



config ayarları picle ilgili olrak pbp klasöründe bulunan picismi.inc dosyasından yapılır eğer mcs de ayarlamak gerekiyorsa picismi.inc dosyası bulunur pbp un içinde ve diğer ayarlar disable edilir



18f2550.inc dosyasının içeri bu şekilde disable edilir
Kod:


;****************************************************************
;*  18F2550.INC                                                 *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2006 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 06/05/06                                        *
;*  Version   : 2.47                                            *
;*  Notes     :                                                 *
;****************************************************************
       NOLIST
   ifdef PM_USED
       LIST
       "Error: PM does not support this device.  Use MPASM."
       NOLIST
   else
       LIST
       LIST p = 18F2550, r = dec, w = -311, w = -230, f = inhx32
       INCLUDE "P18F2550.INC"   ; MPASM  Header
;        __CONFIG    _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
;        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
;        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
;        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
;        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
;        __CONFIG    _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L
      NOLIST
   endif
       LIST
EEPROM_START   EQU   0F00000h
BLOCK_SIZE   EQU   32





ve mcs de bu şekilde config edilir

Kod:



@        __CONFIG    _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
@        __CONFIG    _CONFIG1H, _FOSC_HSPLL_HS_1H
@        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_1_2H
@        __CONFIG    _CONFIG3H, _PBADEN_OFF_3H
@        __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
@        __CONFIG    _CONFIG5L, _CP0_ON_5L & _CP1_ON_5L & _CP2_ON_5L & _CP3_ON_5L




configlerin ne işe yaradığı ilgili picin datasheed inden bakılır mcs ye nasıl ilave edebiliceğinizi ise mpasmın içinden picismi.inc dosyasına bakarak ve biraz okuma zahmetine katlanıp birazda mantık yürüterek rahatlıkla bulunabilir.

yani burda dikkat etmeniz gerek şudur pbp un içindeki picismi.inc dosyası ile mapsmın içindeki piciismi.inc dosyalarının isimleri aynı olduğu halde işlevleri farklıdır.

ibo1973

aldığın hataların çoğu config ayarları ile ilgili

;****************************************************************
;*  18F452.INC                                                  *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2005 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 12/16/05                                        *
;*  Version   : 2.47                                            *
;*  Notes     :                                                 *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F452, r = dec, w = -311, w = -230, f = inhx32
        INCLUDE "P18F452.INC"   ; MPASM  Header
        __CONFIG    _CONFIG1H, _OSCS_OFF_1H & _XT_OSC_1H
        __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
        __CONFIG    _CONFIG4L, _LVP_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START	EQU	0F00000h
BLOCK_SIZE	EQU	8


sendeki 18f452.inc dosyasının içeri  defult ayarı durumunda olduğu için mcs de ayarlarını yapamazssın yaptığın zamanda bu hataları alırsın yapman gereken

;****************************************************************
;*  18F452.INC                                                  *
;*                                                              *
;*  By        : Leonard Zerman, Jeff Schmoyer                   *
;*  Notice    : Copyright (c) 2005 microEngineering Labs, Inc.  *
;*              All Rights Reserved                             *
;*  Date      : 12/16/05                                        *
;*  Version   : 2.47                                            *
;*  Notes     :                                                 *
;****************************************************************
        NOLIST
    ifdef PM_USED
        LIST
        "Error: PM does not support this device.  Use MPASM."
        NOLIST
    else
        LIST
        LIST p = 18F452, r = dec, w = -311, w = -230, f = inhx32
        INCLUDE "P18F452.INC"   ; MPASM  Header
       ; __CONFIG    _CONFIG1H, _OSCS_OFF_1H & _XT_OSC_1H
       ; __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
       ; __CONFIG    _CONFIG4L, _LVP_OFF_4L
        NOLIST
    endif
        LIST
EEPROM_START	EQU	0F00000h
BLOCK_SIZE	EQU	8


ilgili kısımları 18f452 inc doysayından ; kulanarak  kapatman gerekir bu işlemi yaparsan config ile ilgili olan kısımlar için hata almazssın kolaya gelsin