BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   Aiuto pic16f84 (https://www.baronerosso.it/forum/circuiti-elettronici/15027-aiuto-pic16f84.html)

PoWeR 10 novembre 05 21:52

Citazione:

Originally posted by rivp6@10 novembre 2005, 20:41
L'unico problema che un compliatore decente BASIC o C costa un pozzo di soldi, mentre l'assembler è ancora gratis.
Comunque per le cavolatine, guarda qui:

http://www.mikroelektronika.co.yu/english/...basic/index.htm

oppure

http://www.mikroelektronika.co.yu/english/...ikroc/index.htm

puoi scaricare le demo limitate solo alla dimensione del codice


moolto interessante.....

grazie mille...

gigiovanni 10 novembre 05 22:28

Se vuoi ti posso inviare la demo di PicBasic che è il software che uso io, ovviamente anche questo è limitato in lunghezza del codice, ma ti ripeto, per quello che ci devi fare tu è pi che sufficiente!

PoWeR 10 novembre 05 22:30

Citazione:

Originally posted by gigiovanni@10 novembre 2005, 22:28
Se vuoi ti posso inviare la demo di PicBasic che è il software che uso io, ovviamente anche questo è limitato in lunghezza del codice, ma ti ripeto, per quello che ci devi fare tu è pi che sufficiente!


mmmm....

Magari... volentieri, cosi' gli do un occhiata...

Se riesci lo puoi spedire per e-mail a ptnlnzsbn@libero.it

Grazie mille...

protomax 11 novembre 05 08:24

Purtroppo la comunita' di sviluppatori liberi non ha previsto di sviluppare un compilatore GCC freeware che permetta a tutti gli utilizzatori di Pic di fruire delle potenzialita' dei linguaggi ad alto livello, in ogni caso ci sono dei compilatori C che permettono lo sviluppo limitato e gratis.

Compilatori C x pic

http://www.picant.com/c2c/c.html
la versione C free ha delle limitazione ma compila 2K per 16F e 4 K per 18F
riporto in originale "BoostC can be used without registration. Limitations: PIC16 2k code / 2 banks, PIC18 4k code / 2 banks, occasional upgrade info dialog, Non commercial use only"
La versione a pagamento partono dai 4,99$ in su naturalmente le limitazioni scendono al salire del prezzo pero' mi pare che con la free si possa gia scrivere qualcosa di buono.

http://www.bknd.com/cc5x/download.shtml
free solo per 12C e 16F fino a 1024 istruzioni per modulo .

Buono sviluppo in C :wink:

gigiovanni 11 novembre 05 13:39

Vorrei postare qui sul forum il listato del programma in BASIC che ho realizzato, ma sto forum non supporta gli allegati in formato Blocco note e nemmeno quelli in formato ZIP !!!

protomax 11 novembre 05 14:15

1 Allegato/i
Citazione:

Originally posted by gigiovanni@11 novembre 2005, 13:39
Vorrei postare qui sul forum il listato del programma in BASIC che ho realizzato, ma sto forum non supporta gli allegati in formato Blocco note e nemmeno quelli in formato ZIP !!!

Guarda che salvo ultime variazioni in corso dovresti poter postare zip senza problemi ;-) controlla se riesci a scaricare il file sotto :wink:

gigiovanni 11 novembre 05 15:27

Mi dice che non ho il permesso di caricare file*.rar, più tardi provo con i*.zip

SoldatoSemplice 14 novembre 05 11:43

Avrei un ultimo problemino sempre con PIC16F84..... Non sò come si fa a gestire l'interrupt, ora mi spiego...... .

Nel codice assembler io sò come programmare i vari PIN in modo che riconoscano un Interrupt, per esempio su RB0 ma poi non sò come fare a specificare quali sono le istruzioni da fare eseguire al PIC in seguito a tale interrupt, ad esempio

premo un pulsante-> Interrupt-> Lampeggio di led

Come si scrive la routine di lampeggio in modo che il PIC la riconosca come routine di interrupt?

Mi pare che sul datasheet c'è scritto che tale routine va chiamata ISR (Interrupt Service Routine), ma se io volessi che premendo un secondo pulsante il PIC legga una seconda routine, diversa dalla prima, come la devo chiamare ISR2?

E' possibile implementare un tipo di codice che faccia in modo che mentre il PIC sta eseguendo uno specifico interrupt, alla pressione di un secondo pulsante, interrompa questo interrupt, passi ad un nuovo interrupt, poi finito quest'ultimo torni all'interrupt precedente, e poi torni infine al programma? E come le devo chiamare le varie routine?

Spero di essermi spiegato, grazie

gigiovanni 14 novembre 05 14:30

Adesso questo non lo ricordo con precisione, perchè l'interrupt in assemly PIC l'ho fatto al quarto anno delle superiori, ovvero circa 3 anni fa...e poi non l'ho più utilizzato...comunque, da quanto ricordo, al verificarsi dell'interrupt il program couter salta ad una locazione ben precisa...forse era qualcosa del tipo 0004 qindi per gestire un interrupt dovresti fare qualcosa del tipo...

0000H goto yyyy H
........
0004 H ISR (da qui in poi devi scrivere ciò che si deve fare al verificarsi dell'interupt, ovviamente le istruzioni non devono finire sulla locazione di indirizzo yyyy H)

yyyy H programma principale

Quando il PIC subisce un reset (quindi anche all'accensione) lui riparte dalla locazione 0000 H, avendo inserito il goto yyyy e come se lui partisse dalla locazione yyyy saltando così all'avvio la ISR

Ahhh...dimenticavo...ISR significa (Interrupt Service Routine) praticamente è la routine (ovvero l'insieme di istruzioni) che il PIC deve eseguire al verificarsi di un interrupt

Spero di esserti stato utile

MSchiepp 14 novembre 05 14:36

@SoldatoSemplice

Guarda che ti ho risposto a proposito dell'interrupt nell'altro post ...

http://www.baronerosso.it/forum/index.php...pic=16113&st=10

Ciao,

Michele


Tutti gli orari sono GMT +2. Adesso sono le 10:50.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002