Académique Documents
Professionnel Documents
Culture Documents
TD TP 01 Les Entrées-Sorties Numériques - Corrigé
TD TP 01 Les Entrées-Sorties Numériques - Corrigé
Exercice 1 :
R4(1)
Le code suivant permet de faire clignoter une LED sur une période de 400ms
R5 R4
10k 10k
U1
program CODE1 9 21
OSC1/CLKIN RB0/INT
main: 10
OSC2/CLKOUT RB1
22
23
TRISC = 0 2
RB2
24
RA0/AN0 RB3/PGM
PORTC = 0 3
RA1/AN1 RB4
25
4 26
m: RA2/AN2/VREF-/CVREF RB5
5 27
RA3/AN3/VREF+ RB6/PGC
6 28
PORTC.0 = 1 7
RA4/T0CKI/C1OUT RB7/PGD
RA5/AN4/SS/C2OUT R1
delay_ms(200) RC0/T1OSO/T1CKI
11
1 12
PORTC.0 = 0 MCLR/Vpp/THV RC1/T1OSI/CCP2
13
150
D1
RC2/CCP1
delay_ms(200) RC3/SCK/SCL
14 R2 R
15 G K
goto m RC4/SDI/SDA
16 150
B
RC5/SDO
end. 17 RGBLED-CC
RC6/TX/CK
18 R3
RC7/RX/DT
PIC16F876A 150
1.1. Proposer d’autres syntaxes du même programme (Utiliser while TRUE wend, NOT …)
1.2. Proposer un programme permettant de changer la couleur de la LED toutes les 200ms
(basculement entre les trois couleurs (rouge, vert et bleu).
Exercice 2 :
L’algorithme suivant permet d’allumer/éteindre une LED à l’aide d’un seul bouton poussoir
Chaque fois que le bouton est appuyé et ensuite relâché, la LED change d’état (ON-OFF)
Le changement d’état se fait une fois que le bouton est relâché (front montant de l’impulsion)
2.1. Modifier l’algorithme pour avoir des changements d’état en front descendant de l’impulsion
RC0 = 0 RC0 = 0
m m
2.3. On veut utiliser deux boutons, le premier pour allumer la LED avec un signal maintenu et le
deuxième pour l’éteindre.
- Proposer un algorithme et donner le programme
RC0 = 0
m
Non Oui
RB1 = 0
Non Oui
RB0 = 0
RC0 = 1 RC0 = 0