Microcontroller e sistemi di automazione
Come interagisce l'interfaccia col PC.
Nel progetto contenuto in AN555.ZIP, il computer invia, attraverso la seriale
RS-232, un carattere, interpretato dal PIC16c71 come un comando.
Un carattere 0/1/2/3, indica l'attivazione del campionamento sul relativo
analog imput, cio` implica la conversione del valore analogico, da 0 a 255,
che verra` trasmesso al PC dal programma di comunicazione, installato
sul microcontroller.
Questa semplice funzione potra` essere implementata utilizzando, ad
esempio, un linguaggio di programmazione, assai diffuso, come QBASIC.
Apriremo la seriale COM2 come segue
OPEN "COM2:9600,N,8,1,CD0,CS0,DS0,OP0,RS" FOR RANDOM AS #2
COM(2) ON
Attiva la gestione degli eventi che interessano la porta 2.
ON COM(2) GOSUB IdentificatoreCom
In questo modo, inviando il carattere con PRINT #2,carattere sulla
seriale RS-232, attiveremo il processo di campionamento sul PIC16C71.
Quando la conversione sara` disponibile, il gestore eventi chiamera` la
subroutine IdentificatoreCom, che tramite l'istruzione
analog_input$ = INPUT$(1, #2) '(leggi_un_carattere, sulla_ porta_2)
la acquisisce, ritornando il controllo al programma principale.
Il tutto risulta abbastanza semplice, ma il baudrate massimo di QBASIC
di 9600, o di 19200 per i linguaggi di programmazione che utilizzano
il BIOS del computer, e` un'ostacolo per campionamenti a frequenze
maggiori. Si puo` ovviare all'inconveniente utilizzando applicazioni
come UART.ZIP, che gestisce il chip della seriale direttamente ,
spingendo la comunicazione fino a 115200 bps.
In AN555.ZIP cio` viene fatto attraverso un programma in Visual Basic.