Programmer un mirocontroleur
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Programmer un mirocontroleur



  1. #1
    invite99f4a91e

    Programmer un mirocontroleur


    ------

    Bonjour

    Je suis sur un projet de fin d'année et je suis confronté à une difficulté celle de programmer le microcontroleur 8051.En effet,la partie qui me cause de soucies et de pouvoir programmer le microcontroleur pour aller lire les données des deux roues codeuses pour les envoyer dans le codeur HT9200A/B.Merci pour vos propositions.

    #include<stdio.h>
    #include<reg51.h>

    char x, A;
    sbit CE;
    sbit portcodeur=port_D;
    char port_D;
    sbit portcodeur;
    sbit portcodeuse1;
    char tempo_1;

    void main ()
    {
    P3^4=0
    //* alimentation du microcontroleur et debut de la transmission de l'information//
    portcodeur=0x0B; //*mettre X sur le codeur //
    CE=0; //*mettre CE à l'etat bas pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);
    CE=1; //*mettre CE à l'etat haut pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);

    portcodeur=0X0D; //**mettre A sur le codeur //
    CE=0; //**mettre CE à l'etat bas pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);
    CE=1; //*mettre CE à l'etat haut pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);

    //*lire sur la roue codeuse//

    portrouecodeuse=(portrouecodeu se & 0xf0)|11; //*mettre la variable sur le codeur pendant 100ms//

    CE=0; //*CE à l'etat bas pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);
    CE=1; //*CE à l'etat haut pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);

    //*lire sur la roue codeuse1//

    portrouecodeuse=(portrouecodeu se & 0x0f)|11; //*mettre la variable sur le codeur //

    CE=0; //*CE à l'etat bas pour faire passé l'information pendant 100ms//
    for (i=0; i<100ms; i++)
    tempo_1(100ms);
    CE=1; //*CE à l'etat haut pour faire passé l'information pendant 100ms//
    for (i=0; i<50ms; i++);
    tempo_1(100ms);
    P3^4=1 //*arret de l'alimentation//

    while(1);
    }

    -----

  2. #2
    invite9a1aa62e

    Re : Programmer un mirocontroleur

    Salut,

    Je ne connais pas ton microcontroleur, mais dans ton code C, quelque chose me surprend beaucoup : 100ms

    A moins que ce soit un C spécifique, tu ne peux pas comparer i à 100ms

    Tu as la possibilité de donner la sortie du compilateur ?

    D'ailleurs je ne comprends pas l’intérêt de ça non plus :

    for (i=0; i<100ms; i++) // tant que i inférieur à 100 (admettons)
    tempo_1(100ms); // ici une fonction de temporisation ? qui serait bloquante ? donc pourquoi la mettre dans un for ?

    Après, je ne sais pas quel est le type de 100ms, si ça existe

  3. #3
    Jack
    Modérateur

    Re : Programmer un mirocontroleur

    Bonjour Ephraime1,

    merci de respecter les règles du forum avant de poster notamment celle de la charte qui est commune à tout le forum et qui encourage à dire un petit merci lors d'une demande d'une service ainsi que les règles propres au forum info, notamment sur la mise en forme du code et le traitement des problèmes de µcontrôleurs dans le forum électronique
    Il est également demandé de préciser le langage utilisé.

    règles participatives
    Merci.

    En conséquence, je déplace en électronique
    Dernière modification par Jack ; 29/04/2012 à 11h24.

  4. #4
    Jack
    Modérateur

    Re : Programmer un mirocontroleur

    Pour le reste, je te conseille de te familiariser en 1er lieu avec le langage C avant de t'attaquer à des problèmes délicats. Comme l'a fait remarquer vohu, une variable nommée 100ms est problématique et témoigne à mes yeux d'un manque de connaissances de base en C.

    A+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Programmer autrement
    Par invite559d53a0 dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 11/04/2011, 18h37
  2. programmer en C++
    Par invite1bc1ddb5 dans le forum Programmation et langages, Algorithmique
    Réponses: 36
    Dernier message: 10/04/2011, 23h37
  3. programmer un µc
    Par mortaurat dans le forum Électronique
    Réponses: 13
    Dernier message: 02/05/2009, 00h08
  4. Programmer de la flash...
    Par invite8f8ffe44 dans le forum Électronique
    Réponses: 9
    Dernier message: 19/05/2008, 11h47
  5. Programmer en maple
    Par rajamia dans le forum Mathématiques du supérieur
    Réponses: 9
    Dernier message: 28/01/2008, 12h56
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...