il microcontrollore pic16f84a ing. marco giannini architettura e programmazione dei microelaboratori...

39
IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Upload: allegra-molinari

Post on 01-May-2015

228 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

IL MICROCONTROLLOREPIC16F84A

Ing. Marco Giannini

Architettura e Programmazionedei Microelaboratori

Anno accademico 2008/2009

Prof. Giuseppe Mastronardi

Page 2: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Architettura del PIC16F84A

Page 3: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

PIC16F84A della Microchip Technology

PIC = Peripheral Interface Controller

(Controllore di periferiche programmabile)

La sua caratteristica più importante sta nella sigla F :

Il programma risiede in una EEPROM FLASH

(Electrically Erasable Programmable Read only Memory)

è modificabile immediatamente anche senza togliere l’integrato dal circuito (modalità: in-circuit)

Page 4: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Architettura Harvard e ad Accumulatore del PIC16F84A

Page 5: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

PIC 16F84A - Caratteristiche Architettura di Harvard e ad Accumulatore Pipeline a 2 stadi delle istruzioni (Pre-fetching) Set di 35 Istruzioni di 14 bit Memoria programma di 1024 words da 14 bit 64 Bytes di Dati RAM 64 Bytes di Dati EEPROM Registri a 8 bit Stack a 8 livelli Indirizzamento diretto, indiretto e relativo 18 Pin di cui 13 di I/O 4 Sorgenti di interrupt Timer/Contatore TMR0 programmabile a 8 bit con

prescaler a 8 bit Power on Reset, Power-up Timer, Oscillator Start-up

Timer Watch Dog Timer Sleep Mode

Page 6: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

L’architettura del microcontrollore PIC16F84A

Appartiene alla famiglia di fascia media dei microcontrollori PICmicro prodotti dalla Microchip caratterizzati da un Instruction Word da 14 bit, prodotto in due package da 18 e da 20 pin.

Page 7: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

In generale si può dividere il microcontrollore in tre parti fondamentali:

1. Core (nucleo)

2. Peripherals (periferiche)

3. Special Features (caratteristiche speciali)

CPU

ALU

ClockReset Logic (logica di reset)

Dispositivo di organizzazione della memoria (Device memory map organization).

TMR0: timer/contatore a 8 bit con prescaler programmabile a 8 bit

13 pin di Input/Output con controllo di direzione

Corrente elevata in uscita (25 mA) per pilotare LED

Watchdog timer

Modalità Sleep (power-down mode)

In-circuit Serial Programming

Device Configuration Word

Page 8: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Caratteristiche di baseIl PIC16F84A, avendo una Istruction Word da 14 bit, fa parte della famiglia “Mid-Range” costituita da microcontrollori dalla stessa architettura.

PIC16F84A

Diagramma dell’ architettura del PIC16F84A

I/O

SPECIAL FEAT.

CORE

Caratteristiche architetturali

• Architettura “Harvard”

• Long Word Istruction

• Single Word Istruction

• Single Cycle Istruction

• Register File Architetture

• Instruction Pipeline

Page 9: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

CPU e ALU

La CPU ha lo scopo di interpretare le istruzioni di programma e del controllo della memoria di programma

La ALU contiene la circuiteria responsabile dello svolgimento delle funzioni di calcolo e della manipolazione dei dati

Le istruzioni eseguite dalla CPU sono di tre tipi:• Byte-oriented• Bit-oriented• Literal and control

Page 10: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

ALULa ALU è ad 8 bit ed è

connessa con il registro W e con il register file attraverso due ingressi che hanno la possibilità di essere utilizzati anche come uscite.

Se da un lato la ALU è connessa con il registro W, dall’altra le possibilità sono due:

• Register file (di 8 bit)• Costante di

un’istruzione Literal and Control Operation (di 8 bit)

Il registro che contiene le informazioni di stato circa l’ALU, sulle condizioni di RESET e sulla memoria si chiama STATUS REGISTER.

Page 11: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Formato Istruzioni

•Processore RISC

•35 Istruzioni

•Istruzioni da 14 bit

•Byte Oriented

•Bit Oriented

•Literal & Control

• Istruzioni da 1 o 2 cicli macchina

Page 12: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Formato IstruzioniLa generica istruzione è caratterizzata da un codice operativo (OPCODE), e da uno o due operandi.

Page 13: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Instruction Set del PIC 16F84AL’instruction set del PIC è caratterizzato da 35 istruzioni, nella maggior parte richiedono 1 ciclo di clock per l’esecuzione, le istruzioni di salto e di chiamata a subroutine richiedono in genere 2 cicli

Page 14: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

CPU e ALULa CPU è responsabile del controllo e dell’esecuzione di istruzioni e del controllo della memoria di programma e della memoria dati. La ALU, invece, è utilizzata per l’esecuzione delle istruzioni logico aritmetiche e per alcune operazioni sulla memoria.

