{ ********************************************************************** ** Programma: S1DEB4.PAS Versione: 1.1 -28 Gennaio 1999 ** ** Ditta: GRIFO(r) Via Dell'Artigiano 8/6 ** ** 40016 San Giorgio di Piano (BO) ** ** Tel. 051-892052 FAX 051-893661 ** ** Realizzato da: Tassinari Enea ** ********************************************************************** Il programma e' in grado di visualizzare lo stato del dip switch sul PORT A. Per il funzionamento del seguente programma e' necessario un compilatore pascal (parte software), una scheda DEB01 e una scheda GPC-15R opportunamente collegate (parte hrdware). } program S1DEB4; {$C-} { disabilita il Ctrl+C } const CNT=$17; { registro di controllo e comando del PPI 82C55 } PDA=$14; { registro dati del port A } PDB=$15; { registro dati del port B (dip switch) } var STATO:byte; RIS:integer; TASTO:char; procedure INIZIALIZZAZIONE; { Inizializzazione del registro di controllo dell' 82C55 } begin port[CNT]:=139; end; function LETTURA (INDIRIZZO:integer):byte; { lettura dello stato del dip switch } begin LETTURA:=port[INDIRIZZO]; { Scrive all'interno della variabile LETTURA il valore presente all'indirizzo della variabile INDIRIZZO cioe' PDB } end; procedure SCRITTURA (STATO:byte); { Scrittura dello stato del Port B sul Port A } begin port[PDA]:=STATO; end; begin {programma principale } clrscr; INIZIALIZZAZIONE; gotoxy(10,3); writeln('VISUALIZZAZIONE DELLO STATO DEL DIP SWITCH SUL PORT A IN CORSO'); gotoxy(25,4); write('Premere un tasto per uscire'); repeat begin RIS:=LETTURA(PDB); SCRITTURA(RIS); end; until keypressed; SCRITTURA(255); { Permette di mantenere, all'uscita del programma, tutti i led del Port A spenti } read(kbd,TASTO); end.