programmer en c un microcontroleur
DESCRIPTION
PROGRAMMER EN C UN MICROCONTROLEUR. Arduino - Teagueduino. Intro - La logique câblée:. VRAI, FAUX NON , OUI ET ( AND ), NON-ET ( NAND ), OU ( OR ), . Intro - La logique programmée:. Deux familles: microprocesseur microcontrôleur. Intro - Cablée Vs Programmée. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/1.jpg)
Lyctaao 2011 STI2D Sin
PROGRAMMER EN C UN
MICROCONTROLEUR
Arduino - Teagueduino
![Page 2: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/2.jpg)
Intro - La logique câblée:VRAI, FAUX NON , OUI ET (AND), NON-ET (NAND), OU (OR),
Lyctaao 2011 STI2D Sin
![Page 3: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/3.jpg)
Intro - La logique programmée:
Deux familles:
microprocesseur
microcontrôleur.
Lyctaao 2011 STI2D Sin
![Page 4: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/4.jpg)
Intro - Cablée Vs Programmée
La logique programmée offre un énorme avenage sur la logique câblée:
on change le fonctionnement d’un système par simple modification du programme.
Lyctaao 2011 STI2D Sin
![Page 5: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/5.jpg)
Intro - Ensemble microprocesseur et périphériques
Lyctaao 2011 STI2D Sin
![Page 6: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/6.jpg)
Avec un microcontrôleur tout est intégré
Lyctaao 2011 STI2D Sin
![Page 7: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/7.jpg)
Lyctaao 2011 STI2D Sin
Le Programme - Organisation générale
SOURCE EN LANGAGE HAUT NIVEAU TYPE C, C++, JAVA ETC ...
LANGAGE DE BAS NIVEAU
ASSEMBLEUR
CODAGE EN LANGAGE MACHINE
PROGRAMME.c
COMPILATION
TELECHARGEMENT
LIBRAIRIE DE PROGRAMMATION
LIBRAIRIE.h
![Page 8: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/8.jpg)
Lyctaao 2011 STI2D Sin
Le Programme - Définition
Fichiers Sources (.c) sont des simples fichiers textes
Fichiers Headers (.h) ou librairies sont des programmes écrits en langage c qui contiennent des fonctions (ou macros)
La compilation permet de Lier les Fichiers Sources avec les Fichiers
Headers Traduire en code machine le programme
Le téléchargement va mettre en mémoire le programme puis lancer l’exécution du programme
PROGRAMME.c
LIBRAIRIE.h
PROGRAMME.c LIBRAIRIE.h
![Page 9: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/9.jpg)
Lyctaao 2011 STI2D Sin
Le Programme - Exemples de compilateurs
Pour programmer des PC(Intel ou AMD (American Manufacture Device))
Pour programmer les microcontrôleurs(Atmel, Pic, Motorola ou Arduino)
Visual C++Builder C++LabWindows/CVI
CodeVisio CAVRADC-11 - 68HC11 Compiler SourceBoost IDE
Chaque microprocesseur ou microcontrôleur a son propre langage machineSeul le langage C est commun à tous
D’où A chaque microprocesseur on associe son compilateur
![Page 10: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/10.jpg)
Lyctaao 2011 STI2D Sin
#include <delay.h>#include <90s8515.h>
Int tempo;Char sortie;
Void main (void){
DDRB = 0xFF;sortie = 0x55;tempo = 1000while (1){
PORTB = sortie;delay_ms(tempo);sortie = ~ sortie;
}}
Le Programme - Structure de base d’un programme en langage C
Déclaration des fichiers Headers utiles au
programme
Déclaration des variables utiles au
programme
Déclaration du début du programme principal
Programme principal
Fin du programme principal
![Page 11: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/11.jpg)
Lyctaao 2011 STI2D Sin
Void main (void){
DDRB = 0xFF;sortie = 0x55;tempo = 1000while (1){
PORTB = sortie;delay_ms(tempo);
}}
Le Programme - Explication du programme en langage C
Déclaration du port B du microcontrôleur
La variable de type caractère (codée sur 8 bits) vaut 0x55 en hexadécimal ou 85 en décimale
La variable de type entière (codée sur 16 bits) vaut 1000 en
décimale
Déclaration d’une boucle
infinie
Envoie sur le port B du microcontrôleur la valeur de la
variable sortie
Réalise une temporisation de
1 seconde
![Page 12: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/12.jpg)
Lyctaao 2011 STI2D Sin
PORT B
Sortie = 0x55 = 0b01010101Tempo de 1 seconde
Résultat sur le kit ATMEL
while (1){
PORTB = sortie;delay_ms(tempo);sortie = ~ sortie;
}
![Page 13: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/13.jpg)
Le microcontrôleur Arduino
Lyctaao 2011 STI2D Sin
![Page 14: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/14.jpg)
Lyctaao 2011 STI2D Sin
Le microcontrôleur Arduino
![Page 15: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/15.jpg)
Arduino: c’est quoi? Un circuit imprimé open-source, Un microcontrôleur (calculateur), Un programme qui analyse et
produit des signaux électriques,
Pour effectuer des tâches très diverses comme la charge de
batteries, la domotique, le pilotage d'un robot, etc…
Lyctaao 2011 STI2D Sin
![Page 16: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/16.jpg)
Le microcontrôleur Arduino
Ce système est basée sur :
une interface entrée/sortie simple, un environnement de développement
connecté à un ordinateur pour communiquer avec ses logiciels (ex : Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider).
Lyctaao 2011 STI2D Sin
![Page 17: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/17.jpg)
Arduino: la description Un module Arduino est construit
autour d'un microcontrôleur Atmel. Chaque module possède au moins un
régulateur linéaire 5V et un oscillateur à quartz 16 MHz.
Le microcontrôleur est pré-programmé avec un bootloader de façon à ce qu'un programmateur dédié ne soit pas nécessaire.
Lyctaao 2011 STI2D Sin
![Page 18: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/18.jpg)
Arduino : les avantages Pas cher : moins de 2500 fcp Multi-plateforme : écrit en Java,
développé sous Windows, Macintosh et Linux.
Un environnement de programmation clair et simple
Programmes licence open source, librairies C++,
Matériel Open source et extensibleLyctaao 2011 STI2D Sin
![Page 19: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/19.jpg)
Arduino: la prorammation
Les modules sont programmés au travers d'une connexion série RS-232, ou USB
Lyctaao 2011 STI2D Sin
![Page 20: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/20.jpg)
Arduino : Les entrées / sorties
14 entrées/sorties numériques, dont 6 peuvent produire des signaux PWM,
et 6 entrées analogiques.
Lyctaao 2011 STI2D Sin
![Page 21: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/21.jpg)
Un quartz 16Mhz, Une connexion USB, Un connecteur d'alimentation jack, Un connecteur ICSP
(programmation "in-circuit"), et d'un bouton de réinitialisation
(reset).
Lyctaao 2011 STI2D Sin
Arduino: le hardware
![Page 22: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/22.jpg)
Le microcontrôleur Teagueduino
L’arduino fait rêver, mais la soudure et la programmation effraie.
Teagueduino est un projet développé autour de l’arduino mais toutes les connections se font via des cables et l’environnement de programmation a été grandement simplifié.
Lyctaao 2011 STI2D Sin
![Page 23: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/23.jpg)
Teagueduino: le programme
Lyctaao 2011 STI2D Sin
![Page 24: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/24.jpg)
Le microcontrôleur Teagueduino:
les Entrées / Sorties Inputs: Buttons (small and medium),
Switches (small and large), Rotary knobs (rotary potentiometer), Sliders (linear potentiometer), Light sensors (CdS LDR), Magnetic sensors (ratiometric), Temperature sensors (thermistor), Force (fsr), and Audio level (microphone with peak detector).
Outputs: Speakers (piezo), LEDs (blue, red, and tri-color), Lasers (point and line), and Servos (small and medium), Motors (via servo control), and a Switchable AC plug (power switch tail) to control higher current devices.
Lyctaao 2011 STI2D Sin
![Page 25: PROGRAMMER EN C UN MICROCONTROLEUR](https://reader033.vdocuments.pub/reader033/viewer/2022061511/56816722550346895ddba835/html5/thumbnails/25.jpg)
Le microcontrôleur Teagueduino: le module
Lyctaao 2011 STI2D Sin