PIC16F84A

Caratteristiche CPU e ALU

• Tipi di istruzione:

•Byte-oriented

•Bit-oriented

•Literal and control

• Operandi dell’ ALU

• Status Register

Page 15: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Memoria

I Picmicro hanno due blocchi di memoria:• Program memory• Data memory

Program memory:memoria Flash, contiene il programma da eseguire, nel PIC16F84A è di 1024 locazioni di 14 bit

Data memory:divisa in due aree (SFR e GPR), divisa in due banchi, attiva in lettura e scrittura, accesso diretto e indiretto, nel PIC16F84A è di 128 locazioni di 8 bit x 2

Page 16: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

La MemoriaL’area di memoria di un Picmicro è caratterizzata da una divisione in due blocchi:

•Program Memory•Data Memory

Questa divisione collima con la presenza di due bus distinti, uno per la memoria programma e uno per la memoria dati caratteristica dell’architettura Harvard

L’area di memoria dati è divisa in due banchi distinti selezionabili tramite il bit RP0 nello Status Register

Page 17: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Organizzazione della memoria

• Memoria Dati

•Special Function Registers

•General Purpose Registers

•EEPROM

•Memoria Programma

Page 18: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Lo stack e la EEPROM

• Stack a 8 livelli

• EEPROM Register

Page 19: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Lo stackGli Stack, nell’architettura di un computer, sono regioni di memoria in cui i dati sono organizzati in logica LIFO (Last In First Out).

Nei computer più moderni, ad ogni thread viene assegnata una porzione di memoria di tipo Stack. Quando la funzione viene eseguita, può aggiungere i suoi dati in cima allo Stack; la stessa funzione provvederà a svuotare lo Stack nel momento in cui termina l’esecuzione.

Dal momento che i dati vengono gestiti in logica LIFO, l’allocazione dello Stack è molto semplice e tipicamente molto più veloce rispetto a quella Heap. Ulteriore vantaggio per il programmatore è dato dal fatto che la memoria è utilizzabile nuovamente dal momento in cui la funzione restituisce il risultato.

Uno svantaggio è rappresentato dal fatto che, nel momento in cui i dati debbono essere disponibili per ulteriori elaborazioni, devono essere copiati prima che la stessa funzione che li ha creati, li cancelli uscendo. Altro svantaggio è legato alla dimensione dello Stack stesso (poche dozzine di Kilobytes). Allocare un quantitativo maggiore di dati in memoria può portare allo Stack Overflow.

Page 20: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Memoria dati

Special Function Register

General Purpose Register

Page 21: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

L’indirizzamento

Diretto Indiretto

l’indirizzo dal quale prelevare il dato è contenuto nell’operando

l’indirizzo effettivo dal quale prelevare il dato è contenuto nel registro SFR, per far ciò si utilizza, come operando destinazione dell’istruzione, il registro INDF

La Data EEPROM Memory è una memoria che conserva i dati scritti su di essa anche dopo che il PIC è stato spento, viene quindi utilizzata per memorizzare permanentemente dati di programma. L’accesso a questa memoria avviene esclusivamente per indirizzamento indiretto attraverso i registri speciali

EECON1 (bit di controllo)EEDATA (dato effettivo – 8 bit)EEADR (indirizzo del dato)

Page 22: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

MemoriaI Picmicro sono caratterizzati da due blocchi di memorizzazione: la memoria di programma (Program Memory) e la memoria dati (Data Memory) che comprende anche la memoria dati di tipo EEPROM (Data EEPROM Memory).

PIC16F84A

PROGRAM Memory

• Program Counter

• Reset Vector

• Interrupt Vector

• Stack

DATA Memory

• Special Function Register (SFR)

• General Purpose Register (GPR)

• Indirizzamento Diretto

EEPROM DATA Memory • Registri speciali:

EECON1, EEDATA, EEADR

• Indirizzamento Indiretto

ADDWF FSR, 0

W ← W + M[FSR]

Page 23: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Program Counter, Reset Vector, Interrupt Vector

• Il program counter, (indicato anche come instruction pointer) è un registro del processore che indica a che punto della sequenza di istruzioni è arrivato il computer. A seconda della complessità della macchina, può contenere sia l’indirizzo dell’istruzione in esecuzione che l’indirizzo della istruzione che deve essere eseguita. Il program counter è automaticamente incrementato ad ogni ciclo dal momento che le istruzioni vengono prelevate sequenzialmente dalla memoria. Le chiamate a subroutine e i return interrompono la sequenza inserendo un nuovo valore nel program counter.

