' ********************************************************************** ' * File: Corso_BASCOMAVR_003.BAS * ' * Versione: 1.1 * ' * Data: 26.06.09 * ' * Ambiente sviluppo: Bascom-AVR Demo Ver. 1.11.9.1 + * ' + + AVR bootloader grifo(r) Ver. 1.2 * ' * Schede: GMM AM08 + GMM TST3 * ' * Sviluppato da: GRIFO(r) Italian Technology * ' * 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 * ' * Autore: Gianluca Angelini * ' ********************************************************************** ' Programma di esempio 003 del corso BASCOM AVR. ' Esegue semplici operazioni di I/O digitale utilizzando uno dei tasti, un LED ' ed il buzzer disponibili sulla GMM TST3. ' Il programma acquisisce lo stato del tasto rosso T1 e lo setta sia sul LED ' verde L3 che sul buzzer auto oscillante BZ1. Anche il LED rosso L2 riporta ' lo stato del tasto T1, ma questo avviene via hardware, non da programma. ' Il programma funziona solo se la GMM AM08 è montata sullo zoccolo Z1 della ' GMM TST3!! ' ' 26/06/09: Corso_BASCOMAVR_003.BAS - Ver 1.1 - By G.A. ' Prima versione. ' ' '*************************** Configurazioni IDE ******************************** ' NOTE: per usare correttamente questo programma demo, eseguire i seguenti ' punti: ' 1) Controllare la presenza del file M8DEF.DAT nella directory di ' installazione del BASCOM-AVR e se non disponibile copiarlo e dopo ' rilanciare l'IDE. ' 2) Nella finestra "Options | Compiler | Chip" impostare: ' Chip: m8def.dat ' XRAM: None ' HW Stack: 64 ' Soft Stack: 32 ' Framesize: 64 ' XRAM waitstate: disattivo ' External Access Enable: disattivo '********************** Direttive del compilatore ****************************** $regfile "M8DEF.DAT" ' File di definizione microcontrollore usato $romstart = &H0 ' Indirizzo inizio codice in FLASH $crystal = 7372800 ' Frequenza quarzo del microcontrollore $hwstack = 64 ' Spazio per stack hardware $swstack = 32 ' Spazio per stack software $framesize = 64 ' Spazio per frame $map ' Genera informazioni di debug '******************************* Definizioni *********************************** ' Le risorse usate dal programma sono collegate come illustrato nella seguente ' tabella: ' Risorsa pin Z1 GMM TST3 pin GMM AM08 Segnale uP ' Tasto T1 12 6 PC5 , ADC5 , SCL ' LED L3 13 7 PC4 , ADC4 , SDA ' Buzzer BZ1 15 9 PB4 , MISO Pint1 Alias Pinc.5 ' Bit con segnale d'ingresso collegato a tasto rosso T1 Pinl3 Alias Portc.4 ' Bit con segnale d'uscita collegato a LED verde L3 Pinbz1 Alias Portb.4 ' Bit con segnale d'uscita collegato a buzzer BZ1 '************************ Dichiarazioni costanti ******************************* '************************ Dichiarazioni variabili ****************************** Dim T1stat As Bit ' Variabile booleana con stato pulsante T1 '************************ Dichiarazioni procedure ****************************** '************************** Programma principale ******************************* Main: Ddrc.5 = 0 ' Inizializza segnale collegato a T1 come ingresso digitale Ddrc.4 = 1 ' Inizializza segnale collegato ad L3 come uscita digitale alta Ddrb.4 = 1 ' Inizializza segnale collegato a BZ1 come uscita digitale alta Do ' Inizio ciclo infinito T1stat = Pint1 ' Acquisisce e salva stato tasto T1 Pinl3 = T1stat ' Setta LED L3 con stato salvato del tasto Pinbz1 = T1stat ' Setta buzzer BZ1 con stato salvato del tasto Loop ' Fine ciclo infinito End '************************ Fine programma principale ****************************