Vai al contenuto
PLC Forum


Sostituire Pic16f84 Con 16f628a


limaciù

Messaggi consigliati

Se voglio sostituire un pic 16f84 con un pic 16f628a cosa devo fare ?

Ho visto che i piedini corrispondono quindi credo che elettricamente non ci siano problemi , mentre credo che sia il programma da modificare , io uso il C come compilatore appena capisco come inserire il programma che avevo scritto per il 16f84 vi posso chiedermi di darmi una mano .

Grazie a tutti .

Link al commento
Condividi su altri siti


ifachsoftware

Se usi il C e' semplicissimo : cambi l'include e ricompili (al limite ridefinisci la frequenza di clock se ti serve piu' velocita' visto che il 16F628-20 puo' arrivare fino a 20MHz , ma supporta tranquillamente lo stesso quarzo da 4MHz del 16F84.

Ciao :)

Link al commento
Condividi su altri siti

Se ho capito bene basta sostituire #include<pic1684.h> con #include<16f62xa.h> definisfo la frequenza e il gioco è fatto . Una domanda il pic 16f628a a sulle porte A degli ingressi analogico digitali ,queste porte le uso come ingressi collegati ad un pusante con una resistenza di pull op può crearmi dei problemi?

Link al commento
Condividi su altri siti

ho fatto alcune prove il risultato è che mi da errore codice 0000 , ho modificato gli include ed o definito la frequenza di lavoro ma non funziona qualcuno a qualche idea , come faccio ad inserire il programma nel forum?

Link al commento
Condividi su altri siti

Uso il compilatore picc lite il programma è il seguente lo scrivo perchè non riesco ad inserirlo

/*****************************\

* programma gestione lcd da *

* da pic 16f84 a 16f628a *

* *

\*****************************/

#include<pic16f62xa.h>

#include<stdio.h>

#define XTAL_FREQ 4MHZ

#include"delay.c"

#define valore 250

#include"lcd.c"

main()

{

TRISB0=0;

TRISB1=0;

TRISB2=0;

TRISB3=0;

TRISB4=0;

TRISB5=0; //porte per gestire un lcd 2x16

TRISA=15; //le porte a settate per ingressi

DelayMs(100);

LCD_INIT();

DelayMs(250);

LCD_CLEAR();

DelayUs(200);

LCD_CMD(LCD_line1);

LCD_PUTS(" scrivo testo);

while(1)

{

switch(PORTA)

case 1:

LCD_CMD(LCD_line2);

LCD_PUTS(" scrivo testo")

break;

e così via per gli atri case 2 , 4 , 8 fatto questo lo trasformo in hex e tutto va a buon fine programmo il pic e viene programmato ma nel atto pratico della cosa sul lcd non appare nulla ,lo stesso programma con le opportune modifiche per un pic 16f84 funziona anche se ho notato un problema che si presenta qualche volta , ma per ora mi ineressa sapere perchè non va con un pic 16f628a

Grazie a tutti

Link al commento
Condividi su altri siti

Non conosco quel compilatore, quindi non so dirti se c'è qualche settaggio particolare da fare. Non so neanche come tratta gli LCD, ma so, per esperienza diretta, che a volte questi controllori danno problemi per delle banalità. Potrebbe anche essere che con il nuovo micro il programma giri più velocemente e questo causi il non funzionamento del display

Link al commento
Condividi su altri siti

Se fosse per questo problema cosa dovrei fare , scusa la mia ignoranza ma è da poco che lavoro con i pic e ci sono ancora molte cose che non conosco , come posso fare ?

Link al commento
Condividi su altri siti

c'e' il microC della microelettronica

tra poco inizia anche un corso su una rivista di elettronica

personalmente l'ho scaricato , versione demo , e devo dire che sia come

editor che compilazione e' davvero un bel oggetto

Contiene anche dei tools per la seriale , per lcd, udp ect

Il costo e' inferiore ai soliti compilatori

non posso dirti pero nei particoalri come funziona , bisognerebbe

avere la versione originale e vedere come compila l'assembly

e compararlo con altro compilatore o conoscere bene l'assembly per capire

ciao

Link al commento
Condividi su altri siti

  • 2 weeks later...

Compilatore C gratis:

http://www.bknd.com/cc5x/

Io lo uso "integrato" con l'editor gratuito PSPad ( www.paspad.com ).

Dal listato .C ti genera sia il .ASM che il .HEX .

Nel programmare il mio 16f628a io ho spesso dei problemi con l' "errore in 0000" se i piedini non fanno contatto piu' che bene... :huh: Uso un programmatore EPIC on EpicWin.

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...