|   
 Capture/Compare/PWMLe funzioni dei moduli CCP sono analoghe a quelle dei PIC16 e
  non sono richiesti cambiamenti del codice. Comunque, i PIC18 offrono prestazioni addizionali non presenti
  nei PIC16, in particolare con i moduli ECCP (Enhaced CCP). 
   A/DIl modulo AD al reset è configurato in modo compatibile con
  quello dei mid-range. Il codice scritto per questi sarà lo stesso, con la sola
  modifica relativa al fatto che i PIC18 dispongono di AD non di AD a 8 bit, ma
  a 10 o a 12 bit.Quindi ci sarà un ADRESL e un ADRESH.
 Nel registro ADCON1 ci sono tre nuovi bit che offrono maggiori
  prestazioni.Il bit ADFM, ADCON1<7> controlla l' allinemanto dei bit di risultato
  della conversione nei registri ADRES. Se l' utente necessita del solo
  risultato a 8 bit, ADFM sarà posto a 0 e il risultato sarà recuperato in
  ADRESH. I rimanenti bit della conversione saranno disponibili in ADRESL.
 Nei PIC18 il ciclo di istruzione con un clock di 10 MHz e il
  PLL x 4 (40 MHz) è di 100 ns. Il controllo del ciclo di conversione AD ora
  viene effettuato su quattro bit, ADCS1:0, ADCON1<7:6> per adegyuare il
  TAD (minimo 1.6 us) al clock. Un ulteriore terzo bit, ADCS2, ADCON1<6>
  divide il clock per due. Altri vantaggi sono dati dalla possibilità di selezionare gli
  ingressi analogici in mdo più dettagliato che nei PIC16 e di programmare due
  pin come riferimento di tensione esterna positivo e negativo. Un esempio di inizializzazione del modulo AD proposta dalle AN
  di Microchip. Il controller utilizza un clock di 8 MHz (generabile anche
  internamente, senza quarzo, con il PLL, ottenendo 32 MHz. La sorgente del clock è ottenuta selezionando il valore 110b
  sui bit ADSC2:0: ADCS2= 1 , ADCS1= 1, ADCS0 = 0 In questo modo i 32 MHz sono divisi per 64, ottendneo un TAD
  di 2.0 us (>1.6 us). Vengono configurati ora gli ingressi analogici AN0 e AN1,
  mettendo la tensione di riferimento negativa su AN2 e quella positiva su AN3: PCFG3:0 = 1101b ADFM è settato per avere una giustificazione a destra del
  risultato La lettura sul canale AN0 è ottenuta selezionandolo con CHS2:0
  = 000b e la conversione viene avviata portando a 1 il bit GO/DONE,
  ADCON0<2>. Quando il bit va a 0, ADRESH:L contiene il risultato della
  conversione. Maggiori dettagli sull' uso del modulo AD dovranno essere
  ricavati dalla lettura del foglio dati del componente utilizzato. 
 
 USARTL' USART degli enhanced è compatibile con quello dei
  mid-range e non sono richieste modifiche al codice. L'USART può monitorare messaggi a 9 bit: portando a 1 il bit
  ADDEN, RCSTA<3> sarà generato un interrupt alla ricezione del nono bit.
  RCREG viene caricato con l' indirizzo ricevuto. Questo è comodo nelle reti di comunicazione.   
 SSPSSPCON è rinominato in SSPCON1, ma per il resto il modulo SSP
  è compatibile.
 La comunicazione SPI è completamente compatibile e non sono richiesti cambi
  nel codice.
 Anche la comunicazione I2C è compatibile.
 Negli enanched sono disponibili moduli MSSP che supportano la
  modalità Master e multi master, con l' aggiunta di un registro SSPCON2 e la
  modalità slave è aggiornata con l' aggiunta del supporto alla general call.   
 Altre periferichePer quanto riguarda le altre periferiche integrate, qlcune di quelle
  presenti nei 18F non ci sono nei PIC16. Per le altre, in generale Microchip
  ha cercato di mantenere disponibile al default una compatibilità con i
  mid-range, come ad esempio nel modulo AD. Però, data la complessità e la varietà delle periferiche integrate è
  sempre giocoforza consultare il foglio dati del nuovo componente per
  individuare cosa sia stato eventualmente cambiato rispetto all' equivalente
  mid-range a cui si era abituati.  Un approccio con un linguaggio a livello più elevato dell' Assembly potrà
  facilitare le cose, anche se la conoscenza delle funzioni e delle particolarità
  delle periferiche è indispensabile per il loro uso migliore. 
 
   
 |