• Il Reset vector è la locazione di default cui una CPU deve puntare dopo un reset. In altri termini il reset vector è un puntatore o un indirizzo di istruzione cui la CPU deve puntare non appena è capace di eseguire istruzioni. Il reset riporta il Program Counter a 0.

• Un interrupt vector è l’indirizzo di memoria del gestore di Interrupts, o un indice di un array chiamato interrupt vector table o dispatch table. Tale matrice contiene gli indirizzi di memoria dei gestori di Interrupt. Quando viene generato un Interrupt, il processore salva il suo stato di esecuzione e comincia ad eseguire le istruzioni legate all’Interrupt stesso.

Page 24: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

StackIl PIC16F84A inizia l'esecuzione del programma a partire dal vettore di reset (Reset Vector) ovvero dall'istruzione memorizzata nella prima locazione di memoria (indirizzo  0x000).

Dopo aver eseguito questa prima istruzione passa quindi all'istruzione successiva memorizzata nella locazione 0x001 e così via. Se non esistesse nessuna istruzione in grado di influenzare in qualche modo  l'esecuzione del programma, il PICmicro arriverebbe presto ad eseguire tutte le istruzione presenti nella sua memoria fino all'ultima locazione disponibile.

Ci sono istruzioni in grado di modificare il flusso di esecuzione del programma in base alle esigenze del programmatore.

