Newsgroup: it.hobby.elettronica.digitale
Titolo: pic 18f258 memoria

ciao a tutti,
voglio poter utilizzare per una mia applicazione un pic 18f258. mi č nato un
problema:
come faccio a definire degli inidizzi di memoria?
sono abituato con 16f84 e molte variabili non mi vengono accettate da mplab
7.x
esempio:
16f84   pippo equ 20h
            pluto  equ 21h
mentre per il 18f258 la sintassi non mi č chiara. cģč qualcuno che puņ
aiutarmi?
bartolo totaro

All'epoca ho avuto anche io problemi di quel tipo, li risolsi subito
passando a programmare in C! la serie 18F è molto ben supportata.
Purtroppo non ti so aiutare nel tuo problema specifico ma mi son
permesso di dirti questo anche se non lo hai chiesto, perche da quando
ho iniziato a programmare la serie 18 in C, mi trovo molto bene e
faccio in assemble solamente le parti strettamente necessarie.
Ciao
Pietro

 ha scritto nel 
messaggio news:432efeae$0$8487$5fc...@news.tiscali.it...



questa sintassi a me non dà nessun problema a parte un warning se metto la
tabulazione all'inizio della riga.
Di solito uso:
pippo    equ    0x0020
così ho meno problemi con i banchi...
Ciao,
Lucio

 >            pluto  equ 21h


 PIPPO EQU 0C
perchè il banco si seleziona quando si usa la variabile e non quando la si 
dichiara:
PIPPO EQU 0C
PLUTO EQU 8C
bcf  STATUS,RP0
movlw    10
movwf    PIPPO
bsf  STATUS,RP0
movlw    10
movwf    PLUTO
...
Con i PIC18 ci sono similitudini ma anche molte facilitazioni:
PIPPO equ 000h
PLUTO equ 100h
MINNI equ 200h
TOPOLINO equ 300h
movlb       high (PIPPO)
movlw    10
movwf    PIPPO
movlb       high (PLUTO)
movlw    10
movwf    PLUTO
movlb       high (MINNI)
movlw    10
movwf    MINNI
movlb       high (TOPOLINO)
movlw    10
movwf    TOPOLINO
in più puoi fare questo:
movff    MINNI,TOPOLINO
o questo:
movff    WREG,TOPOLINO
e questo:
lfsr    0,PLUTO
bellissimo!
La parte iniziale del banco zero è sempre accessibile anche senza cambiare 
il BSR (movlb).
Lo stesso per la parte alta dell'ultimo banco!
Ciao
Marco Rossi

 ha scritto nel messaggio
news:433a2a7f$0$8499$5fc...@news.tiscali.it...


Non devi selezionare il banco nella dichiarazione ma quando usi la 
variabile!
la riga:
PIPPO equ 000h
NON è un'istruzione!
semplicemente dici al compilatore di sostituire la parola PIPPO con 000h
all'inizio del file metti le dichiarazioni:
PIPPO equ 000h
PLUTO equ 100h
MINNI equ 200h
TOPOLINO equ 300h
esattamente cosi come le ho scritte (nota che non è codice di programma).
poi, nel codice, se vuoi usare per esempio MINNI prima di usarla metti:
movlb high (MINNI)
esempio:
    movlb    high (MINNI)
    movlw    5h
    movwf    MINNI
luppa
    movlb    high (TOPOLINO)
    incf    TOPOLINO,F
    movlb    high (MINNI)
    decfsz    MINNI,F
    bra    luppa
se hai altri dubbi non esitare a chiedere.
Ciao
Marco

 ha scritto nel messaggio
news:43411f96$0$8486$5fc...@news.tiscali.it...


 non riesco a vedere i salti vettoriali degli interrupt.
La porta A è un po particolare, leggi bene il datasheet perchè ogni pin 
funziona a modo suo.
Controlla che i pin usati non siano configurati come ingresso analogico.
In alcuni PIC la porta A ha anche dei pin Open Collector.
Inoltre è molto meglio usare il registro LATA per cambiuare le uscite.
L'ICD lo uso tantissimo e non ho mai avuto problemi, direi che è ottimo. 
Puoi brecare tranquillamente anche la routine d'interrupt.
E' più probabile trovare bachi nei PIC che nel ICD (che viene aggiornato via 
software).
Leggi sempre l'errata prima di usare un PIC nuovo.
Nota inoltre che i nuovi PIC18 hanno tre breakpoints.
Il PIC18F258 non lo conosco.
Forse parli del 18F2585.
Ma devi usare il CAN bus?
Ciao,
Marco R. 


No assolutamente, ripeto era un circuito di fine corso e la realizzazione
era un termometro con sonda LM35(tanto x vedere una conversione A/D) , due
tasti di
interrupt x modificare un valore si soglia con un allarme, un LCD x la
visualizzazione della temperatura e una trasmissione
seriale sempre x l'invio del dato.
Il problema di fondo è che non abbiamo fatto in tempo ad ultimare la
realizzazione del progetto che il corso è finito.  Purtroppo
Ciao a presto e grazie ancora

 realizzazione del progetto che il corso è finito.  Purtroppo
E' sempre cosi
Ciao
Marco.