Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

programmazione PIC con mplab

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] programmazione PIC con mplab

Messaggioda Foto Utenteandrea20 » 13 mag 2010, 8:43

ciao a tutti io sono nuovo di questo forum, sto cercando informazioni riguardo al compilatore per PIC MPLAB, in poche parole ho un problema con questo compilatore perché finito di stendere il programma ho effettuato il built del listato ed il risultato è che MPLAB sembra non riconoscere i registri del PIC e nemmeno i valori e le variabili, qualcuno sa dirmi una possibile soluzione a questo problema???grazie a tutti anticipatamente. se non dovessi essere stato chiaro riferitemelo che vi invio la descrizione a video del mio problema.
Avatar utente
Foto Utenteandrea20
0 2
 
Messaggi: 14
Iscritto il: 13 mag 2010, 8:32

0
voti

[2] Re: programmazione PIC con mplab

Messaggioda Foto UtentePaolino » 13 mag 2010, 8:59

Ciao andrea20, benvenuto sul forum di ElectroPortal.
Andiamo con ordine e vediamo di chiarire tutto.

MPLAB è un ambiente di sviluppo che integra al suo interno l'assembler ed il linker per realizzare firmware per PICMicro, in linguaggio Assembly. Da qualche anno a questa parte si integra molto bene con compilatori nativi Microchip e di terze parti.
Che si utilizzi l'assembly oppure, ad esempio, il linguaggio C, è necessario compiere una operazione: creare un nuovo progetto. Tu questo lo hai fatto? Hai seguito tuttii passi indicati?
Il fatto che il compilatore (o l'assembler) non riconosca i registri può essere dettato dal fatto che non hai incluso i file di specifica per il PIC di tuo interesse.

Se non lo hai ancora, installa l'ultima versione di MPLAB che trovi a questo link. Dopodiché accedi al menu Project e seleziona la voce Project Wizard. Ti si apre una procedura guidata abbastanza semplice.

Inizia così, poi se hai dei dubbi, approfondiamo.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4225
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[3] Re: programmazione PIC con mplab

Messaggioda Foto Utenteandrea20 » 14 mag 2010, 13:51

ciao paolo, la vesrione d mplab che ho è proprio quella, hio cercato anche come creare un nuovo progetto, ho trovato le indicazioni specifiche e ho seguito tutti i passi, però il prolema è che al momento del build il compilatore mi segnala illegal label per ogni parola che ho scritto... come mai??
Avatar utente
Foto Utenteandrea20
0 2
 
Messaggi: 14
Iscritto il: 13 mag 2010, 8:32

0
voti

[4] Re: programmazione PIC con mplab

Messaggioda Foto UtenteTardoFreak » 14 mag 2010, 15:10

Posta il listato e poi ne parliamo.
Mettilo utilizzando i tag "code". lo selezioni, ctrl-c e poi lo incolli fra i due tags.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,8k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15762
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[5] Re: programmazione PIC con mplab

Messaggioda Foto Utenteandrea20 » 17 mag 2010, 15:44

fermi tutti ho trovato l'errore, nella definizione delle variabili non avevo scritto endc, sinceramente non lo sapevo neanche perche sono all'inizio della programmazione e sto ancora imparando, ora ho un altro problema, 2 errori che sono:"
-Using default destination of 1 (file).
- Source file path exceeds 62 characters.
cosa vogliono dire??
Avatar utente
Foto Utenteandrea20
0 2
 
Messaggi: 14
Iscritto il: 13 mag 2010, 8:32

0
voti

[6] Re: programmazione PIC con mplab

Messaggioda Foto UtentePaolino » 18 mag 2010, 8:07

Prova a inviare il codice che hai scritto.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4225
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[7] Re: programmazione PIC con mplab

Messaggioda Foto Utenteandrea20 » 19 mag 2010, 8:15

questo è il listato, è molto probabile che ci siano errori di scrittura o che il programma non funzioni.

Codice: Seleziona tutto
;******* Dichiarazioni e configurazioni per il microcontrollore *********
   PROCESSOR 16f887
   #include "p16f887.inc"
   errorlevel -302
   
;******* Dichiarazione delle variabili ******
   
   cblock 0x20                               

   CONT
   endc
;****** Struttura della memoria del programma ******
         ORG 0x00                               
                                 
      banksel      OSCCON
      bsf         OSCCON,4
      bsf         OSCCON,5
      bsf         OSCCON,6
      bsf         OSCCON,0
      bsf         OSCCON,2
      banksel                      TRISB
      clrf                                   TRISB
      banksel                      TRISA
      movlw                      b'000000011'
      movwf                      TRISA
      banksel                      ANSEL
      movlw                      b'00000110'
      movwf                      ANSEL
      banksel                                    ANSELH
      clrf                      ANSELH
      
      banksel                                    ADCON1
      bsf         ADCON1,ADFM
      bcf         ADCON1,VCFG1
      bsf         ADCON1,VCFG0

CONVERS   
                                movlw                      b'00000101'
      banksel                                    ADCON0
      movwf                      ADCON0
      call                      DELAY
      bsf         ADCON0,1

LOOP1   
                                btfsc                      ADCON0,1
      goto                      LOOP1
      banksel                      ADRESH
      movf                      ADRESH,W
      banksel                      PORTB
      movwf                      PORTB   





DELAY   
                                movlw                      h'06'
      movwf                     CONT
LOOP   
                                decfsz                                  CONT
      goto                     LOOP
      return


      end
Avatar utente
Foto Utenteandrea20
0 2
 
Messaggi: 14
Iscritto il: 13 mag 2010, 8:32

0
voti

[8] Re: programmazione PIC con mplab

Messaggioda Foto Utentec1b8 » 19 mag 2010, 17:48

andrea20 ha scritto:- Using default destination of 1 (file).
- Source file path exceeds 62 characters.
cosa vogliono dire??

Rapidamente il significato di queste due segnalazioni.

- Using default destination of 1 (file).
Come sai diverse istruzioni dell'assembler per PIC prevedono che il risultato sia memorizzato o sul registro W o sulla locazione di memoria RAM a cui l'istruzione stessa si riferisce. Istruzioni come ANDFW, DECF, DECFSZ e altre prevedono quindi 2 possibili destinazioni per il risultato della loro esecuzione.
La segnalazione che hai ottenuto in compilazioni sta ad indicare che in una riga (o più righe a seconda del numero di volte che il messaggio appare) hai utilizzato una di queste istruzioni senza specificare quale sia la destinazione. Il compilatore ti avvisa di aver assunto di suo come destinazione la locazione di memoria RAM e non il registro W. Se questo non è quanto volevi allora devi intervenire modificando opportunamente l'istruzione, altrimenti va bene così ed il programma funziona.

- Source file path exceeds 62 characters.
Qui è molto semplice: stai salvando file sorgenti e file eseguibili del tuo progetto in una directory del disco che, come nome, eccede i 64 caratteri. Attenzione: non il nome di ogni singola directory, ma il nome completo del percorso.
C:\progetti_pic\sorgenti_di_prova\sorgenti_in_assembler\prove_varie_nuovi_pic\test_semplici\programma_numero_uno\nome_progetto\
ad esempio è troppo lungo.



In quanto al programma che hai postato non ho guardato se possa funzionare o meno, noto solo un sicuro problema:
Codice: Seleziona tutto

LOOP1
    btfsc ADCON0,1
    goto LOOP1
    banksel ADRESH
    movf ADRESH,W
    banksel PORTB
    movwf PORTB

**************************************
QUI MANCA UNA GOTO
**************************************

DELAY
    movlw h'06'
    movwf CONT
LOOP
    decfsz CONT
    goto LOOP
    return


Prima della DELAY manca una goto senza la quale in PIC si resetta in quanto incontra una return, alla fine della delay, senza che sia stata eseguita una call.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[9] Re: programmazione PIC con mplab

Messaggioda Foto Utenteandrea20 » 31 mag 2010, 15:44

grazie per i suggeri menti,ho apportato le modifiche e ho provato ad eseguirlo, il build è andato bene ma il programma non fa quello che volevo.nn riesco a capire perché,nono effettua nessuna conversione...nn si accende nessun led sulla scheda...
Avatar utente
Foto Utenteandrea20
0 2
 
Messaggi: 14
Iscritto il: 13 mag 2010, 8:32

0
voti

[10] Re: programmazione PIC con mplab

Messaggioda Foto Utentec1b8 » 1 giu 2010, 11:03

Se mi descrivi cosa dovrebbe fare il programma provo a verificarlo.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 24 ospiti