' ********************************************************************** ' ** Programma: S1DEB6 - Versione : 1.1 - 1 Marzo 1999 ** ' ** Compilatore : BASCOM LT, (IDE V.1.20, LIB V.1.27) ** ' ** Scheda : GPC(r) F2 ** ' ** 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: Enea Tassinari ** ' ********************************************************************** ' ' Questo programma permette di visualizzare l'accensione di un led in una ' sola direzione. ' Per facilitare la visualizzazione dello stato delle linee è necessario ' collegare con un cavo flat a 20 poli, il connettore CN2, della GPC(r)F2, ' con il connettore CN1 della TIO 16, oppure al connettore CN15 della ' DEB 01. ' '*********************************************************************** ' '****************** 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 = 11059200 ' frequenza di clock del microcontrollore $baud = 9600 ' velocità di comunicazione RS-232 $large ' indirizzamento a 16 bit ' '****************** Dichiarazione delle costanti *********************** ' Dim Cnt As Const &HFA03 ' registro di controllo e comando del 82c55 Dim Pda As Const &HFA00 ' registro dati del portA Dim Pdb As Const &HFA01 ' registro dati del portB Dim Pdc As Const &HFA02 ' registro dati del portC ' '****************** Dichiarazione delle procedure ********************** ' ' '****************** Dichiarazione delle variabili ********************** ' Dim Led_pda As Integer ' variabile di accensione del primo led del portA Dim Led_pdc As Integer ' variabile di accensione del primo led del portC Dim Val_pda As Integer ' variabile per lavorare sul port A in logica negata Dim Val_pdc As Integer ' variabile per lavorare sul port C in logica negata Dim Tasto As Integer ' '************************* Programma main ****************************** ' Main: Waitms 1 ' ritardo per assestamento segnali Out Cnt , 130 ' programmo modo 0, portA output e portB in input Out Pda , 255 ' metto tutti i led del port A spenti Out Pdc , 255 ' metto tutti i led del port C spenti Print Print " VISUALIZZAZIONE DELLO SCORRIMENTO DI UN LED IN CORSO " Print " Per uscire resetta la scheda " Print Print Do Out Pda , 255 ' metto tutti i led del port A spenti Out Pdc , 255 ' metto tutti i led del port C spenti Led_pdc = 1 Led_pda = 1 ' preparo la accensione del primo led del portA Do Val_pda = 255 - Led_pda ' sottraggo 255 perchè lavoro in logica negata Out Pda , Val_pda ' accendo il primo led del portA Waitms 100 ' immetto un ritardo di 100 ms Rotate Led_pda , Left ' shifto verso sinistra di un bit il contenuto di val_pda Loop Until Led_pda = 256 Do Out Pda , 255 ' pongo tutti i led del port A spenti Val_pdc = 255 - Led_pdc ' sottraggo 255 perchè lavoro in logica negata Out Pdc , Val_pdc ' accendo il primo led del port C Waitms 100 ' immetto un ritardo di 100 ms Rotate Led_pdc , Left ' shifto verso sinistra di un bit il contenuto di val_pdc Loop Until Led_pdc = 256 Out Pdc , 255 ' spengo tutti i led del port C Waitms 100 ' immetto un ritardo di 100 ms Print Chr(13); Tasto = Inkey Loop Until Tasto > 0 ' il programma si ferma se spingo un tasto che ha carattere maggiore di 48 End End End ' '************************ Fine del programma *************************** ' ' '**************************** Procedure ********************************