Una di queste istruzioni é la GOTO (dall'inglese GO TO, vai a) che ci permette di cambiare la sequenza di esecuzione e di "saltare" direttamente ad un qualsiasi punto, all'interno della  memoria programma, e di continuare quindi l'esecuzione a partire da quel punto.

L'istruzione GOTO consente l'inserimento a programma di un nuovo valore nel PROGRAM COUNTER ed il di conseguente salto ad una locazione qualsiasi dell'area programma del PIC.

Page 25: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Un'altra che influenza il valore del PROGRAM COUNTER é la CALL (chiamata a subroutine).

Questa istruzione permette di scrivere nel PROGRAM COUNTER un nuovo indirizzo di esecuzione del programma. In questo caso, però, prima di eseguire il salto, il PIC memorizza in un altro registro speciale denominato STACK, l'indirizzo di quella che sarebbe dovuta essere la successiva istruzione da eseguire se non si fosse incontrata la CALL.

Esempio:

ORG 0x00

Point1

movlw 10

call Point2

goto Point1

Point2

movlw 11

return

Stack

Page 26: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Nello STACK é possibile depositare più indirizzi per recuperarli quando servono. Questo tipo di memorizzazione viene anche denominata LIFO dall'inglese Last In First Out, in cui l'ultimo elemento inserito (last in) deve necessariamente essere il primo ad uscire (last out). Grazie a questa caratteristica é possibile effettuare più CALL annidate ovvero l'una nell'altra e mantenere sempre traccia del punto in cui riprendere il flusso al momento che si incontra una istruzione RETURN.

Il PIC16F84A dispone di uno stack a 8 livelli, ovvero uno stack che consente fino ad 8 chiamate annidate.

É importante assicurasi, durante la stesura di un programma, che ci sia sempre una istruzione RETURN per ogni CALL per evitare pericolosi disallineamenti dello stack che in esecuzione possono dar adito a errori difficilmente rilevabili.

Stack

Page 27: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Porte di I/O e Funzione dei Pin

• PORTA e PORTB

• TRISA e TRISB

Page 28: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Porte Input/OutputI pin del chip rappresentano le periferiche di input/output. Sono organizzati in gruppi dette porte. Nel PIC16F84A abbiamo la PORTA e la PORTB, di 5 e 8 pin rispettivamente; entrambe bidirezionali.

Tra i registri SFR abbiamo TRISA e TRISB, due registri di direzioni delle porte. Ogni bit di tale registro controlla la direzione, di input o di output, del corrispondente pin della porta a cui si riferisce il registro.

PORTA

PORTB

Page 29: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

L’input / output Il microcontrollore in esame prevede la presenza di due porte di input/output ognuna collegata a un registro nel quale ogni bit corrisponde ad un pin esterno, i nomi dei registri sono PORTA e PORTB

PORT A

• è una porta bidirezionale a 5 bit

• tutte le operazioni di scrittura sono di tipo read-modify-write

il pin R4 è in comune con l’input del TIMER0

PORT B

• è una porta bidirezionale a 8 bit

• ogni pin di questa porta è dotato di un wake pull-up interno

• è dotata dell’interrupt-on-change sui pin dall’ RB7 all’ RB4

Page 30: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Input / OutputLe più semplici periferiche per l’input/output sono i pin presenti sul chip. Un gruppo di pin, che permettono al PICmicro di controllare altri dispositivi, è una porta di I/O.

PIC16F84A

PORTA

• PortA e TrisA

• Pin RA0 – RA4

• RA4/T0CKl → Timer0

PORTB

• PortB e TrisB

• wake pull-up interno (RBPU=0)

• interrupt-on-change (RB4 ÷ RB7)

Page 31: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Il PIC 16F84 ha 13 pin usabili come ingressi o uscite singolarmente programmabili. La scelta se rendere un pin un ingresso o un' uscita viene effettuata scrivendo un valore nei registri TRISA e TRISB.

All'accensione, o dopo un reset, TRISA e TRISB contengono tutti i bit a 1, pertanto i pin sono programmati automaticamente come ingressi.

E' possibile cambiare la configurazione dei pin in ogni momento durante il programma, le uscite possono essere trasformate in ingressi e viceversa.

I pin configurati come uscite sono di tipo push-pull: sono in grado sia di assorbire corrente dal positivo dell'alimentazione (25mA), sia di fornirla verso massa (20mA).

RA4 che in uscita e' di tipo open-collector (può solo assorbire come se fosse un interruttore che si chiude verso massa).

I pin configurati come ingressi sono in alta impedenza e quindi bisogna ricordarsi di collegarli a +Vcc con una resistenza.

Stesso discorso vale per i pin della porta B, a meno che non si attivino le resistenze interne di pull-up.

L’input / output

Page 32: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Interrupts

• Interrupt Esterno tramite il pin RB0 • TMR0 Overflow Interrupt• PORTB Change Interrupt• Data Eeprom write complete

Interrupt

Page 33: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Interrupt

Interrupt esterno mediante il pin RB0/INT

Overflow del TMR0

Cambiamento del valore dei pin da RB7 a RB4

Scrittura completata sulla EEPROM dati.

In questa classe di dispositivi viene anche implementata la possibilità di avere degli interrupt che possono essere di quattro tipi:

Page 34: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

InterruptI Picmicro sono capaci come un vero e proprio processore di rilevare interrupt e gestirli mediante opportune strutture.

PIC16F84A

Gestione delle interruzioni

• Interrupts

Tipi di Interrupts• Interrupt esterno dal pin RB0/INT

• Overflow di TMR0

• Cambiamento del valore dei pin da RB4 a RB7 della PORTB

• Scrittura completata sulla EEPROM

• INTCON register

• Interrupt vector

Page 35: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Caratteristiche speciali del PIC16F84A

• Oscillatore programmabile (LP,XT,HS,RC)

• Reset

• Watchdog timer

• Sleep mode

Page 36: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Caratteristiche SpecialiIl Pic possiede diverse caratteristiche che rendono il suo utilizzo più flessibile, anche dal punto di vista del consumo energetico

Alcune di queste funzioni vengono abilitate e disabilitate tramite particolari bit della Configuration Word che si trova in memoria all’indirizzo 2007h

Riveste una particolare importanza il RESET, cioè la condizione in cui si deve trovare il PIC alla sua accensione (forzato all’indirizzo 000h)Ricordiamo anche la modalità di SLEEP nella

quale il PIC entra nella modalità di basso consumo energetico, disabilita il clock esterno, mantiene l’ ultimo stato dei pin di I/O nel latch, mantiene i pin in alta impedenza e rimane “in ascolto” su i pin della PORTB e sul pin MCLR

Page 37: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

TIMER0 e Prescaler

È un contatore a 8 bit, readable e writable, può essere pilotato da un clock interno o esterno. Il valore di tale contatore è incrementato con cadenza regolare e programmabile direttamente dall’hardware del PIC.

Il Prescaler è un divisore di frequenza programmabile, utilizzato nel caso in cui si voglia ridurre la frequenza di conteggio inviata al TIMER0

Page 38: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Il modulo TMR0• TMR0 Module e Prescaler

Page 39: IL MICROCONTROLLORE PIC16F84A Ing. Marco Giannini Architettura e Programmazione dei Microelaboratori Anno accademico 2008/2009 Prof. Giuseppe Mastronardi

Bit della CONFIGURATION WORD• [3] PWRTE Power-up Timer Enable bit

1 = Power-up Timer disabilitato

0 = Power-up Timer abilitato

• [2] WDTE: Watchdog Timer Enable bit

1 = Watchdog Timer abilitato

0 = Watchdog Timer disabilitato

• [1-0] FOSC1:FOSC0: Oscillator Selection bits

11 = RC Oscillator

10 = HS Oscillator

01 = XT Oscillator

00 = LP Oscillator

Caratteristiche specialiLe caratteristiche speciali del PIC16F84A sono implementate per aumentare le capacita operative di questo dispositivo, evitando, così, di affiancargli altri componenti esterni.

PIC16F84A

CONFIGURATION WORD

RESET

• Pin Master Clear (MCLR)

• Watchdog Timer

SLEEP

PRESCALER