Vai al contenuto
PLC Forum


Pic 12f675 1,75 K Programma


albert_max

Messaggi consigliati

salve a tutti anche se non (=non) sono nuovo del forum il tempo che mi rimane a disposizione è talmente poco che non (=non) riesco mai ad entrare in questo prezioso sito e sbirciare su tanta roba,,,,,,,,,,,,

la cosa che vi chiedo a chi mi volesse aiutare è che sto creando un circuito in smd com un pic 12f675 non essendo un programmatore mi sono affidato al pic basic e sinceramente ho visto che in poco tempo ho tirato giu un pic che facesse tutto cio che mi serviva solo che ora a forza di scrivere il k dello stesso non (=non) mi basta ....

ho visto da RS dei pic con 1,75 k di memoria li ho acquistati 2 ma il problema è che picbasic non va oltre l'indirizzo di memoria 3ff....

qualcuno mi sa aiutare....

poi anche il programmatore... per curiosita ho fatto leggere al programmatore un diy k1249-bc il pic con maggiore memoria ,,,,, ma non (=non) cambia nulla

qualcuno mi puo dare qualche consigli?

grazie wallbash.gif

Modificato: da Fulvio Persano
Link al commento
Condividi su altri siti


Abbandona il PicBASIC e passa al C (non e’ difficile).

Dal sito Microchip scarica la versione lite (gratuita) della HI-TECH. La versione “evaluation” credo che abbia una scadenza di 60 giorni; una volta scaduta continua a funzionare ma non ottimizza più.

Per programmare o debug del codice un buon tool è il KITPIC: esistono versioni diverse a prezzi modici.

Link al commento
Condividi su altri siti

Che basic utilizzi (melabs,proton,mikro,oshonsoft,...) ?

Tieni conto che alcuni compilatori, pur supportandoli, non vanno molto bene con i 12F.

Se vuoi, prova a postare il listato.

Forse e' solo da sistemare un po': alcune istruzioni (tipo "goto") fanno presto ad aumentare le dimensioni del programma finale.

Considera anche il buon suggerimento di kappa47.

Ma alla fine, se il PIC e' troppo "piccolo" rispetto a quello che vuoi implementare, c'e' poco da fare, devi passare ad altro modello.

Personalmente, quando mi serve un "piccolo", uso i PIC12F683:

2048 di flash

20Mhz

6 I/O

4 convertitori A/D

1 Comparatore

Su ebay si trovano anche a meno di 1euro l' uno, se presi in blocchi di 5 o piu'.

Link al commento
Condividi su altri siti

grazie tante per le vostre pronte risposte....

comunque picbasic melabs versione se non (=non) erro 2,47

so che "c" è piu potente pero non (=non) sono programmatore dovrei cominciare a scrivere da capo e capire con difficolta il c

poi una cosa .... io uso i comandi pulsin "per il controllo degli impulsi che vengono da un ricevitore rc "

ed un altro comando che non (=non) ricordo per misurare la frequenza che esce da un sensore magnetico per visualizzare i giri di un motoro rc

questi comandi sono presenti in "c" (scusate la mia ignoranza )

comunque per quanto riguarda il 2 pic da usare devo vedere il datasheet e se non (=non) cambia particolarmente la piedinatura se riesco ad adattare i vari gpio credo che passero a quello suggerito

grazie

Modificato: da Fulvio Persano
Link al commento
Condividi su altri siti

Il “C”, nonostante si creda il contrario, non è un linguaggio ad alto livello, semmai di medio livello. La sua “potenza” è data dalle librerie a corredo che sono fatte in funzione del micro per cui è stato sviluppato.

Da qui, nascono diverse versioni che spesso non rispettano lo standard ANSI (vedi ad esempio le variabili “boolean”).

Tutto questo per dire che non ti devi aspettare “istruzioni” o comandi del tipo “pulsin” a meno che non ci siano in libreria (cosa che non credo).

Tutto ciò che non c’è lo devi implementare tu, ma ripeto, non è difficile e rimane comunque un linguaggio efficiente e versatile con cui puoi fare di tutto e di più…

Link al commento
Condividi su altri siti

E' una stana teoria la tua. Dovresti remderla nota anche ai vari enti e società informatiche, come la AICA o IEEE, nonchè alle università informatiche di tutto il mondo che si si ostinano a definere i "C" come HLL (Hig Level Language).

Tra l'altro lo standard ANSI è praticamente superato da anni, sopravvive solo come riferimento didattico. Oramai tutti i compilatori hanno istruzioni e "built in function" dedicate.

Se prendi, ad esempio, il compilatore della CCS dedicato hai PIC trovi giusto una serie di built in function che ne ottimizzano l'uso per questi micro, come anche le dimensioni delle variabili intere sono state rimodellate per ottimizzare le risorse del micro.

Poi esistono anche le funzioni di libreria, ma quieste sono un altra cosa.

Link al commento
Condividi su altri siti

Come gia' scritto, la famiglia 12F ha delle limitazioni nella ottimizzazione del codice, vedi paragrafo 7.6 del manuale pdf ( in quello html non c'e'):

manuale

viene citato che uno dei limiti e' dovuto alla quantita' di RAM per le variabili, consigliando una versione di micro che ne abbia di piu'.

es.

PIC12F675 -> 64K

PIC12F683 -> 128K

Particolare attenzione va fatta con le istruzioni di salto (GOTO, GOSUB), specie se nidificate: fanno presto a "bere" memoria disponibile.

L' istruzione PULSEIN, come altre simili, e' da utilizzare con criterio e non certo nel caso uno intenda realizzare un frequenzimetro o un conteggio veloce e preciso.

In certi casi bisogna utilizzare l' interrupt, e anche qui le strade sono molteplici:

- usare le funzioni basic del compilatore, semplici ma non precisissime.

- usare delle routine preconfezionate, vedi l' ottimo lavoro di Darrel Taylor:

interrupt

- usare l' assembler, all' interno del codice basic, per le routine "particolari".

La versione che citi (2.47) e' di qualche anno fa, ora e' disponibile la 2.50.

Dato che gli upgrade della melabs non sono molto frequenti si possono supporre delle marcate migliorie introdotte con l' ultima release.

Se non l' hai gia' fatto, provato a dare un' occhiata al forum di supporto:

Support

forse trovi qualche spunto per migliorare il tuo programma.

Non mi intedo di RC e magari e' tutt'altra cosa rispetto a quello che devi fare, ma nel forum di supporto citato mi e' saltato agli occhi questo thread :

link_rc

Se non hai esperienza particolare di programmazione, rimane sempre il consiglio dato da altri: comincia ed impara con il "C".

Una volta presa la "brutta strada" del basic e difficile tornare indietro e si finisce sempre con il ricadere in questo linguaggio, semplice ed intuitivo, ma spesse volte poco performante. wink.gif

Link al commento
Condividi su altri siti

Per prima cosa ringrazio tutti per i consigli datomi che sicuramente stanno apportando un prezioso aiuto alla risoluzione del problema ,,,

sinceramente la cosa che mi butta un po giu e che, avendo imparato a usare un po il pic basic e con l'esperienza che ho con l'elettronica e vari componenti (soprattutto ) in smd mi sentivo sicuro, ora che sento voi parlare mi viene ricordato sempre + che bisogna sempre tenere la testa bassa e con umiltà studiare studiare studiare. magari con maggiore lentezza rispetto ad uno che ha esperienza nel software.........

comunque ho letto il forum sull' rc forte.............

continuerò il mio circuito per ora con il pic basic e farò prove con il pic 12f683 in attesa di passare a qualcosa di s/w come il c

grazie a tutti .............

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...