Vous êtes sur la page 1sur 9

Compte rendu TP1

1.Chenillard à l’aide de 8 LEDS :


Code du programme
void main()
{
char tab[]={0x03,0x0E,0x18,0x70,0xc0,0xE7};
// tableau des valeurs d'ordre de luminosité
int i ;
// variable du boucle
TRISC=0;
// identification du sens du port c
while(1)
// boucle ouvert tant que vrai
{
for(i=0;i<7;i++)
// boucle for pour l'ordre du fonctionnement
{
LATC=tab[i];
// sortie du port
delay_ms(1000);
// temp du pose
}
}
}
Réalisation sur ISIS

D1
R1
U1 330
LED-RED
2 15
RA0/AN0/C1IN- RC0/T1OSO/T13CKI
3 16
RA1/AN1/C2IN- RC1/T1OSI/CCP2B
4 17
5
RA2/AN2/C2IN+/VREF-/CVREF RC2/CCP1/P1A
18 D2
6
RA3/AN3/C1IN+/VREF+ RC3/SCK/SCL
23
R2
RA4/T0CKI/C1OUT RC4/SDI/SDA
7 24
RA5/AN4/SS/HLVDIN/C2OUT RC5/SDO 330
14 25 LED-RED
RA6/OSC2/CLKO RC6/TX/CK
13 26
RA7/OSC1/CLKI RC7/RX/DT
33 19 D3
34
RB0/AN12/FLT0/INT0 RD0/PSP0
20
R3
RB1/AN10/INT1 RD1/PSP1
35 21
RB2/AN8/INT2 RD2/PSP2 330
36 22 LED-RED
RB3/AN9/CCP2A RD3/PSP3
37 27
RB4/KBI0/AN11 RD4/PSP4
38 28
39
RB5/KBI1/PGM RD5/PSP5/P1B
29 D4
40
RB6/KBI2/PGC RD6/PSP6/P1C
30
R4
RB7/KBI3/PGD RD7/PSP7/P1D
330
8 LED-RED
RE0/RD/AN5
9
RE1/WR/AN6
10
RE2/CS/AN7
1 D5
RE3/MCLR/VPP R5
PIC18F4520 330
LED-RED

D6
R6
330
LED-RED

D7
R7
330
LED-RED

D8
R8
330
LED-RED
2.lire l’état du plusieurs boutons poussoirs
Code du programme
void main()
{
TRISC=0;
TRISD=0xff;
// identification du sens du port c
while(1)
// boucle ouvert tant que vrai
{
if (PORTD.F0==1)
//condition du l'état du bouton
{
LATC.F2=~PORTC.F2;
// inverser l'état du port
}
if (PORTD.F1==1)
//condition du l'état du bouton
{
LATC.F0=1;
LATC.F1=1;
LATC.F3=1;
// allumer les leds
}
if (PORTD.F2==0)
//condition du l'état du bouton
{
LATC.F0=0;
LATC.F1=0;
LATC.F3=0;
//éteindre les leds
}
}
}

Réalisation sur ISIS

D1
R1
U1 330
LED-RED
2 15
RA0/AN0/C1IN- RC0/T1OSO/T13CKI
3 16
RA1/AN1/C2IN- RC1/T1OSI/CCP2B
4 17
5
RA2/AN2/C2IN+/VREF-/CVREF RC2/CCP1/P1A
18 D2
6
RA3/AN3/C1IN+/VREF+ RC3/SCK/SCL
23
R2
RA4/T0CKI/C1OUT RC4/SDI/SDA
7 24
RA5/AN4/SS/HLVDIN/C2OUT RC5/SDO 330
14 25 LED-RED
RA6/OSC2/CLKO RC6/TX/CK
13 26
RA7/OSC1/CLKI RC7/RX/DT
33 19 D3
34
RB0/AN12/FLT0/INT0 RD0/PSP0
20
R3
RB1/AN10/INT1 RD1/PSP1
35 21
RB2/AN8/INT2 RD2/PSP2 330
36 22 LED-RED
RB3/AN9/CCP2A RD3/PSP3
37 27
RB4/KBI0/AN11 RD4/PSP4
38 28
39
RB5/KBI1/PGM RD5/PSP5/P1B
29 D4
40
RB6/KBI2/PGC RD6/PSP6/P1C
30
R4
RB7/KBI3/PGD RD7/PSP7/P1D
330
8 LED-RED
RE0/RD/AN5
9
RE1/WR/AN6
10
RE2/CS/AN7
1
RE3/MCLR/VPP
R5 R6 R7
PIC18F4520 10k 10k 10k
3.rebondissement du bouton
Code du programme
void main()
{
TRISC=0;
TRISD=0xff;
// identification du sens du port c
while(1)
// boucle ouvert tant que vrai
{
if (button(&PORTD,0,20,1))
//condition du l'état du bouton avec fonction button
{
LATC.F2=~PORTC.F2;
// inverser l'état du port
}
if (button(&PORTD,1,20,1))
//condition du l'état du bouton avec fonction button
{
LATC.F0=1;
LATC.F1=1;
LATC.F3=1;
// allumer les leds
}
if (button(&PORTD,2,20,1))
//condition du l'état du bouton avec fonction button
{
LATC.F0=0;
LATC.F1=0;
LATC.F3=0;
//éteindre les leds
}
}
}

