Sostituire il 16F84A con il 16F628A

Il gran successo dei microprocessori della Microchip e in particolare della versione flash (vedi la famiglia 16f8x) ha portato molti hobbisti e non alla costruzione di circuiti complessi in cui sono richiesti notevoli risorse in termini di RAM, EEPROM, Program Memory, Clock ed altro. In questo documento saranno spiegati i cambiamenti che bisogna apportare ai codici sorgenti (.asm) scritti per il 16F84A in modo che si possa sostituire il 16F84A con il 16F628.
Nel documento si fa riferimento al datasheet della famiglia 16F62X che potete scaricare dal sito della Microchip o collegandovi al mio sito usando il seguente link:
 MicroChip

  Perché proprio il 16F628a?

In figura 1 e' riportato il confronto tra il diagramma dei piedini del 16F628a e quello del 16F84A.  Come si vede, la piedinatura del 16F628A è compatibile con quella del 16F84A utilizzando particolari settaggi poiché il 16F628 pur avendo 18 pin può usarne 16.

Fig 1 : Diagramma dei pin del micro 16F628 e del micro 16F84A messi a confronto

Confronto risorse  del 16F628 rispetto al 16F84A

Nella seguente tabella e' riportato il confronto delle risorse dei due micro: 

Risorsa

16F628

16F84A

Unità

RAM

224

68

Byte

Program memory

2048

1024

Byte

EEPROM

128

64

BYTE

I/O Pin

16

14

Pin

Comparatori analogici

2

0

-

Programmabile Vref

Si

No

-

8 bit Timer1

Si

Si

-

8 bit Timer2

Si

No

-

Modulo CCP

Si

No

-

USART

Si

No

-

LV program

Si

No

-

Oscillator mode

6

4

-

Tab1: confronto tra le risorse dei due micro 

In particolare,  i vantaggi maggiori che si hanno nell'utilizzare sono la maggiore quantità di RAM, di EPROM, di memoria di programma che e’ doppia rispetto al 16F84A (Non e’ poco !! ). Da non trascurare la possibilità di avere 2 comparatori, e il modulo USART ( utile per la comunicazione seriale RS232) e il modulo CCP ( Compare, Capture, PWM) utile per l'interfacciamento esterno con segnali digitali