' Programma di test dell'ADC : acquisizione e trsferimento via seriale del dato ' ' Segnali dell'AD976AN utilizzati : ' R/C - RC4 ' BYTE - RC3 ' Input port : PORTD ' Settaggio standard della porta di comunicazione : 8-N-1 ' DEVICE 16F877A XTAL = 20 HSERIAL_BAUD = 57600 ' Set baud rate to 57600 HSERIAL_RCSTA = %10010000 ' Enable serial port and continuous receive HSERIAL_TXSTA = %00100100 ' Enable transmit and asynchronous mode (BRGH=1) HSERIAL_CLEAR = ON ' Optionally clear the buffer before receiving DIM VAR1 AS BYTE DIM I AS WORD SYMBOL BYT PORTC.3 ' BYT = High viene trasferito il Byte più significativo SYMBOL RC PORTC.4 ' RC = Low attiva la conversione TRISD = %11111111 ' La porta D è di Input TRISC.3 = 0 ' RC3 è di output ( segnale BYTE dell'ADC ) TRISC.4 = 0 ' RC4 è di output ( segnale R/C dell'ADC ) HRSOUT "Programma di test ICX-ADC : attivo ! " BYT = 1 RC = 1 Loop: VAR1 = HRSIN ' Riceve via seriale un byte in VAR1 HRSOUT VAR1 ' Lo ritrasmette indietro RC = 0 ' Avvia la conversione DELAYUS 1 ' Tiene basso RC per più di 50nSec RC = 1 DELAYUS 4 ' Aspetta 4 uSec HRSOUT DEC PORTD ' Legge il valore della porta e lo trasmette GOTO Loop ' Loop forever