Nous devons écrire un programme pour le microcontrôleur

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
Objectifs Identifier l’interface entre le logiciel de plus bas niveau et le matériel Comprendre la problématique de l’architecture du jeu d’instruction.
la programmation en langage C
Le jeu d ’instructions Introduction Un jeu d ’instruction classique
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Les fonctions en Java Partie I Le type void. Dans cette rapide présentation, je vais expliquer :.à quoi servent les fonctions.à quoi faut-il penser avant.
4. Les structures de tests
Architecture des microcontrôleurs
30Tempo_50msmovlw d50 31movwf Cmpt_50ms 32Loop_50mscall Tempo_1ms 33decfsz Cmpt_50ms,f 34goto Loop_50ms 35return 20movlw d10 21movwf Compteur 22Attendcall.
CYCLE 6 : FONCTIONS FONCTIONS avec paramètres en Entrée 1- Pourquoi les FONCTIONS peuvent échanger des données en E entre elles ? 2- Comment écrire des.
Les systèmes à microprocesseur
CYCLE 1 : Saisir – Afficher – Données Afficher du texte sur lécran 1- Rôle du printf() 2- Syntaxe du printf() 3- Exécution du printf() par le CPU.
Pb1 - Hello world - Regarder en pseudo code ce que cela donne.
Introduction à la programmation (Java)
Système d’exploitation : Assembleur
Bases de la programmation en C++
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Introduction à la programmation objet Langage Java
Principes de programmation (suite)
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 9 Les sous-programmes.
Algorithmique et langage C. Les traitements Comment utiliser les données.
LANGAGE C LP A2I IUT St DIE
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
FONCTIONS avec paramètres en Entrée/Sortie
Plan cours La notion de pointeur et d’adresse mémoire.
La librairie assert.h.
Générateur d’un signal Carré MICROCONTROLEUR PIC 16F84 Application 1:
AP4 - Programmation Orientée Objet Chapitre 3 : Programmation Objet en C++ class Entier { int i; int lit_i(void); void Ecrit_i(int); }; int Entier::lit_i(void)
2.1 - Historique Chapitre 2 : Introduction au langage C++
Le langage C Rappel Pointeurs & Allocation de mémoire.
Programmer en langage c
SIF-1053 Architecture des ordinateurs
Présentation rapide d’
Argc et argv Utilisation des paramètres de la ligne de commande.
Activités Mentales Classe 6 e Test n°1. Consignes  Chaque question restera un certain temps à l’écran et tu ne devras rien écrire pendant ce temps. 
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
La programmation.
Introduction au langage C Fonctions et Procédures
Novembre 2014J.Callot L.Piedfort1 TP1 Enoncé. novembre 2014J.Callot L.Piedfort2 Objectifs Générer un environnement de travail avec Code Warrior Prendre.
Les opérateurs L’amitié Les opérateurs Introduction
Les types composés Les enregistrements.
Microcontrôleurs PIC. 1ère séance Présentation du PIC16F876 Outils de programmation du PIC Le langage C Exemples d’applications simples 2ème séance Présentation.
PICAXE LE MICRO-CONTROLEUR.
Conception de Programmes - IUT de Paris - 1ère année – Cours 6 - Les opérateurs L’amitié Les opérateurs –Introduction –Surcharge par fonction.
Exécution d ’un programme en 6809: Présentation du programme
Conception de Programmes - IUT de Paris - 1ère année Cours 2 – Références et passage de paramètres Les Références –Introduction aux références.
Introduction à la programmation objet avec java
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
Les structures de contrôle
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
BEP Electronique - Systèmes microprogrammés
Test.
UE MAREP Cours 12 : Révisions
4 ème Activités Mentales Test n°2. Consignes  Chaque question restera un certain temps à l’écran et tu ne devras rien écrire pendant ce temps.  Tu écriras.
PRO-1027 Programmation Scientifique en C
Activités Mentales Classe 6 e Test n°2. Consignes  Chaque question restera un certain temps à l’écran et tu ne devras rien écrire pendant ce temps. 
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Étapes pour la Programmation du 68HC11 I. Écriture du programme dans un fichier *.a11 II. Le programme est compilé (traduit en langage machine) III. Le.
Test.
Test.
test
TEST.
Int 10. Int 6.
Test test.
Transcription de la présentation:

