' ********************************************************************** ' ** Programma: S1DEB2.BAS - Versione : 1.1 - 03 Giugno 1999 ** ' ** Compilatore : BASCOM LT, (IDE V.1.20, LIB V.1.27) ** ' ** Scheda : GPC(r) 324 + ETI 324 ** ' ** Ditta: grifo(r) ITALIAN TECHNOLOGY ** ' ** Via Dell' Artigiano 8/6 40016 San Giorgio di Piano (BO) ** ' ** Tel.+39 051 892 052 Fax +39 051 893 661 ** ' ** http://www.grifo.com http://www.grifo.it ** ' ** sales@grifo.it tech@grifo.it grifo@grifo.it ** ' ** ** ' ** Realizzato da: Graziano Gaiba ** ' ********************************************************************** ' ' Questo programma riporta sullo schermo dell'emulatore di terminale ' lo stato, in forma binaria, dei port A e C della scheda ETI 324. ' Per indirizzare correttamente la scheda ETI 324 sull'ABACO(r) I/O Bus e' ' necessario associarla all'indirizzo esadecimale 80 mettendo a ON gli ' switch da 1 a 4 e mettendo a OFF lo switch 5. ' Per facilitare la visualizzazione dello stato delle linee è necessario ' collegare con un cavo flat a 20 poli, il connettore CN3 della ETI 324 ' al connettore CN15 della DEB 01, e collegare la ETI 324 alla GPC(r) 324 ' tramite ABACO(r) I/O Bus. ' '****************** Direttive del compilatore ************************** ' $romstart = &H8050 ' indirizzo di partenza del codice macchina $ramstart = &HD000 ' indirizzo di partenza della area dati $ramsize = &H2800 ' pongo a 10K la area dati $crystal = 22118400 ' frequenza di clock del microcontrollore $baud = 19200 ' velocità di comunicazione RS-232 $large ' indirizzamento a 16 bit ' '****************** Dichiarazione delle costanti *********************** ' Dim Pda As Const &HFF80 ' registro dati del portA Dim Pdb As Const &HFF81 ' registro dati del portB Dim Pdc As Const &HFF82 ' registro dati del portC Dim Cnt As Const &HFF83 ' registro di controllo ' '****************** Dichiarazione delle variabili ********************** ' Dim Port As Byte ' Memorizza lo stato dei port Dim V8bit As Byte , C8bit As Byte ' Variabili per usi generici Dim R8bit As Byte ' Variabile per usi generici ' '****************** Dichiarazione delle procedure *********************** ' Declare Sub Stampabits(v8bit As Byte)' Stampa i bits del parametro in ' ingresso nel formato 1/0 (non va a capo) Waitms 1 ' Ritardo per assestamento dei segnali ' '************************* Programma main ****************************** ' Print " Programma dimostrativo 2 per la sezione 1 della scheda DEB(r) 01" Print : Print " Riporta sul monitor del PC lo stato di entrambi i port." Print : Print " Esecuzione in corso..." Print Out Cnt , &B10011011 ' Configura in input i port A, B e C Print "Port A Port C" ' Stampa la maschera Do Port = Inp(pda) ' Legge il valore del port A Call Stampabits(port) ' Lo stampa come bits Print " " ; Port = Inp(pdc) ' Legge il valore del port C Call Stampabits(port) ' Lo stampa come bits Print Chr(13) ; ' Va a capo Waitms 250 ' Ritardo per stampare 4 volte al secondo Loop End ' '************************ Fine del programma *************************** ' ' '**************************** Procedure ******************************** ' ' Procedura che stampa il suo parametro di 8 bits come una successione ' di stringhe 1/0 a seconda dei valori dei bits del parametro. Terminata ' la stampa non va a capo. ' Parametri in ingresso: ' V8bit byte Il valore da stampare come bits ' Parametri in uscita: ' Nessuno Sub Stampabits(v8bit As Byte) For C8bit = 1 To 8 R8bit = V8bit And &H80 ' Legge il bit più significativo di V8bit If R8bit = 0 Then ' Se il pulsante è premuto Print "0" ; ' stampa 0 Else ' altrimenti Print "1" ; ' stampa 1 End If ' poichè i pulsanti sono in logica negata Rotate V8bit , Left ' Sposta il bit succesivo di V8bit nel suo ' bit più significativo Next C8bit ' Ripete per 8 volte End Sub