Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 61

débutant en microcontrôleurs



  1. #1
    jagang

    Question débutant en microcontrôleurs


    ------

    bonjour
    Je voudrais me lancer dans la programmation de microcontroleurs. Je n'y connais rien en programation et en mircocontroleurs. Quel µc me conseilleriez-vous pour commencer. Je voudrais commencer avec un dé electronique (pour me faire la main) je sais que ca existe mais je suis pas sur que ca soi avec un µc mais je pense que ce n'est pas un projet trop difficile pour un debutant comme moi en programation a par si je pense mal dans ce cas dites le moi svp.


    merci


    cordialement
    jagang

    -----
    Jagang

  2. Publicité
  3. #2
    DAUDET78

    Re : debutant en microcontroleurs

    Ben voila la question qui va encore susciter l'enthousiasme entre les partisans du PIC, du Frescale, du 8051 et autres ...... Ca a pas fini de chauffer .....
    J'aime pas le Grec

  4. #3
    SuperTux

    Re : debutant en microcontroleurs

    Je vais précher pour ma chapelle : Atmel AVR, puce peu couteuse, possibilité de fabriquer son propre dongle de programmation ISP pour 5E, et des logiciels libres et gratuits existe pour (pour l'exemple je suis sous Linux).

    Pour faire un dès électronique tu racordes un afficheur 7 segments sur des sortie du uC pilotées par des transistors pour évité de les charger trop en courant de sortie. Tu mets un bouton poussoir sur une entrée avec interruption materiel, et à chaque appuis tu vas lire dans un compteur qui sert de seed pour le générateur pseudo aléatoire et tu sort le résultat sur le 7 segments.

  5. #4
    maxitec

    Re : debutant en microcontroleurs

    Citation Envoyé par DAUDET78 Voir le message
    Ben voila la question qui va encore susciter l'enthousiasme entre les partisans du PIC, du Frescale, du 8051 et autres ...... Ca a pas fini de chauffer .....
    + l'éternel débat: Assembleur ou C et les autres..

  6. #5
    behemerre

    Re : debutant en microcontroleurs

    Salut,

    Pour ma part je te conseillerai les PIC de chez Microchip, il sont facile à aborder, ont de tres grandes familles, la documentation (en anglais) de chez Microchip compte parmi les plus completes, et un cher Monsieur Bigonoff a eu l'aimabilité de nous faire 5 livres GRATUITS en FRANCAIS expliquant tout du début a la fin sur la programmation en assembleur on ne partant de RIEN.

    Pour le language, je te conseille l'assembleur, car c'est toi qui controle la machine, chaque instruction. Et tu est au plus prés du Hard et du Soft.

    PS : J'allais oublier, tu peux commander de chez le site de Microchip des samples (échantillons gratuits) de µC !!

    Alors, qui dit mieux ??

    a+
    L'éxpérience de chacun est le trésor de tous

  7. A voir en vidéo sur Futura
  8. #6
    alainav1

    Re : debutant en microcontroleurs

    bonjour,
    j'utilise des pic (mais je ne fais que des petits montages perso ,voir mon site ) .
    il me semble important de savoir comment ça marche donc l'approche en assembleur et les cours de bigonoff me semble la meilleurs solution.
    puis pour programmer j'utilise le basic (picsimulator ) car faire des division,multipication...en assembleur je sais pas faire alors qu'en basic il suffit d'écrire a=b*B .et l'apprentissage du basic est simple .
    c'est seulement mon avis et la methode qui m'a permis de progresser avec bien sur l'aide sur ce forum
    cordialement
    Alain

  9. Publicité
  10. #7
    Jack

    Re : debutant en microcontroleurs

    Bon, je ne comptais pas trop répondre, mais comme il faut être exhaustif, je propose les µC freescale (autrefois MOTOROLA).

    Niveau performance, prix, échantilons, les différentes marques se valent, donc on ne va pas relancer la polémique.

    Je verrais plutôt la différence au niveau de l'outils de développement, des possibilités de débogage et de l'assistance, les forums notamment. Il existe un forum spécifique pour freescale en français que tu pourras trouver facilement.

    Niveau outil de développement, codewarrior permet de développer en assembleur, C et C++. Il permet de déboguer un programme alors que son processeur est sur la carte en test. De plus, il n'est pas intrusif, ce qui signifie qu'il n'interfère pas avec le déroulement du programme.

    Voilà, voilà.

  11. #8
    jagang

    Re : debutant en microcontroleurs

    merci pour toutes vos reponses
    je vais me renseigner sur les pic et voir les cour de Monsieur Bigonoff
    Jagang

  12. #9
    invite_P89
    Invité

    Re : debutant en microcontroleurs

    Citation Envoyé par DAUDET78 Voir le message
    Ben voila la question qui va encore susciter l'enthousiasme entre les partisans du PIC, du Frescale, du 8051 et autres ...... Ca a pas fini de chauffer .....
    Pour faire mentir daudet pas de commentaire lol

  13. #10
    branqueira

    Re : debutant en microcontroleurs

    Bonjour,

    Moi je vous conseille Microchip avec le compilateur CSS C.
    Je pense qu'il faut mieux debuter en C.
    De plus on trouve enormement de code pour ce compilateur

    Utilisez aussi l'interface de Microchip, MPLAB, il est tres simple.

    question budget, ca coute presque rien :
    10€ le programmateur sur ebay
    les logiciels MPLAB gratuit et
    CCS C en version lite gratuit.

    En ce qui concerne les cours, c'est un peu plus difficile à trouver sur le net.
    Vous pouvez prendre les cours c pour le developpement PC (c'est presque la meme chose sauf pour quelques exceptions)


    Ou alors si vous etes tres courageux, commencer en assembleur avec les cours excellents de bigonoff. Courageux car l'assembleur est abstrait par rapport au C.

    Petit conseil, commcencez par des petits projets, allumer led, allumer lcd car quand on commence avec des gros projets des le debuts, on est vite debordé. Il faut que cela reste un loisir

  14. #11
    noir_desir

    Re : debutant en microcontroleurs

    Pour l'assembleur, je ne trouve cela pas trop abstrait. Après cela dépend de ce que l'on desire faire, voir comment marche le micro contrôleur(registre ...) et le programme ou bien voir comment se déroule juste le programme.

  15. #12
    Rominichnet

    Re : debutant en microcontroleurs

    Bonjour tout le monde,

    Je viens juste dire que comme jagang est débutant et qu'il ne va je pense pas commencer avec des programmes complexes, que son code pourra être fait soit en C soit en assembleur, vu qu'on peut les convertir l'un en l'autre (facilement avec un bon diagramme de flux).
    Et pour commencer il est je pense bien plus facile de faire du C, qui est plus intuitif. Rien ne l'empêchera plus tard de convertir son code en assembleur si il souhaite apprendre ce langage.
    Par contre au niveau hardware je ne connais que les PIC, qui fonctionnent à merveille et sont gratuits...

  16. Publicité
  17. #13
    jagang

    Re : debutant en microcontroleurs

    merci encore
    mais c'est quoi e C et l'assembleur parce que j'ai pas bien compris la différence
    Et pour programmer un PIC il faut:
    -un programmateur(carte connectant le PC et le PIC)
    -?????(logiciel permettant de mettre le programme dans le PIC)
    c'est ça ou je me trompe
    merci
    cordialement
    jagang
    Jagang

  18. #14
    Gérard

    Re : debutant en microcontroleurs

    Citation Envoyé par jagang Voir le message
    merci encore
    mais c'est quoi e C et l'assembleur parce que j'ai pas bien compris la différence
    Comprends pas.

    Citation Envoyé par jagang Voir le message
    Et pour programmer un PIC il faut:
    -un programmateur(carte connectant le PC et le PIC)
    -?????(logiciel permettant de mettre le programme dans le PIC)
    c'est ça ou je me trompe
    merci
    cordialement
    jagang
    1 écrire le programme source (en assembleur, en C, en Basic ...)
    2 compiler le programme pour en faire un fichier avec l'extension hex
    3 avec un logiciel qui pilote une carte de programmation (ex : http://www.gotronic.fr/catalog/micro..._cible=pic.htm)
    programmer le PIC
    4 mettre le PIC dans son environnement final (ton applic) et essayer

    pour 1 et 2 : MPALB logiciel gratuit
    pour 3 : ICPROG logiciel gratuit

  19. #15
    jagang

    Re : debutant en microcontroleurs

    merci pour ta réponse
    je voudrais savoir si cette carte de programmation fonctionnais avec MPALB et ICPROG car je pense que le prix des composant pour cette carte reviendrais moins chère que d'en acheter une. non ?
    merci

    cordialement
    Jagang
    Jagang

  20. #16
    gedonet

    Re : debutant en microcontroleurs

    Citation Envoyé par jagang Voir le message
    merci encore
    mais c'est quoi e C et l'assembleur parce que j'ai pas bien compris la différence
    cordialement
    jagang
    Bonjour
    L'assembleur et le c sont deux langages de programmation, la difference entre les deux, c'est que l'assembleur est le seule langage que comprend le µc sans interpreteur. Son avantage c'est qu'il colle parfaitement à la structure du µc et donc permet l'acces direct à toutes les ressources du µc. Son inconveniant, c'est qu'il est un peut abscon et fait peur (à tord) aux debutants, il faut donc une certaine organisation et ne pas lesigner sur les commentaires.
    Le c que je connais un peut mais que je ne pratique pas est un peut plus souple, par exemple pour faire une multiplication on apelle une fonction et on ne se preoccupe pas de comment un µc qui ne sait que faire des additions soustractions et fonctions logiques va se debrouiller avec cela. Si on fait la même chose en assembleur, c'est moins simple, il faut se demander comment se fait ce calcul en binaire, par exemple, un decalage à gauche fait une multiplication par deux mais il faut gerer la retenu, etc. Le c s'il n'est pas bien maitrisé ( le langage et les options d'assemblage) fabrique du code un peut lourd et par consequent plus lent. De toute façon, même si on utilise le c, il est preferable d'avoir des notions d'assembleur.
    Pour ta question sur le choix d'un µC, mon conseil, c'est de voir la documentation et les exemples que tu peux trouver dessus ainsi que les cours. Si un cours ou une documentation ou les outils, aussi bien fait soient ils, te posent des problemes, choisis un autre µC.
    J'ai choisis les pics pour pleins des raisons evoquer plus haut, mais cela ne veut pas dire que ce sont les meilleurs (ni les moins bons) et de toute façon quand tu as une certaine maitrise sur une marque, il est plus facile de changer de µC, THM, sur ce forum, m'a aimablement encouragé à tester les Freescale pour comparer.
    Gilles

  21. #17
    Gérard

    Re : debutant en microcontroleurs

    Citation Envoyé par jagang Voir le message
    merci pour ta réponse
    je voudrais savoir si cette carte de programmation fonctionnais avec MPALB et ICPROG car je pense que le prix des composant pour cette carte reviendrais moins chère que d'en acheter une. non ?
    merci

    cordialement
    Jagang
    Bonjour,
    C'est le genre de carte à 3 sous qui ne fonctionne que de temps en temps.
    Préfères une carte avec interface USB.

  22. #18
    Jack

    Re : debutant en microcontroleurs

    c'est que l'assembleur est le seule langage que comprend le µc sans interpreteur
    Pas vraiment. La seule chose que sait exécuter un µprocesseur, c'est le langage machine: le binaire quoi.

    En principe l'assembleur n'est pas un langage, mais un traducteur qui va convertir des instructions écrites en langage d'assemblage en binaire. Pour simplifier, l'assembleur signifie aussi langage d'assemblage deouis longtemps déjà.

    Il n'empêche qu'un programme écrit en "assembleur" n'est qu'un texte et n'est pas exécutable tel quel par le µprocesseur.

    A+

  23. Publicité
  24. #19
    gedonet

    Re : debutant en microcontroleurs

    Citation Envoyé par Jack Voir le message
    Pas vraiment. La seule chose que sait exécuter un µprocesseur, c'est le langage machine: le binaire quoi.

    A+
    Bonjour
    La difference entre l'assembleur et l'assembleur compilé n'est pas tres grande.
    Par exemple, pour les pics que je connais mieux, on pourrais tres bien ecrire directement en optocode pour remplacer "goto label" par son optocode "101xxxxxxxxxxx" (qui sera ecrit tel quel dans le pic) ou les xxxx representent l'adresse du label sur 11 bits, un compilateur n'est qu'un traitement de texte specialisé, du reste les "anciens" ecrivaient les codes directement en optocode.

    Pour moi l'assembleur est le seul langage que comprenne directement le µC sans aucune interpretation on remplace des valeurs qui representent des instructions ou des adresses par des mots pour etre plus lisible par des humains.

    Ce n'est que mon avis qui peut être mis en doute.

    Amicalement
    Gilles

  25. #20
    Jack

    Re : debutant en microcontroleurs

    Bonjour Gilles,

    je ne partage pas tout à fait ta vision des choses. J'ai programmé mon premier processeur en 1979. J'ai donc pu voir évoluer les µP et les outils de développement.
    A l'époque, on programmait vraiment en langage machine. On faisait le programme sur papier, avec les instructions écrites sous forme mnémonique du genre adda ..., lda ..., sta ..., et on traduisait en hexa à l'aide de la table de traduction fournie par le fabricant du µP. Puis on rentrait les codes machines avec un clavier hexa. On ne parlait pas d'assembleur.

    J'ai découvert plus tard l'assembleur qui traduisait les mnémoniques en code machine. L'assembleur est un programme. Par abus de langage, l'assembleur est aussi devenu le langage par la suite.

    un compilateur n'est qu'un traitement de texte specialisé
    Absolument pas. Tu mélanges tout. Un compilateur est un programme qui traduit des lignes de texte écirtes dans un langage donné en code machine. Un assembleur est un type particulier de compilateur.

    optocode
    Je pense que tu voulais dire "opcode", c'est à dire code opération.

    A+

  26. #21
    jagang

    Re : debutant en microcontroleurs

    merci mais donc vous me conseillez quoi comme langages et l'assembleur programme sert compiler le programme pour en faire un fichier avec l'extension hex
    Jagang

  27. #22
    Jack

    Re : debutant en microcontroleurs

    et l'assembleur programme sert compiler le programme pour en faire un fichier avec l'extension hex
    Tu peux reformuler correctement s'il te plait?

  28. #23
    Gérard

    Re : debutant en microcontroleurs

    Citation Envoyé par jagang Voir le message
    merci mais donc vous me conseillez quoi comme langages et l'assembleur programme sert compiler le programme pour en faire un fichier avec l'extension hex
    Voir post14.

  29. #24
    schneiderj

    Re : debutant en microcontroleurs

    Je suis dans le même cas que toi : je me lance dans l'étude des microcontrolleurs... enfin d'une catégorie, cela sera un 18F.
    Mais je vais commencer par le cour de Bigonoff qui me permettra de connaitre le fonctionnement des ces petites bêtes.
    Mais je ne compte pas rester à l'assembleur, le C me semble tellement plus facile. Et quand je vois une comparaison entre quelque ligne de programme.. je frémi ! que de lignes à taper et donc à corriger.
    Voici un exemple, il y a tout de même de quoi faire réfléchir :



    Jean-Marie

  30. Publicité
  31. #25
    Gérard

    Re : debutant en microcontroleurs

    Citation Envoyé par schneiderj Voir le message
    Je suis dans le même cas que toi : je me lance dans l'étude des microcontrolleurs... enfin d'une catégorie, cela sera un 18F.
    Mais je vais commencer par le cour de Bigonoff qui me permettra de connaitre le fonctionnement des ces petites bêtes.
    Mais je ne compte pas rester à l'assembleur, le C me semble tellement plus facile. Et quand je vois une comparaison entre quelque ligne de programme.. je frémi ! que de lignes à taper et donc à corriger.
    Voici un exemple, il y a tout de même de quoi faire réfléchir :



    Jean-Marie
    Bonjour,
    Il n'est pas très optimisé ce code en C.
    Quand tu auras lu Bigonoff, essaie de traduire et tu verras qu'on peut faire plus simple.
    Tu peux aussi t'écrire des macros (en asm) qui te simplifieront le codage.

  32. #26
    jagang

    Re : débutant en microcontrôleurs

    merci pour vos reponses
    moi j'ai choisis le langage assembleur (si j'ai bien compris) en suivant les cour de bigonoff
    donc j'ai etudier un de ces cours et j'ai ecris un petit programme en me servant de programme existant
    comme je ne sais pas si il est juste donc je vous le propose meme si lorsque
    je l'ai assemble le programme m'a dit qu'il n'avait pas d'ereur (je les ai corriger en faite)

    merci
    cordialement
    jagang
    Code PHP:
        LIST      p=16F84             Définition de processeur
        
    #include <p16F84.inc>         ; Définitions des constantes

        
    __CONFIG   _CP_OFF _WDT_ON _PWRTE_ON _HS_OSC

    '__CONFIG' précise les paramètres encodés dans le processeur au moment de
    la programmationLes définitions sont dans le fichier include.
    Voici les valeurs et leurs définitions :
    ;    
    _CP_ON                Code protection ON impossible de relire
    ;    _CP_OFF                Code protection OFF
    ;    _PWRTE_ON            Timer reset sur power on en service
    ;    _PWRTE_OFF            Timer reset hors-service
    ;    _WDT_ON                Watch-dog en service
    ;    _WDT_OFF            Watch-dog hors service
    ;    _LP_OSC                Oscillateur quartz basse vitesse
    ;    _XT_OSC                Oscillateur quartz moyenne vitesse
    ;    _HS_OSC                Oscillateur quartz grande vitesse
    ;    _RC_OSC                Oscillateur à réseau RC

    demarage sur restet

        org    0x000                
    adresse de depart apres retet
        
    goto    start
    mise de port en entre et sortie

        bsf    STATUS
    ,RP0                ;on passe en banque 1
        bsf    TRISA
    ,1                bit 1 de trista a 1 entre pour RA1
        bcf    TRISA
    ,2                bit 2 de trista a 0 sortie pour RA2
        bcf    TRISA
    ,3                bit 3 de trista a 0 sortie pour RA3
        bcf    STATUS
    ,RP0                on repasse en banque 0
    declaration de variable

        CBLOCK    0x00c                
    ;debut de la zone de variable

        cmpt1
    :1                        ;compteur de boucle 1
        cmpt2
    :1                        ;"""""""""""""""""""2
        cmpt3:1                        ;"""""""""""""""""""
    3

            endc                    
    fin de la zone

    definition

    #DEFINE    inte    PORTA,1                ; inte = entre A1
    #DEFINE    led        PORTA,2                ; led = sortie A2
    #DEFINE    led2    PORTA,3                ; led2 = sortie A3

    routine de temporisation
    produit un retard de 500 000 µs c-a-d 0.5 sec
    tempo
        movlw        2                    
    pour 2 boucle
        movwf        cmpt3                
    ;initialiser compteur 3
    boucle3
        clrf        cmpt2                
    ;effacer compteur 2
    boucle2
        clrf        cmpt1                
    ;effacer compteur 1
    boucle1
        nop                                
    ;ne rien faire
        decfsz        cmpt1
    ,f                ;decrementer compteur 1
        
    goto        boucle1                ;si pas 0boucler
        decfsz        cmpt2
    ,f                ;si 0 ,decrementer compteur 2
        
    goto        boucle2                ;si cmpt2 pas 0recommencer boucle 1
        decfsz        cmpt3
    ,f                ;si 0,decrementer compteur 3
        
    goto        boucle3                ;si cmpt3 pas 0recommencer boucle 2
        
    return                            ;retour de la sous-routine 

    programe principal

    start
        btfss        inte                
    test si A1 est a 1 si oui saute instruction suivante
        
    goto        start                revien a START
        bsf            led2                
    allume led2 met a 1 RA3
    etiquette
        bsf            led                    
    allume led met a 1 RA2
        call        tempo                
    appeler la tempo de Xsec
        bcf            led                    
    etein led (RA2)
        
    call        tempo                appeler la tempo de Xsec
        btfsc        inte                
    si inte vaut 0 saute instruction suivante
        
    goto        etiquette            revien a ETIQUETTE
        bcf            led2                
    etein led2(RA3)
        goto        
    start                revien a START
        end                                
    fin de programe 
    voila
    merci de me repondre vite SVP
    Jagang

  33. #27
    Gérard

    Re : débutant en microcontrôleurs

    Bonjour,
    Si tu as écris ce programme avec MPALB, tu peux le simuler et tu verras s'il est fonctionnel.

  34. #28
    jagang

    Re : débutant en microcontrôleurs

    Bonjour
    oui je l'ai fais avec MPLAB et je l'ai simuler sauf que le simulateur reste bloque sur les ligne de la routine de temporisation ça va de boucle 1 (étiquette) a goto boucle1
    je pense que c'est normal parce qu'un instruction dure normalement environ 1µs et que la c'est très ralentis si on ne le met pas en mode run
    et je préférais demander aussi parce qu'un simulateur des fois il fonction et en réalité ça ne fonctionne pas

    cordialement
    jagang
    Jagang

  35. #29
    Gérard

    Re : débutant en microcontrôleurs

    Bonjour,
    Si tu n'as pas confiance dans le simulateur, il faut cabler, programmer le PIC et mettre sous tension.
    Les plaquettes sans soudure sont faites pour ça.

  36. #30
    maxitec

    Re : débutant en microcontrôleurs

    il Faut simuler l'action sur le BP

Sur le même thème :

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. L'infrarouge et les microcontrôleurs
    Par zero_pointée dans le forum Électronique
    Réponses: 5
    Dernier message: 23/10/2007, 16h06
  2. Interfacer les microcontrôleurs
    Par electrophil dans le forum Électronique
    Réponses: 1
    Dernier message: 22/06/2007, 21h03
  3. Réponses: 2
    Dernier message: 08/05/2007, 14h05
  4. Microcontroleurs
    Par danielalcide dans le forum Électronique
    Réponses: 1
    Dernier message: 23/04/2007, 13h46
  5. Probleme avec les microcontroleurs Atmel! Help!!
    Par Ganondorf2018 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/02/2006, 20h15
Découvrez nos comparatifs produits sur l'informatique et les technologies.