' ********************************************************************** ' * File: gmbad.bas - Rel. 1.1 con Bascom AVR IDE e LIB 1.11.7.4 * ' * Schede: GMB HR84 + GMM AM08 * ' * * ' * GRIFO(R) via Dell'Artigiano 8/6 40016 S. Giorgio di Piano (BO) * ' * Tel. +39 051 892052 Fax. +39 051 893661 * ' * http://www.grifo.com http://www.grifo.it * ' * sales@grifo.it tech@grifo.it grifo@grifo.it * ' * by Graziano Gaiba del 20.01.04 * ' ********************************************************************** ' ' Rel. 1.1 20.01.04 - By Graziano Gaiba ' ' Questo demo rappresenta di continuo sulla console la combinazione ' dell'ingresso analogico presente sul pin 8 CN4, ovvero ADC7. ' Il segnale di riferimento usato e' quello interno da 2,56 V, per ' impostare il fondo scala corrispondente connettere J6 un 1-2. ' ' Il file compilato non supera i 2048 bytes, quindi puo' essere ' compilato con il demo gratuito di BASCOM AVR. ' ' !!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ' Nel menu Options | Compiler | Chip, impostare: ' ' Chip: M8 ' HW Stack: almeno 64 ' Soft Stack: almeno 32 ' Framesize: almeno 64 ' ' $regfile = "m8def.dat" $crystal = 7372800 $baud = 19200 ' '****************** Dichiarazione delle costanti *********************** ' Const Cret = 13 ' Codice di ritorno di carrello Const Nl = 10 ' Codice nuova linea Const Clrscr = 12 ' codice di clear screen Const Bell = 7 ' codice di Bell ' '****************** Dichiarazione delle variabili ********************** ' Dim I As Byte , Conv_h As Byte , Conv_l As Byte ' '*********** Configurazione dispositivi interni e interrupt ************ ' ' Configura l'AD converter per conversione singola, Vref interna e prescaler ' automatico. Config Adc = Single , Prescaler = Auto , Reference = Internal ' ' '****************** Dichiarazione delle procedure ********************** ' Declare Sub Init() ' Inizializzazione ' Declare Sub Demoad() ' Demo A/D converter in polling o interrupt ' '************************* Programma main ****************************** ' Main: Call Init() ' Inzializza il modulo Print Chr(clrscr) ' Pulisce lo schermo Do Print "Demo A/D Converter" Print Print "Viene usata la tensione di riferimento esterna di 2,5 V generata dalla GMB HR84." Print "POLLING" Print Print "CH07" Start Adc ' Attiva l'AD Converter Do Admux = 7 ' Selezione canale ADC7 ' e Vref esterna Adcsr.adsc = 1 ' Inizia conversione Do Loop Until Adcsr.adif = 1 ' Attende fine conversione Adcsr.adif = 1 ' Resetta flag fine conversione Conv_l = Adcl ' Leggere sempre il byte basso per primo Conv_h = Adch Print Hex(conv_h) ; Hex(conv_l) ; ' Stampa la conversione Print Chr(cret); ' Ritorno a capo Waitms 100 ' Ritardo per trasmissione I = Inkey() Loop Until I <> 0 Stop Adc Loop End ' '************************ Fine del programma *************************** ' ' '**************************** Procedure ******************************** ' ' Inizializza il demo Sub Init() ' Nessuna inizializzazione End Sub