/********************************************************************** ** Programma: S1DEB5.BAS - Versione : 1.1 - 04 Agosto 1999 ** ** Compilatore : HI-TECH C for 8051 V. 7.60 ** ** 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 scrive sul port A il valore del port C se lo switch 1 del dip switch della GPC(r) 323 e' OFF, il valore negato del port C in caso contrario. Per facilitare la visualizzazione dello stato delle linee e' necessario collegare con un cavo flat a 20 poli, il connettore CN7 della GPC(r) 323 al connettore CN15 della DEB 01. */ #include<8051.h> #include // // ******************** Direttive del compilatore ************************** // // Sono incorporate nel file S1DEB5.PRJ // // ******************** Dichiarazione delle costanti *********************** // volatile far unsigned char Pda @ 0xFFFC; // Registro dati del portA volatile far unsigned char Pdb @ 0xFFFD; // Registro dati del portB volatile far unsigned char Pdc @ 0xFFFE; // Registro dati del portC volatile far unsigned char Cnt @ 0xFFFF; // Registro di controllo volatile far unsigned char Dsw1 @ 0xFFF9; // Mappatura del dip switch // // ******************** Dichiarazione delle variabili ********************** // // // *************************** Programma main ****************************** // void main() { printf(" Programma dimostrativo 5 per la sezione 1 della scheda DEB(r) 01\n\n"); printf(" Riporta sul port 0 lo stato del port 1 se lo switch 1 e' ON, altrimenti\n\n"); printf(" riporta sul port 0 lo stato del port 1 negato.\n\n"); printf(" Esecuzione in corso...\n\n"); Cnt=0x8B; // Configura in ingresso i port B e C // In uscita il port A do { if(Dsw1 & 0x80) // Testa il valore dello switch 8 { // Se il bit e' 1 lo switch e' OFF (logica negata) Pda=~Pdc; // Quindi poni in uscita il port 1 complementato } else // Altrimenti { Pda=Pdc; // Copia il port 1 sul port 0 } } while(1); // Ripete all'infinito } // // ************************** Fine del programma *************************** //