Réalisation sur ISIS


D1
R1
U1 330
LED-RED
2 15
RA0/AN0/C1IN- RC0/T1OSO/T13CKI
3 16
RA1/AN1/C2IN- RC1/T1OSI/CCP2B
4 17
5
RA2/AN2/C2IN+/VREF-/CVREF RC2/CCP1/P1A
18 D2
6
RA3/AN3/C1IN+/VREF+ RC3/SCK/SCL
23
R2
RA4/T0CKI/C1OUT RC4/SDI/SDA
7 24
RA5/AN4/SS/HLVDIN/C2OUT RC5/SDO 330
14 25 LED-RED
RA6/OSC2/CLKO RC6/TX/CK
13 26
RA7/OSC1/CLKI RC7/RX/DT
33 19 D3
34
RB0/AN12/FLT0/INT0 RD0/PSP0
20
R3
RB1/AN10/INT1 RD1/PSP1
35 21
RB2/AN8/INT2 RD2/PSP2 330
36 22 LED-RED
RB3/AN9/CCP2A RD3/PSP3
37 27
RB4/KBI0/AN11 RD4/PSP4
38 28
39
RB5/KBI1/PGM RD5/PSP5/P1B
29 D4
40
RB6/KBI2/PGC RD6/PSP6/P1C
30
R4
RB7/KBI3/PGD RD7/PSP7/P1D
330
8 LED-RED
RE0/RD/AN5
9
RE1/WR/AN6
10
RE2/CS/AN7
1
RE3/MCLR/VPP
R5 R6 R7
PIC18F4520 10k 10k 10k
4.Compteur/Décompteur
Code du programme
void main()
{
char count;
TRISC=0xff;
TRISB=0;
TRISD=0;
// identification du sens du port c
while(1)
// boucle ouvert tant que vrai
{
if (button(&PORTC,0,20,1))
//condition du l'etat du bouton avec fonction button
{
while (button(&PORTC,0,20,1));
//fixer l'état du bouton
if (count==10)
{
count=0;
}
else
{
count++;
}
}
//compteur
if (button(&PORTC,1,20,1))
//condition du l'état du bouton avec fonction button
{
while (button(&PORTC,0,20,1));
//fixer l'état du bouton
if (count==0)
{
count=10;
}
else
{
count--;
}
}
// Décompteur
if(count>5)
// condition sur l’appuis 5ém du bouton
{
LATB.F2=1;
// allumer la LED
}
LATD=count;
// afficher les valeurs du compteur
}
}
Réalisation sur ISIS

D1
R1
U1 330
LED-RED
2 15
RA0/AN0/C1IN- RC0/T1OSO/T13CKI
3 16
RA1/AN1/C2IN- RC1/T1OSI/CCP2B
4 17
5
RA2/AN2/C2IN+/VREF-/CVREF RC2/CCP1/P1A
18 D2
6
RA3/AN3/C1IN+/VREF+ RC3/SCK/SCL
23
R2
RA4/T0CKI/C1OUT RC4/SDI/SDA
7 24
RA5/AN4/SS/HLVDIN/C2OUT RC5/SDO 330
14 25 LED-RED
RA6/OSC2/CLKO RC6/TX/CK
13 26
RA7/OSC1/CLKI RC7/RX/DT
33 19 D3
34
RB0/AN12/FLT0/INT0 RD0/PSP0
20
R3
RB1/AN10/INT1 RD1/PSP1
35 21
RB2/AN8/INT2 RD2/PSP2 330
36 22 LED-RED
RB3/AN9/CCP2A RD3/PSP3
37 27
RB4/KBI0/AN11 RD4/PSP4
38 28
39
RB5/KBI1/PGM RD5/PSP5/P1B
29 D4
40
RB6/KBI2/PGC RD6/PSP6/P1C
30
R4
RB7/KBI3/PGD RD7/PSP7/P1D
330
8 LED-RED
RE0/RD/AN5
9
RE1/WR/AN6
10
RE2/CS/AN7
1
RE3/MCLR/VPP
R5 R6
PIC18F4520 10k 10k

Vous aimerez peut-être aussi