' ********************************************************************** ' ** Programma: S1DEB8.BAS - Versione : 1.0 - 10 Maggio 1999 ** ' ** Compilatore : BASCOM LT, (IDE V.1.20, LIB V.1.27) ** ' ** Scheda : GPC(r) 323 ** ' ** 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 esegue un loop di conteggio con rappresentazione dello ' stato sui port A e C. ' Per facilitare la visualizzazione dello stato delle linee è necessario ' collegare con un cavo flat a 20 poli, il connettore CN7 della GPC(r) 323 ' 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 = 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 &HFFFC ' registro dati del portA Dim Pdb As Const &HFFFD ' registro dati del portB Dim Pdc As Const &HFFFE ' registro dati del portC Dim Cnt As Const &HFFFF ' registro di controllo ' '****************** Dichiarazione delle variabili ********************** ' Dim Countl As Byte , Counth As Byte' Parte bassa e alta del contatore Waitms 1 ' Ritardo per assestamento dei segnali Out Cnt , &B10000010 ' Configura in ingresso port B e C ' In uscita port A ' '************************* Programma main ****************************** ' Print " Programma dimostrativo 8 per la sezione 1 della scheda DEB(r) 01" Print : Print " Esegue un loop di conteggio e ne visualizza lo stato sui port A e C." Print : Print " Esecuzione in corso..." Countl = 0 : Counth = 0 ' Azzera il contatore Do Incr Countl ' Incremeta la parte bassa del contatore If Countl = 0 Then ' Se questa va a zero, incr. la parte alta Incr Counth End If Countl = Not Countl : Counth = Not Counth Out Pda , Countl Out Pdc , Counth Countl = Not Countl : Counth = Not Counth Waitms 100 'Ritardo per avere pochi conteggi al sec. Loop End ' '************************ Fine del programma *************************** '