program Entrees_Numeriques; // Attention!!! Dans le menu Edit Poject // Oscillator Selection bits = HS OScillator (medidum power 4-16Mhz) procedure config_PORTA; begin TRISA:=%11000001; // RA0, (RA6 RA7 = QUARTZ 8Mhz) configurée en entrées LATA:=%00000000; // On met les sorties du PORTA à "0" ANSELA:=%00000000; // On active le mode numérique (Lecture "0" ou "1" du PORT end; procedure config_PORTB; begin TRISB:=%00000001; // RB0 configurée en entrée LATB:=%00000000; // On met les sorties du PORTB à "0" ANSELB:=%00000000; // On active le mode numérique (Lecture "0" ou "1" du PORT end; procedure config_PORTC; begin TRISC:=%00000001; // RC0 configurée en entrée LATC:=%00000000; // On met les sorties du PORTC à "0" ANSELC:=%00000000; // On active le mode numérique (Lecture "0" ou "1" du PORT end; procedure config_PORTD; begin TRISD:=%00000001; // RD0 configurée en entrée LATD:=%00000000; // On met les sorties du PORTD à "0" ANSELD:=%00000000; // On active le mode numérique (Lecture "0" ou "1" du PORT end; procedure test_PORTx; begin if PORTA.0=1 then LATA:=$FF else LATA:=$00; begin if PORTB.0=1 then LATB:=$FF else LATB:=$00; begin if PORTC.0=1 then LATC:=$FF else LATC:=$00; begin if PORTD.0=1 then LATD:=$FF else LATD:=$00; end; end; end; end; // main program begin config_PORTA; config_PORTB; config_PORTC; config_PORTD; while true do test_PORTx; end.