Académique Documents
Professionnel Documents
Culture Documents
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
}
}
}
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
}
}
}
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