Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Compétences :
C4.5 Tester et valider un module logiciel et matériel.
C4.7 Documenter une réalisation logicielle.
Outils nécessaires : Logiciel MPLAB – Kit PICkit – Programmateur PICkit3 – Oscilloscope numérique
Documents annexes : Schéma du PICkit3 – Documentation du PIC18F45K20
Documents réponse : Le document réponse sera rédigé sous WORD et imprimé en fin de TP. L’utilisation de la page doit être
optimisée.
Présentation : Dans le cas d’un projet de suivi de chariot opto guidé, des bornes de localisation disposent d’un bouton poussoir
et de 2 leds. Ils permettent de placer la borne dans différents modes de fonctionnement pour le test et la configuration.
1 – PICkit3
A l’aide du schéma du PICkit3 et du kit mis à disposition, indiquer : Exemple de rédaction :
Référence du microcontrôleur : …..
La référence du microcontrôleur utilisé sur le kit
Port (I/O) pour la commande des 8 leds :…
Le port (I/O) du microcontrôleur utilisé pour commander les 8 leds
La ligne de port utilisé pour lire l’état du bouton poussoir SW1 …..
La présence ou non d’un quartz pour l’oscillateur du microcontrôleur
2 – Configuration du projet
Décompresser le projet SCO_BP1.mcw dans le répertoire travail
Ouvrir le projet sous MPLAB
Indiquer sur le document réponse :
Les 3 fichiers sources du projet
Les 2 fichiers d’entête déclarés dans le projet
La référence du microcontrôleur déclaré
Le mode de fonctionnement de l’oscillateur du µP (Interne – Externe RC – HS – EC – XT ou LP)
Le compilateur utilisé (ou répertoire du compilateur)
Les chemins des répertoires include déclarés. (Project/Build Options/Project/Directories/Include Search Path)
Les registres TRIS (TRISA, TRISB, TRISC …) du microcontrôleur permettent de configurer les lignes d’un port en entrée ou en
sortie.
Pour commander les leds, il faut que le port correspondant soit programmé en sortie. Pour lire l’état du bouton poussoir il faut
que la ligne du port soit programmée en entrée.
4 – Configuration de l’oscillateur du µP
Les fonctions du fichier tempo.c permettent d’ajouter des temporisations dans les programmes.
Dans le fichier HardwareProfile.h est déclaré un oscillateur de 64MHz (#define OSC_64MHZ). Cette déclaration est utilisée dans
le fichier tempo.c (#ifdef OSC_64MHZ ….).
Une fonction 4XPLL interne au microcontrôleur permet une multiplication de fréquence par 4.
Indiquer comment il est possible d’obtenir une fréquence de 64MHz pour l’oscillateur.
Compiler le projet
Télécharger le programme dans le PICkit3
Vérifier à l’aide d’un oscilloscope la durée de la temporisation.
Placer le relevé dans un document WORD qui sera imprimé en fin de TP
Modifier le programme pour obtenir l’algorithme suivant :
Tester le programme
Placer le nouveau programme en C dans le document WORD
6 – Test et modification de la fonction clignote_led
Modifier le projet pour avoir les fichiers sources et les fichiers d’entête suivants (les fichiers sont fournis dans le répertoire) :
La fonction void clignote_led(unsigned char led,unsigned char nb_clignote) du fichier led.c répond au cahier des charges suivant
Vérifier la présence des déclarations des étiquettes SIMULTANE et ALTERNE dans le fichier d’entête led.h (sinon il faut les
ajouter)
Proposer une modification du programme principal qui permet le test des 4 cas
Tester le programme sur le PICkit3 (prendre en compte la remarque ci-après en cas de dysfonctionnement)
Remarque :
Un BUG peut se produire au niveau du µP lorsqu’on change 2 lignes de port l’une après l’autre de façon trop rapide, par
exemple : LED0=1 ; LED1=0 ;
Ce BUG est probablement dû à des effets capacitifs à l’intérieur du µP, pour des lignes trop proches l’une de l’autre.
Une solution consiste à placer un petit délais entre les 2 changements : soit par l’instruction Nop() (Nop = no operation)
qui ajoute un délais correspondant à 1 temps de cycle du µP, soit ajouter un délais beaucoup plus grand.
Avec un Nop, l’exemple précédent devient : LED0=1 ;Nop() ;LED1=0 ;
Reporter sur document WORD, à imprimer en fin de TP, le programme de la fonction clignote_led modifié, le programme
principal de test et l’algorithme de ce programme principal.
Modifier le projet pour avoir les fichiers sources et les fichiers d’entête suivants (les fichiers sont fournis dans le répertoire) :
FIN SI
Placer l’algorithme dans le document WORD