Programmation, langage C, interruption matérielle, conversion analogique numérique, buzzer, microcontrôleur, registre ADCON0, CAN Convertisseur Analogique-Numérique, mémoire EEPROM Electrically-Erasable Programmable Read-Only Memory
Pour ce TP, nous avons commencé à utiliser pour la première fois le langage C pour piloter un microcontrôleur. Ainsi, le passage du langage assembleur au C nécessite un apprentissage pour se familiariser avec cette nouveauté. C'est pourquoi les objectifs de ce TP sont les suivants :
- Prise en main du langage C
- Programmation des Entrées/Sorties logiques
- Génération de son par commande d'un buzzer piézoélectrique
- Les interruptions matérielles
- Mise en oeuvre des EEPROM internes
- Utilisation du CAN
[...] 1.6 Utilisation du convertisseur analogique/numérique (CAN) Pour programmer un convertisseur analogique/numérique dont la tension analogique, envoyée sur le PIC, est modulable par un potentiomètre, nous allons écrire deux fonctions : init_can et conversion. Pour réaliser le fonction de conversion par poolling (scrutation) sur le bit GO/DONE de ADCON0, on doit lancer une conversion en forçant ce bit à 1 puis attendre par poolling qu'il passe à 0 quand la conversion est terminée (DONE) et, enfin, lire le résultat dans les registres ADRESH (et ADRESL). [...]
[...] De plus, ce langage est beaucoup plus simple à comprendre que l'assembleur qui nécessite la maîtrise de plusieurs types de fonctions ce qui rend son apprentissage plus long que le langage C. 1.2.4 Application Voici le code complet chaque fonction sera commentée plus loin sauf si la fonction en question a été déjà analysé ou si cela n'est pas pertinent. [...]
[...] 1.4 Introduction aux interruptions matérielles On admet qu'il faut enlever le Jumper J6 pour avoir un front suffisant 5V-0V pour générer une interruption sur la ligne RB0 à partir des schémas précédents. En prenant en compte les valeurs des résistances, on peut en déduire la tension présente sur la borne RB0 (R7 = R19 = 470 R21 = 470 Néanmoins, RB0 égale à 0V peu importe si le bouton est enfoncé ou non. [...]
[...] Ainsi, le passage du langage assembleur au C nécessite un apprentissage pour se familiariser avec cette nouveauté. C'est pourquoi les objectifs de ce TP sont les suivants : - Prise en main du langage C - Programmation des Entrées/Sorties logiques - Génération de son par commande d'un buzzer piézoélectrique - Les interruptions matérielles - Mise en ?uvre des EEPROM internes - Utilisation du CAN 1.2 «Tutorial» en C 1.2.1 Ouverture du tutorial À l'ouverture du fichier tutorial.c., il est possible d'apercevoir un programme qui fait clignoter la led D2 chaque action dure 1s en regardant la fonction main de notre programme suivant : Nous avons, comme il a été indiqué dans l'énoncé, corrigé la fonction init_port, qui n'apparaissait pas dans notre programme précédent, d'abord avec la technique des masques, puis, pour une meilleure lisibilité, avec l'utilisation du nom symbolique adéquat. [...]
[...] 1.2.3 Vérification de votre programme sous ICD3 puis dans l'EEPROM de la carte cible Après avoir admiré le résultat (la LED D2 clignté), la conclusion sur ma préférence entre le langage assembleur ou C est assez claire après cette manipulation. En effet, tous les étudiants assez familiarisé avec le langage C vont pencher pour celui-ci. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture