Pagina 1 di 1

Programmazione 16F876

MessaggioInviato: 25 mag 2012, 14:53
da yustel
Salve a tutti, io e un amico stiamo realizzando un sistema di controllo per un condizionatore tramite PIC. Abbiamo scritto l'intero programma e ora vorremmo caricarlo sul microcontrollore.

Utilizzando ic-prog però al momento di programmare (Programma Tutto) il programma genera un errore (Verifica fallita all'indirizzo 0000h) e non riusciamo a venirne fuori.
Programmiamo tramite seriale RS232.
Cercando su internet ho trovato che l'errore spesso si riferisce a problemi sulla tensione del PIC, abbiamo provato a misurarla ma sul Vdd sono presenti 5V e sull' MCLR durante la programmazione circa 10V. Tutto pare corrispondere quindi.

Il programma è stato scritto come segue:
Codice: Seleziona tutto
__CONFIG_CP_OFF
__CONFIG_WDT_OFF
__CONFIG_BODEN_OFF
__CONFIG_PWRTE_ON
__CONFIG_HS_OSC
__CONFIG_WRT_ENABLE_ON
__CONFIG_LVP_OFF
__CONFIG_DEBUG_ON
__CONFIG_CPD_OFF
   PROCESSOR 16F876                       
   RADIX DEC    
   INCLUDE "P16F876.INC"           

   ORG 00h
   CLRF INTCON   

main        
......
end


Potrebbe essere necessario programmare con un programmatore diverso o con un altro sistema operativo? Attualmente abbiamo provato con IC-prog su windows XP e MPLAB che da come risultato (Unable to connect)
Ringrazio in anticipo per l'aiuto.

Re: Programmazione 16F876

MessaggioInviato: 25 mag 2012, 17:08
da Paolino
Ciao Foto Utenteyustel.
Non ho grande dimestichezza con IC-PROG, pertanto ti dò un consiglio spassionato: se fate a metà tu e il tuo amico, con circa 25€ a testa acquistate per meno di 50€ PICKit3, comprese le tasse e le spese di spedizione. Vi darà pochi problemi e inoltre potrete fare anche debug del vostro codice, direttamente sulla scheda.

Ciao.

Paolo.

Re: Programmazione 16F876

MessaggioInviato: 27 mag 2012, 17:06
da yustel
Si ci avevamo pensato ma oramai è tardi e stiamo facendo di tutto per accorciare i tempi. Il circuito Ludipipo però è funzionante in quanto è gia stato usato da altri ragazzi. Si spera di trovare un'altra soluzione.

Re: Programmazione 16F876

MessaggioInviato: 27 mag 2012, 17:17
da left
I problemi comuni che ricordo con ic-prog: la porta seriale non raggiunge la tensione richiesta (Vdd +3.5 dovrebbe bastare), in ic-prog è selezionato il PIC sbagliato.
Prova ad aumentare il delay nelle preferenze del programma, a volte funziona.

Re: Programmazione 16F876

MessaggioInviato: 28 mag 2012, 14:13
da yustel
Grazie Foto Utenteleft per l'interessamento, a meno che non ti riferisca ad un errore del programma abbiamo selezionato il PIC giusto, abbiamo provato a programmarlo anche cambiando varie impostazioni ma niente, non ne vuole sapere.
Riguardo alla vdd non sono sicuro di aver capito cosa intendi. Il programmatore è alimentato a 9V, l'alimentazione del PIC di conseguenza non la preleviamo dalla seriale ma da un 7805. Ora vediamo di programmare tramite Linux oppure cambiare programmatore e/o software, ho scoperto che esiste anche una versione di IC-prog modificata in quanto tipicamente da problemi con XP.

Re: Programmazione 16F876

MessaggioInviato: 28 mag 2012, 16:29
da TardoFreak
Piccola nota di colore. :mrgreen:
Se avreste ordinato il PicKit3 Sabato o Domenica domani mattina lo avreste già sul banco (se non già questa sera).

Re: Programmazione 16F876

MessaggioInviato: 28 mag 2012, 16:56
da yustel
Ahahaha si vero, sarebbe sicuramente arrivato. Il progetto è fatto in ambito scolastico e di conseguenza dobbiamo sottostare a cio che la scuola ci dice, non possiamo chiedere un programmatore e non abbiamo nessuna voglia di comprarlo :D. Preferiamo farcelo... sperando di riuscirci.

Re: Programmazione 16F876

MessaggioInviato: 29 mag 2012, 7:04
da Paolino
Considera che PICKit3 non è solo un programmatore ma anche un debugger! Il che dà un notevole vantaggio rispetto ad un programmatore self-made! Inoltre, l'investimento di 50€ (25€ a cranio) verrebbe ripagato immediatamente.

Con un programmer/debugger che funziona potrete concentrarvi su tutti i vostri progetti, compreso un programmatore alternativo.

Ciao.

Paolo.