Nous devons écrire un programme pour le microcontrôleur PIC16F84

La machine ne comprend que :1000A 000F03083168500831285010F308316860099 :1000B 00083128601831681110115811401148112A6 :1000C 000831281018B168B17792001308500103047 :1000D 00086007920023085002030860079200430A7 :1000E 0008500403086007920083085008030860009 :1000F 0006428FF30A000A00B7B280800A500030E99 :10010 0008301A6000A08A7008A010408A8008B182A :10011 00096280B1994282808840027088A00260EA0 :10012 0008300A50E250E09000B118B288B108B2840 Le langage machine

Le fabricant du microprocesseur fournit un nom correspondant à chaque instruction ( mnémonique) que le programmeur utilise ;-------------------------------------------------------------------------- Wait255 MOVLW H'FF' ; attente de 255 cycle Wait ; attente de W cycle MOVWF fAux ; charger le nombre de cycle à attendre Wait10 DECFSZ fAux,1 ; décrémenter et tester GOTO Wait10 RETURN avec le langage Assembleur.

Mais il peut utiliser un langage plus « évolué » : /* Wait : attendre pendant un certain temps */ void Wait255( )‏ // 255 passages pour ne rien faire { for (int i=0; i<255; i++)‏ ; } le langage C. D'ailleurs pour ce micro, il n'y a pas d'autre langage disponible.

Avec notre PC et son pentium Langage C /* Wait : attendre pendant un certain temps */ void Wait255( )‏ // 255 passages pour ne rien faire {int i; for ( i=0; i<255; i++)‏ ; } Langage assembleur _TEXT segment dword public use32 'CODE' _Wait255 proc near ?live1@0: push ebp mov ebp,esp push ecx @1: xor eax,eax mov dword ptr [ebp-4],eax @2: inc dword ptr [ebp-4] cmp dword ptr [ebp-4],255 jl short @2 @5: pop ecx pop ebp ret _Wait255 endp _TEXT ends Compilateur Compilateur Assembleur Langage machine ( fichier .obj ou exe )‏

Une Machine virtuelle est un programme qui simule un microprocesseur Compilateur Le code est traduit en langage machine directement utilisable par le microprocesseur Pe : langage C Interpréteur Il n'y a pas de traduction mais les instructions sont décodées à l'exécutions par un logiciel appelé interpréteur. Pe langage Basic interprété. Machine virtuelle Le code est traduit dans un langage machine destinée à une machine virtuelle. Une Machine virtuelle est un programme qui simule un microprocesseur spécialement adaptée à un langage. Pe : Java ou CLR...

Code source innaccessible Avantages Inconvénients Exécutable dépendant de la machine pour laquelle il est destiné (cible). Compilé Très bonne utilisation des ressources: Rapidité, faible Code source innaccessible interprété mauvaise utilsation des ressources, lent, nécessité la présence de l'interpréteur. Indépendant de la machine cible. Machine virtuelle Compromis entre les deux autres approches. Nécessite la présence d'une Machine virtuelle ou d'un processeur spécialisé. Facilite l'informatique distribuée. Code source innaccessible

Assembleur Basic Fortran ... Séquentielle Programmation Structurée C Pascal ... Objet C++ ADA Pascal Delphy VisualBasic

Le langage C est un langage évolué mais ses créateurs voulaient garder toutes les possibilités de l'assembleur. Ce qui pour eux en était le principe fondamental devient un source de problèmes et d'erreurs pour beaucoup de programmeurs. Aussi de nombreuses implémentations possèdent des mécanismes qui brident les utilisateurs.

A suivre … © F.Minon 2008