Foto del programmatore 89C2051
L'idea di realizzare un programmatore semplice per l'89C2051 e' nata leggendo una application della ATMEL che riportava un programmatore piu' complesso.
In internet si trovano diversi schemi di programmatori elementari per 89C2051, ma nella maggior parte dei casi funzionano male o non dispongono di tutte le funzioni tipiche di un programmatore serio.
Il circuito
seguente e' molto semplice, dispone di tutte le funzioni necessarie a:
Lo schema del programmatore 89C2051 viene alimentato tramite il connettore P2 da una sorgente in continua compresa tra 15 e 20 Volts.
Fig. 1 - Schema Elettrico del programmatore 89C2051
Il diodo D1 protegge il circuito da possibili inversioni di polarita'.
Il led rosso D2 si accende in presenza della tensione di alimentazione alimentato dalla corrente che fluisce attraverso la resistenza R11.
Il condensatore C1 filtra gli ingressi dei due alimentatori.
L'alimentatore a +5V e' costituito dall'integrato U1 e i condensatori di filtro C2 e C10.
L'alimentatore della tensione di programmazione e' costituito dall'integrato U2 dal partitore R3-R4 e dalla resistenza R2.
Il transistor Q1 permette di cambiare la tensione d'uscita dell'alimentatore:
+5V nello
stato ON
+12V
nello stato OFF
La base del transistor viene alimentata dal partitore R1-R19. Lo stato del pin 12 di U3 determina l'apertura e la chiusura del transistor Q1.
Un livello alto determina lo stato ON, mentre un livello basso determina lo stato OFF.
I due transistor Q2 e Q3 funzionano da interruttore che separa la tensione di programmazione verso il pin 1 di U4 (Il micro da programmare).
Il connettore P1 collega il circuito alla porta parallela del PC.
Il bus
dati viene utilizzato sia per leggere e scrivere il dato verso il micro,
sia per stabilire il modo di
funzionamento
attraverso la scrittura di un codice sull'integrato U3 come segue:
I fili
di controllo dell'interfaccia vengono cosi' utilizzati:
Di seguito viene riportato l'elenco dei componenti:
POS. QTA' DESCRIZIONE
D1
1 DIODO
1N4001
P1
1 CONNETTORE
DB 25 - MASCHIO DA CS
P2
1 CONNETTORE
BIPOLARE PER CS
R1
1 RESISTENZA
4K7 - 1/4 W - 5%
R2
1 RESISTENZA
1K15 - 1/4 W - 1%
R3
1 RESISTENZA
249 - 1/4 W - 1%
R4
1 RESISTENZA
2K15 - 1/4 W - 1%
R5-R6
2 RESISTENZA
10K - 1/4 W - 5%
R7
1 RESISTENZA
4K7 - 1/4 W - 5%
R8
1 RESISTENZA
100 - 1/4 W - 5%
R9
1 RESISTENZA
10K - 1/4 W - 5%
R10,R12
2 RESISTENZA
100 - 1/4 W - 5%
R11
1 RESISTENZA
2K2 - 1/4 W - 5%
R13
1 RESISTENZA
100 - 1/4 W - 5%
R14-R18
5 RESISTENZA
4K7 - 1/4 W - 5%
R19-R20
2 RESISTENZA
2K2 - 1/4 W - 5%
RP1
1 RETE
RESISTIVA X 8 - 4K7
C1
1 CONDENSATORE
ELETTROLITICO VERT. 100uF/25V
C2
1 CONDENSATORE
ELETTROLITICO VERT. 47uF/25V
C3
1 CONDENSATORE
POLIESTERE 1 uF
C4
1 CONDENSATORE
POLIESTERE 1 nF
C5,C6,C10
3 CONDENSATORE
POLIESTERE 100 nF
C8-C9
2 CONDENSATORE
POLIESTERE 1 nF
D1
1 DIODO
1N4001
D2
1 DIODO
LED ROSSO 3mm
Q1,Q3
2 TRANSISTOR
NPN 2N2222
Q2
1 TRANSISTOR
PNP 2N2907
U1
1
INTEGRATO REGOLATORE 78L05
U2
1 INTEGRATO
REGOLATORE LM317
U3
1
INTEGRATO CMOS 74HC174
U3B
1
ZOCCOLO 14 PIN DIP
U4
1
MICROCONTROLLORE 89C2051
U4B
1
ZOCCOLO 20 PIN DIP
VARIE
CAVO DB25 MASCHIO-FEMMINA - LMAX = 25 CM.
Il circuito stampato e' realizzato su una basetta delle seguenti dimensioni:
Fig. 2 - Circuito stampato del programmatore 89C2051
Seguendo
il piano di montaggio, saldare prima i ponticelli (indicati in rosso),
poi i connettori e gli zoccoli, quindi le resistenze e i condensatori ed
infine i diodi, i transistors.
Fig.3 - Piano di
montaggio del programmatore 89C2051
Prima di inserire gli integrati negli zoccoli, procedere con la verifica preliminare.
Collegare
l'alimentazione e verificare:
Accendete
il PC e date alimentazione al programmatore.
Nel caso usiate WIN 95 ricordatevi di Chiudere la Sessione e ravviare il sistema in modalita' DOS.
Solo in questo caso potrete essere sicuri di usare correttamente il programmatore.
Per installare il software sotto DOS, creare una directory PROG2051 e copiare il file prog2051.zip all'interno della directory appena creata.
Con un programma di unzip scompattare il file suddetto.
All'interno
della directory troverete oltre al programma eseguibile prog2051.exe anche
le seguenti cartelle:
e lanciare il programma prog2051.exe.
Un menu' vi guidera' nella scelta delle possibili opzioni.
Prima di usare il programmatore leggete i byte di signature (J).
Dovreste ottenere il seguente risultato 1E - 21 - FF.
Per programmare
il componente :
L'assembler genera normalmente un file in formato INTEL-HEX.
Prima di usare questo file per il caricamento in memoria bisogna ricordarsi di convertirlo in formato binario usando l'utility HEXBIN.EXE.
Se volete proteggere il CHIP da ulteriori programmazioni abilitate il LOCK BIT 1 (M).
Se volete proteggere il CHIP da letture indiscrete abilitate il LOCK BIT 2 (N).
Una volta caricata la memoria e' possibile effettuare il dump (D) oppure cancellarla (Z).
Se un CHIP gia' programmato non e' protetto dai LOCK BITS e' possibile leggerne il contenuto in memoria con l'opzione Leggi il Chip (R) e poi eventualmente salvarne il contenuto con l'opzione Salva su File (S)
Al termine usare l'opzione (X) per tornare al Dos.
In caso di problemi con l'interfaccia parallela, accertatevi che essa sia di tipo bidirezionale (altrimenti non funziona in lettura) e che sia stata correttamente configurata sotto il bios del PC come segue:
Parallel
port : 378h IRQ7
Parallel
port mode: Bi-Directional