Con il termine
microcontrollore si intende un sistema a microprocessore integrato su un unico
chip, che comprende , oltre alla CPU, una memoria di programma, una memoria RAM,
e altre periferiche di I/O (timer, contatori, porte seriali, interrupt…).
Il microcontrollore 89c51 appartiene alla famiglia
8051, ed ha le seguenti caratteristiche:
|
CPU ad 8 bit
|
|
64 Kbyte di memoria ROM
|
|
1 Kbyte di memoria RAM
|
|
4 porte a 8 bit bidirezionali
|
|
7 interrupt con 4 livelli di priorità
|
|
1 UART full duplex integrato
|
|
3 timer / contatori
|
Il programma è stato
steso in linguaggio assembly e prevede una continua routine di visualizzazione
dati, valutazione dei tasti per l'impostazione manuale, e valutazione del bit
P2.2.
Al verificarsi di un'interruzione il microcontrollore esegue la parte di
codice presente alla locazione di memoria in cui va a puntare, e quindi alle
routine relative.
CSEG AT 0000H
jmp main
CSEG AT 0003H
jmp interruzione_0
CSEG AT 000BH
jmp interruzione_timer_0
CSEG AT 001BH
jmp interruzione_timer_1
L'inizializzazione del mC prevede:
| la definizione dei registri, affidata ad un file esterno (8051.pdf) |
| la definizione delle locazioni di memoria destinate alle variabili e l'inizializzazione
di queste ultime |
| l'impostazione dei registri per gli interrupt e i timer |
La programmazione del microcontrollore avviene attraverso il computer e in
particolare con il software "Win ISP".
I dati dal computer al microcontrollore vengono scambiati attraverso la porta
seriale.
Per questo nella scheda del mC è stato
messo il circuito integrato MAX232, che ha la funzione di convertire i livelli
logici della seriale (±12V) in livelli logici TTL compatibili (0-5V), e
viceversa.
Va alimentato a 5 V DC e necessita di 4 condensatori elettrolitici (10¸ 22
mF) collegati in modo idoneo (come in figura), che servono per portare la
tensione a livelli più alti della tensione di alimentazione, sfruttando il
principio di pompa di carica. Al suo interno ha 2 ricevitori 232-TTL e 2 driver
TTL-232.
La scelta dell'uso di un microcontrollore ha avuto vantaggi quali:
| impiego di meno componenti hardware (e quindi meno ingombro e difficoltà
di realizzazione); |
| maggiore flessibilità, poiché in caso di modifiche si cambia solamente
il software. |
La tensione di alimentazione
degli integrati è 5V DC. Ai capi di questa, per ogni integrato, è stato messo
un condensatore plastico da 100 nF con lo scopo di ridurre i picchi presenti
nella tensione di alimentazione dovuti alla commutazione interna.
Per proteggere il mC da errori nell'impostazione
della tensione di alimentazione che lo porterebbero alla distruzione ho messo un
regolatore di tensione 7805, posto in una schedina a parte, e facilmente
inseribile nella scheda se necessario.
Ritorna all'inizio
|