Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 38

programme pour pic 16f84 aider moi SVP



  1. #1
    gobgob69

    Question programme pour pic 16f84 aider moi SVP


    ------

    bonjour a tous
    je doit realiser un programme pour un pic 16f84 mai j arrive po du tout mon sujet es le suivant si vou pouver maidez SVP

    je doit faire fonctionner 10 leds avec 3 mode de fonctionnement:
    - defillements des leds
    - clignotement des leds en mm temps
    - et fonctionnemen mixte
    mai aussi 3 vitesses de defilemen ou clignottemen possible

    le selection des mode se fai par un bouton poussoir meme chose pour la vitesse
    et je doi pouvoir modifier le mode et le vitesse a tout moment

    si vous pouvez maider sa serai vraimen super merci davance a bientot

    -----

  2. Publicité
  3. #2
    invite03481543

    Re : programme pour pic 16f84 aider moi SVP

    Salut,

    il faut lorsqu'on débute en programmation s'efforcer de transcrire le déroulement du programme à travers un organigramme ou "flowchart" en différenciant les actions, les tests conditionnels, les boucles, etc...
    Cela permet de se représenter les actions à réaliser par le programme et ensuite il faut écrire les algorithmes correspondant à chaque bloc.
    De cette manière tu pourra avancer plus efficacement et avec l'habitude tu pourras te passer de cette étape.

  4. #3
    gobgob69

    Smile Re : programme pour pic 16f84 aider moi SVP

    tu connai po un progamme qui donne la programmation directemen ou me dire le debut du programme merci

  5. #4
    invite03481543

    Re : programme pour pic 16f84 aider moi SVP

    Avant de te macher la solution, voici un support en relation avec mon précédent post.

    Je suppose que tu veux te perfectionner et bien comprendre comment ça marche?

    @+
    Fichiers attachés Fichiers attachés

  6. A voir en vidéo sur Futura
  7. #5
    gobgob69

    Thumbs up Re : programme pour pic 16f84 aider moi SVP

    merci je jette un oeil a ske tu ma envoyer et jte di

  8. #6
    RISC

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour gobgob,

    Ca serait sympa de respecter la charte du forum et le temps que prennent ceux qui te répondent pour t'aider ;=) :

    12. Respectez les lecteurs du forum, n'écrivez pas vos messages en style SMS ou phonétique.


    Merci

  9. Publicité
  10. #7
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Cher ULK,

    Permettez-moi de dire NON à votre méthode pour débuter sur les PICs, étant donné 10 ans d'expérience de formation en programmation, de débutant en seconde jusqu'à la classe de bac S avec option "lourde"de lycée Education Nationale, et avec un grand succès.
    Je n'ai jamais fait de cours d'algorithmique, je n'ai jamais fait d'algorithmique et même jamais prononcé ce mot à mes élèves, parce qu'ayant subi ce genre de cours à la fac de Toulouse, j'ai vu que ce n'était pas une bonne solution. Par contre, la méthode des affinages successifs, est une méthode très puissante, qui ne demande rien à apprendre et qui fournit forcément un résultat, même pour un énorme programme qui doit être divisé en modules, ce que l'algorithme, étant graphique, est incapable de fournir, (c'est un résidu du Basic des débuts) et reconnaissez que l'on ne voit d'algorithmes que pour de petits cas, faciles à représenter, et aboutit à diviser la programmation en 2 concepts: l'action et le test, comme le grafcet, c'est une énorme stérilisation de la tête de l'élève, car la programmation, ce n'est pas ça. D'autre part, passer de l'algorithme au PIC n'est pas évident, quasi impossibe. Regardez un programme PIC et un algorithme, comparez, et voyez le fossé entre les deux. Je compte faire un livre pour PIC, pour la cause justement que je ne vois aucun auteur s'y prendre de manière agréable et éducative, facile et motivante.
    Ce n'est pas comme ça (par l'algorithme) que l'on peut apprendre la programmation, au contraire, cela peut désoler des élèves, tandis que les miens étaient accrochés dès le début facile. J'ai pu comparer, car en parallèle avec mon cours, une prof de maths faisait un cours, les pauvres élèves tiraient une tête, les pauvres! Malheureux. J'ai invité cette prof à visiter une de mes classes qu'elle voie la différence, mais elle n'a pas voulu, elle était braquée sur un cours qu'elle avait eu à l'IUFM, laquelle lui avait donné un livre carrément épouvantable, et elle était incapable de s'adapter à son auditoire, d'ailleurs elle a abandonné sa fonction et a fait de l'administration! Je n'appelle pas cette personne un prof. Un prof doit rendre les choses "comestibles" et agréables!
    Cordialement
    pont

  11. #8
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour gobgob69,

    Tu as 3 modes un seul bouton de commande, tu fais commentJ?
    Tu as 3 vitesses, un seul bouton de commande, tu fais commentJ?

    Peut-être que chaque bouton est un commutateur à 4 positions (repos, commandec 1, commande 2, commande 3), ce qui demande d'utiliser 3 entrées? Donc 6 pour les deux commandes, ce que tu peux grouper sur 3 bits? Mais le PIC que tu as choisi va être plein, je crois me rappeler qu'il a 13 entrées, donc 10+3 tu peux t'en sortir, mais il te faudra un seul bouton avec sortie codée, comme une "roue numérique" appelée roue codeuse. (page 17-7 de Selectronic) Ton travail serait plus facile avec un PIC16F88, c'est le même avec un peu plus de possibilités, jusqu'à 16 E/S, et surtout il est débugable, le 84 n'y est pas. Avec le 88, et 6 poussoirs à la place de tes 2 boutons, un poussoir par entrée, c'est bien plus simple! C'est toi qui vois, comment veux-tu faire?
    Tu as aussi une autre solution, avec un seul poussoir:
    Tes 6 fonctionnements, tu les mets en une séquence bouclée, donc à la suite l'un de l'autre, et tu déclenches le passage de l'un à l'autre avec ton unique bouton! C'est comme ça que je ferais.
    Il faut ruser...
    Cordialement
    pont

  12. #9
    Gérard

    Re : programme pour pic 16f84 aider moi SVP

    1 tu sors une discussion vieille de plus de 2 ans
    2 tu t'adresses à HULK (pas ULK) qui est un membre éminent du forum et un spécialiste
    3 tu critiques et ne tu ne dis rien de ta méthode
    4 as-tu déjà fait autre chose que l'Educ. Nat ?

    Une petite remarque : tu devrais éviter les fautes de français, tu en serais plus crédible.

  13. #10
    Jack
    Modérateur

    Re : programme pour pic 16f84 aider moi SVP

    C'est curieux cette propension à déterrer des discussions hors d'âge, en particulier lorsqu'un membre de la modération s'exprime.

    Je ne mets pas en cause vos compétences, mais je trouve votre critique quelque peu incohérente:

    Qu'est qu'un algorithme? Pour faire simple, c'est un processus qui permet de résoudre un problème en le décomposant en plusieurs étapes élémentaires.

    Je n'ai jamais fait de cours d'algorithmique, je n'ai jamais fait d'algorithmique
    Ca me fait penser à M. Jourdain, car je ne vois pas comment résoudre un problème sans algorithme finalement, même si on n'en prononce pas le nom.

    ce que l'algorithme, étant graphique, est incapable de fournir
    Ah? Un algorithme est graphique? Il peut effectivement être traduit graphiquement sous forme d'algorigramme ou autres représentations, mais l'algorithme peut être transcrit textuellement également.

    D'autre part, passer de l'algorithme au PIC n'est pas évident, quasi impossibe
    C'est sur que quand on voit l'assembleur du pic, ça fait peur. Par contre avec des langages de plus haut niveau, dits algorithmiques, ca simplifie un peu la tâche.

    Pour conclure, je pense que l'algorithmique est indispensable pour structurer son raisonnement et favoriser le codage (la programmation) qui est l'étape suivante. Maintenant, je suis d'accord avec vous pour dire qu'il y a plusieurs méthode pour introduire l'algorithmique, tout dépendant bien sur du public visé et de l'effet escompté. Pour intéresser une classe de S aux joies de la programmation, il faudra rester humble et ludique: il s'agira plus de découverte qu'autre chose.

    En revanche pour former de futurs professionnels de l'informatique, il faudra voir les choses sous un angle différent, l'algorithique étant une science à part entière.

    Bonne soirée et merci de nous faire profiter de vos compétences sur le forum de manière un peu plus positives

  14. #11
    gedonet

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour
    Je voudrais remercier d'une certaine façon pont2, car j'ai aussi un probleme avec les algorigrammes, je fais de petits programmes, en amateur, depuis 1981 avec mon premier ZX81 et bien sûr j'ai suivi les conseils de creer un algorigramme avant de commencer à ecrire des lignes de codes et je ne suis jamais arrivé à grand chose de cette maniere, j'ai aussi essayé avec la programmation des pics sans plus de resultats, je pensais que du fait de mon abscense totale de formation informatique, il me manquais des bases pour maitriser cette methode, je suis rassuré de ne pas être le seul à ne pas trop aimer.
    Par contre pont2 parle d'ecrire un livre sur la programmation des pics, je voudrais lui signaler qu'il en existe un, celui de Bigonoff, libre d'acces. Je ne sais pas s'il est tres éducatif, mais, pour moi, à la seconde lecture attentive cela a été le declic, il ne parle pas d'algorigramme, c'est peut être pour cela.
    La methode que je recommande c'est de décrire avec des mots simples toutes les etapes du futur programme, car j'ai remarqué que beaucoup de debutants commencent à ecrire des morceaux de code (plus ou moins copier/coller) sans avoir une idée precise de ce que va pourvoir faire le programme. Personnellement j'ecris d'abord toutes les routines les plus élémentaires et en dernier la boucle principale qui est souvent tres courte.
    Gilles

  15. #12
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Jack et Gerard,
    Effectivement, vos remarques sont pleines de bon sens , mais je ne vais pas développer ici ma méthode, (trop longue, se déroulant sur 3 ans) qui était très adaptée à mon auditoire, je pense que c'était son mérite principal, et je ne m'encombrais pas de concepts théoriques, même pas de mots compliqués qui font peur. L'essentiel était que le ou la jeune y trouve son compte. Et j'étais étonné (de même que les garçons) que les filles, une fois lancées, y mettent une énergie incroyable, devançant les garçons. Je vais m'occuper bientôt d'une 6e, je vais voir ce qu'elle va donner. Avec moi c'est simple. Je remplace "algorithme" par déroulement du programme, et tout comme ça, et pas de tracés graphiques, et oui, c'est en assembleur qui est le langage unique du microcontrôleur PIC, aucun autre langage ne peut programmer le PIC, si certains font d'autres langages, il va falloir les traduire en assembleur, et aucun langage ne peut faire plus que l'assembleur, et souvent bien moins, il y a des instructions non utilisées, des structures impossibles etc...l'assembleur est le langage le plus puissant, laissant derrière lui tous les autres.
    . . Un langage comme le C, c'est un paquet de routines standard, écrites en assembleur, forcément. Mais ces routines standard, sont-elles bien adaptées au programme qu'on veut faire? A l'évidence non, ça va à peu près seulement, c'est taillé "à coups de serpe", c'est grossier, c'est comme si on construit un immeuble avec des pièces préfabriquées, c'est vite fait, mais ce n'est pas du boulot fini, il n'y a pas de qualité, c'est du travail grossier.
    Cordialement.

  16. Publicité
  17. #13
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Gedonet,

    Rassurez-vous, il n'y a pas besoin de "réseaux" de Petri, d'algèbre de Bolle, de théorème de Karnaught, pour faire de la vraie et belle informatique, et programmer proprement. Vous allez réussir.
    Le cours de Bigonoff est ce que je connais de mieux dans le genre, c'est du sérieux, j'ai l'intention de présenter une manière différente, pas pour des histoires de différence, mais parce que tout le monde n'est pas pareil, et comme j'ai vu que ma façon marchait bien, et affinée d'une année sur l'autre, car le contact des élèves montre où il faut corriger, développer un point, en raccorcir un autre, et j'insisterai beaucoup sur les problèmes pratiques du départ, et je n'utiliserai pas le PIC16F84, mais le 16F88, et sa famille (886, 887) de même "coeur", et je pense que Bigonoff, s'il faisait son cours aujourd'hui, le ferait aussi avec ce processeur, car il est débugable. Mais je ne vais pas faire un énorme travail, juste ouvrir une porte d'accès de plus à la programmation du PIC, ensuite, l'élève devrait continuer à un niveau supérieur avec Bigonoff par exemple. Les ouvrages en français sur le PIC sont rares, et souvent orientés différemment, comme du basic. Comme ce n'est pas fait, on a le temps de voir.
    Si vous permettez, Gedonet, un conseil pour votre étude: avoir en main la datasheet de Microchip, c'est l'outil de référence. Il faut aussi, connaître le début avant programme, ensuite pas se lancer dans une application, mais visiter le PIC, c'est à dire d'abord les sorties, puis les entrées, puis le sleep, le timer, le watchdog, etc... ce faisant, vous constituez une sorte de petite bibliothèque de routines à reprendre par la suite. C'est un peu comme la construction d'une maison, il faut voir plusieurs aspects du problème. Il n'est pas nécessaire de tout étudier le PIC, mais plus vous irez loin dans cette étude "horizontale" plus vous monterez un projet haut. Il y a des choses bien dans le PIC16F88, ce sont les entrées analogiques, il n'y a qu'un seul convertisseur et un commutateur d'entrée, et il y a une sortie PWM, pour alimenter un moteur à courant continu, sous réserve d'un ampli supplémentaire.
    Et c'est là qu'il faut faire le tour de différents capteurs, et des actionneurs (électro-aimants, servo moteurs, moteurs pas à pas, vérins. et vérins à vis et les chauffages) Il n'y a donc pas que le microcontrôleur à étudier, il y a 5 parties matérielles, et deux parties logicielles dans un automatisme: le programme de marche normale et tous les additifs de programmation, pour les marches réduites etc...le but étant d'automatiser une machine industrielle qui peut être un peu complexe. C'était l'objet de mon cours, que je n'ai jamais mis sur papier!Mais cela va se retrouver et adapter à ce PIC, que j'ai trouvé le plus adapté au bricolage à faibles moyens, pas de CMS par exemple. Et je vois qu'Elektor ouvre un atelier de fabrication de circuits imprimés, cela peut intéresser de faire un automate modulaire.
    Cordialement
    Dernière modification par pont2 ; 23/05/2009 à 02h34.

  18. #14
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Jack le modérateur,

    Je ne sais pas si vous en avez fait exprès, mais vous avez un vrai talent d'humoriste: <<l'assembleur ça fait peur>>. Le µC que j'utilisais (de Motorola) vait 110 instructions, et beaucoup plus agréable que le Z80 de Zilog ou le 8080 d'Intel et on expliquait que le créateur de Motorola étant un français, il y avait mis l'esprit français dedans, et en particulier le gros microprocesseur Motorola le 68000 était une Rolls à programmer, grâce à ses 8 registres de travail 32 bits, ses 7 registres d'adresse, le 8e étant le stack pointer, et ma fille de 9 ans s'en donnait à coeur joie sur la carte Université fabriqué par Motorola pour que les étudiants s'entraînent.
    Mais le PIC est arrivé, et a voulu innover techniquement, je ne crois pas que soit totalement réussi car les instructions du PIC sont complexes à écrire, un simple RTS doit s'écrire return, un RTI doit s'écrire retfie etc... bref, les noms des instructions sont vraiment épouvantables (decfsz, xorlw, btfc...) si je ne me suis pas trompé, car le plus pénible, c'est la langue américaine qui est heurtée, tordue, mais un fait est certain, c'est que le composant marche bien, il est super-équipé, même trop on trouve jusqu'à 5 fonctions sur la même patte, et surtout, ce qui crève tout, c'est le Microchip direct, qui court-circuite tout le blocage commercial et envoie quelques composants au petit bricoleur désargenté français, et ça c'est la première fois, et cela mérite d'être salué chapeau bas. Tout le monde peut acheter au fabricant les commerçants ne doivent pas être contents, mais Microchip est devenu puissant en en elle expansion technique et commerciale, (3 millions de µC vendus par jour) que les arnaqueurs habituels qui nous exploitent ne sont plus rien.
    C'est ce qui justifie que les instructions <<qui nous font peur>>, on met du miel dessus et on les avale! Et il n'y en a que 35. Quand on passe en 16 bits cela monte à 83, avec 5 ou 6 variantes, ce qui fait environ 250 instructions sinon plus, et surtout les registres spéciaux innombrables. Mais pour un début, le 8 bits va bien
    Quant aux langages "de 1er étage", (C, Basic...) il faut bien comprendre que tout avantage se paie, c'est vroi que c'est plus rapide d'écrire sinus(x) qu'un développement limité en assembleur, mais en éalité on n'a rien gagné du tout, car si on le fait soi-même, on lui adapte sa précision à la nécessité, et ce faisant on gagne en temps si c'est nécessaire, et en plus il a fallu apprendre un autre langage puis un 3e, puis autant de langages que d'applications, on ne s'en sort plus,, il vaut mieux rester modestement sur son assembleur et ne pas se disperser. Je lisais récemment une réclame pour un logiciel "ST", confrme IECxxx, la belle affaire? L'auteur ou son représentant prétend faire du "temps réel", avec une résolution de 1 à 5 millisecondes. alors qu'un simple 16F84, avec seulement un Quartz 4MHz, peut faire du temps réel ajusté à zéro microseconde, grâce à l'instruction NOP qui n'existe qu'en assembleur. Quand un déroulement est régulier, on peut faire, avec précaution, des interruptions timer, mais c'est un cas particulier, en usinage de courbes on veut une avance avec une vitesse d'avance constante, il faut dionc calculer constamment les moments où on va faire une correction de trajectoire.
    Cordialement
    pont
    Dernière modification par pont2 ; 23/05/2009 à 09h19.

  19. #15
    Jack
    Modérateur

    Re : programme pour pic 16f84 aider moi SVP

    Je ne sais pas si vous en avez fait exprès, mais vous avez un vrai talent d'humoriste
    C'est possible

    A vrai dire je parlais de l'assembleur du pic. Si les instructions sont simples (normal puisqu'il s'agit d'un risc) je trouve personnellement que la moindre opération est compliquée. Je n'irai pas plus loin car je ne veux surtout pas relancer le débat sur "quel est le meilleur microcontrôleur". Ca a été débattu maintes et maintes fois et ça finit inévitablement de manière stérile.

    Vous avez donc retenu le pic! C'est votre choix et je ne le discuterai pas.

    Pour situer, j'ai commencé par programmer en langage machine sur un Z80 et pas en assembleur. Je chipote peut-être, mais contrairement à ce vous affirmez, le seul langage compris par un microprocesseur est le langage machine, le binaire quoi, et pas le langage d'assemblage Ce dernier a besoin d'un traducteur comme vous le savez pour être exécuté: l'assembleur.

    Mais admettons la convention (fausse) mais utilisée de fait de parler d'assembleur pour le langage machine. J'ai donc fait le tour des Z80, 6502, 68000, 8086 et autres µC de l'époque en assembleur et je ne le regrette pas.
    Pour moi, faire de l'assembleur est une étape qui permet de vraiment "sentir" le fonctionnement du µC. Mais tous les amateurs qui ont effectué le saut au langage C (je sais, c'est dur) ne le regrettent pas et ne reviennent pas en arrière.

    Il faur savoir à qui l'on s'adresse finalement: il n'est pas envisageable d'apprendre le C en S, l'emploi du temps ne le permettant pas. L'usage de l'assembleur, voire du basic se justifie alors pour de petits programmes.

    Mais il doit rester bien peu de professionnels développant des applications en assembleur car c'est assez contre productif: le temps de développement en C est bien plus court.
    Quant à l'efficacité du code ... je me suis parfois amusé à étudier le code généré par le compilateur. Il ne sera jamais plus efficace que celui écrit par un BON programmeur en assembleur. Mais bien souvent personne n'aurait fait mieux.

    Le bons compilateurs permettent aussi de favoriser la taille ou la rapidité d'exécution du code.

    Mais sur le fond, a-t-on souvent besoin de passer des heures à optimiser une routine qui va nous permettre de gratter quelques % ? Ca arrive rarement. J'en parle dans une autre discussion: le cas s'est présenté avec un calcul de FFT où j'ai dû optimiser mes algorithmes () en assembleur, mais le cas est exceptionnel.

    Si je veux gagner ces quelques % et que j'ai le choix du µC, j'en prends un plus puissant. Economiquement ça ne me coutera guère que quelques centimes de plus, et que de temps gagné en développement au final.

    Pour résumer et ne pas se disperser pour la suite de la discussion: parlons-nous de l'initiation à la programmation sur µC ou du développement d'applications industrielles?

    Dans le 1er cas, votre méthode est adaptée, dans le second elle ne me le semble pas.

    Cordialement

  20. #16
    gedonet

    Re : programme pour pic 16f84 aider moi SVP

    Citation Envoyé par pont2 Voir le message
    Si vous permettez, Gedonet, un conseil pour votre étude: avoir en main la datasheet de Microchip, c'est l'outil de référence. Il faut aussi, connaître le début avant programme, ensuite pas se lancer dans une application, mais visiter le PIC, c'est à dire d'abord les sorties, puis les entrées, puis le sleep, le timer, le watchdog, etc
    Bonjour
    Je te remercie pour le conseil que j'avais bien assimilé puisque pour le 16F88 et quelques autres pics, il se trouve que je suis la personne qui a ecrit le fichier maquette que Bigonoff propose sur son site, troisieme sujet de la rubrique "Trucs, astuces, et aides" et qui entre autre evite aux utilisateurs de toujours chercher le rôle de chaque bit ou registre dans le datasheet.
    Pour les routines, aussi j'ai un certain nombre d'exemplaires que j'ai ecrites ou trouvées tres bien faites, il faut que je trouve le temps de les regrouper un jour sur mon site en plus de celles que je propose deja: http://gedonet.free.fr/aide_pic/aide_pic.htm .
    Gilles

  21. #17
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Gedonet,
    J'ai regardé, et imprimé votre "feuille-maquette" du PIC88 qui m'intéresse, et c'est carrément du super costaud avec vous, DOUZE pages de début de programme, avant que le vrai programme d'actions ne commence!
    Vous avez passé en revue d'un coup toutes les possibilités d'utilisation du PIC88, c'est impressionnant; merci de m'avoir fait voir cela; comme vous dites avec humour:<avec ça, on n'a plus besoin de consulter la data-sheet>. c'est vrai.
    . . Je souhaite que les vrais débutants regardent cela, et nous en fassent partager leurs impressions, j'espère qu'ils seront tous enchantés de cette solution.
    pont

  22. #18
    invite03481543

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour,

    Jack a bien résumé la différence entre faire découvrir un µC et exploiter de manière industrielle un tel composant.
    Les contraintes sont très différentes.
    Pour cela il faut connaitre aussi l'autre coté du mirroir à savoir comment structurer sa pensée pour raisonner comme si on était dans une usine où l'on doit organiser un ensemble de tâche afin que soit réaliser des actions simples et efficaces.
    Il ne suffit pas d'enseigner depuis 10 ans les méthodes d'apprentissages qui dépendent de l'auditoire et du but pédagogique recherché pour prétendre détenir LA méthode infaillible, il faut avoir aussi une vision industrielle de ce que l'on attend d'un futur développeur pour compléter sa formation.
    C'est notre rôle lorsqu'on forme des jeunes en alternance ou en stage, et on voit que les connaissances sont là mais pas les méthodes très souvent.

    Bigonoff dans son exposé permet d'amener pas à pas un novice à la découverte d'un PIC, pour cela il utilise l'assembleur ce qui permet d'être en prise directe avec les ressources internes et de faire toucher du doigt des finesses qui n'apparaitrait pas à priori au travers d'un langage évolué.
    Cette démarche est en gros du prémâchage, qu'un professionnel avertit effectue automatiquement en consultant la doc constructeur du composant, Bigonoff exprime cette démarche afin de permettre à un béotien de découvrir ce qu'est un registre, un bit, un timer, etc.
    Il le guide dans cet univers en forme de labyrinthe et dont les mécanismes sont opaques.
    Quand on connais déjà cela, on vois les choses de manière transparente, et on utilise une couche supérieure pour une meilleure efficacité, le langage évolué.

    Un programmeur quel qui soit pour être efficace, doit déjà avoir assimilé l'ensemble des instructions, identifié et compris tous les registres internes de son µC, c'est la base indispensable pour faire un travail efficace.
    Ensuite connaitre parfaitement son outil de développement (IDE), son compilateur et bien sûr le langage qui va être employé et adapté à la situation.

    Revenons un peu à l'algorithmique, qui finalement est là où le bas blesse la plupart du temps.

    Lorsqu'on débute en programmation, on apprend vite qu'un programme à un début et une fin, que la machine doit dérouler des actions préprogrammées et faire des choix prédeterminés à certains moment.
    Donc ces séquences sont construites selon une logique ou des évènements qui sont et doivent être parfaitement définis à l'avance (sans quoi on abouti sur des séquences indéterminées qui finissent en aléa de fonctionnement).
    Selon la complexité du code à fournir pour donner vie à l'ensemble on décompose en fonctions élémentaires chaque début et fin d'action selon les données entrantes et sortantes.
    Le déroulement du programme principal ou interruptif permet d'articuler la cohésion de l'ensemble.
    Il n'est pas rare de voir des programmes débutant avec un main() indescriptible contenant plus de 1000 lignes de programmes, c'est absolument à proscrire.
    Le rôle des fonctions et des interruptions est justement de décrire et de cadencer les actions afin de pouvoir suivre clairement un processus en aillant pris soin de documenter (commenter) chaque ligne.
    Plusieurs programmeurs travaillant en équipe peuvent ainsi se comprendre et rendre efficace leur travail, sans parler du SAV par d'autres intervenants futurs.
    L'algorithmique en devient plus simple, puisque partant du principe que "ce qui se conçoit bien s'énonce clairement", on établi de manière graphique un arbre d'évènements qui tel un schéma électrique permet de comprendre un processus même (et surtout) complexe.
    L'algorithme est le fil rouge à suivre pour faire apparaitre la structure à mettre en oeuvre, c'est le canevas du programme.

    Bien sûr avec l'expérience, et selon la complexité du code à réaliser, on ne fait pas toujours cet algorithme, de même que pour un routage on ne fait pas forcément un brouillon sur une feuille, l'habitude fait que l'on arrive à "visualiser" dans son esprit la bonne démarche du 1er coup.
    Il y a des gens qui savent faire un courrier au propre directement et d'autres qui feront trois brouillons pour arriver au même résultat, tout est ici affaire de facultés ou d'adaptation.
    On pourrait dire que l'algorithmique est un moyen efficace de mettre à plat un problème donné, il permet de mettre en place la trame du raisonnement.
    Quand on ne parvient pas à décrire graphiquement cet algorithme c'est que le raisonnement n'est pas suffisamment structuré ou mûr, c'est incontournable.

    Le résultat du code sera de type spaghetti les 3/4 du temps.
    A+

  23. Publicité
  24. #19
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Jack,

    Il n'est pas question de fabriquer un matériel industriel dans un lycée classique, il s'agit d'une initiation, que l'on cherche la plus agréable, à travers des petits exercices portant sur des choses que tout le monde connaît: le vrai clignotant spécial de bus à 2 ampoules, des vraies pas des leds, le portail automatique, le code secret de serrure de chambre (gros succès!), le journal lumineux (où chacun peut raconter ce qu'il veut, même des blagues sur le prof), l'ascenseur, la perceuse automatique avec avance barre, le testeur de réflexes au millième de seconde. On cherche à s'amuser, mais mine de rien on apprend la programmation structurée, les tableaux à 1 et 2 dimensions, et tout ce qui est nécessaire à faire pour que ça marche, sans compter les interfaçages d'entrée et de sortie, savoir faire tourner un petit moteur pas à pas, (source de belles rigolades aussi). Un lycée n'est pas une école d'ingénieurs, mais j'ai eu des échos que d'anciens élèves à moi, bacheliers S partis dans le supérieur étaient très déçus du niveau de l'informatique qu'on leur servait, la continuité n'était pas assurée.
    . . Car il y a deux choses que l'on a tendance à confondre: ce qu'on voit cache ce qu'il y a derrière. Mais un spécialiste, comme vous peut-être, ne s'y trompe pas: à l'exposition EXPOSCIENCE96, qui était dans notre ville, tous les lycées et écoles primaires ont été priés de présenter un projet innovant, mais souvent les chefs d'établissement bloquaient l'invitation, j'ignorais la chose, et le nôtre s'est débarrassé de cette encombrante invitation dans les mains du chef des travaux, qui n'était pas concerné, cela s'adressait à des secondes, et il n'avait que des BTS béton et TP, et pour s'en débarrasser à son tour, me rencontrant dans la cour, il me tend le papier et me dit:<c'est pour vous, débrouillez-vous-en>. Je regarde ça, je rentre dans la classe, et je demande: <qui est intéressé pour présenter à Exposcience un de nos TP?> Personne! Je questionne:<vous ne les trouvez pas bons, pas montrables?> La réponse globale, ce n'est pas ça, c'est la peur de se trouver en public, de répondre à des questions. Et je leur ai dit:<je vais arranger ça, vous n'aurez plus peur et vous en savez assez pour répondre à toutes les questions, il m'en faut 10, 2 par jour il y a 5 jours> Je les ai eus et on s'est mis au travail, pour créer notre stand. Et les gars, une fois le départ terminé, ont été des présentateurs excellents, bourrés de renseignements qu'ils ne s'imaginaient pas avoir dans la tête, expliquant les schémas affichés en grand, démontrant les 4 maquettes montées en application d'un APS (Automate Programmable Scolaire) de notre imagination et fabrication, (singeant un API) et on a eu le plus gros succès de l'expo, et de loin, il y avait jusqu'à 3 couches de personnes, sur 6m de large car notre stand étant en angle on avait 2 façades ouvertes. Seulement 2 gars pour servir tout le monde qui voulait voir les démos, c'était limite aussi ont-ils fait venir et former frères et soeurs, ce qui fait que j'ai vu officier des nanas inconnues extraordinaires de beauté qui expliquaient comment ça marchait comme si elles avaient été mes élèves, et le pire, cela a été un petit gosse, un petit frère d'un des miens, un élève de 5e, et il savait aussi!Le champion. Mon cours servait pour toute la famille apparemment. Donc cela a été la fiesta tous les 5 jours, et je regardais de loin pour en cas d'incident qu'il n'y a pas eu, j'ai visité les autres stands, et il y a eu deux évènements: je ne parle pas des visites officielles de mon lycée, de l'inspection, des collègues, mais autre chose: un monsieur en noir, qui a avisé que je n'étais pas très loin à surveiller, s'approche et se présente;<je suis Monsieur X, ingénieur électronicien, et je fais de la conception de cartes, pour xxx, et j'ai regardé vos schémas affichés, et la réalité qui correspond bien, et malgré ça, je vous avoue que pour moi ça ne devrait pas marcher!> Et je lui ai répondu:<en confidence, pour moi non plus, et j'ai soumis le schéma à des collègues, ils ont été unanimes à dire que ça ne marcherait pas. Mais quand je leur ai demandé pourquoi, alors là, personne ne pouvait me le dire, c'est pourquoi j'ai tenté le coup, et jusqu'à présent il n'y a pas eu de défaillane sur les 4 exemplaires faits, ça marche, cela vient forcément des circuits internes du µC, un décalage d'horloge entre signaux par exemple> et cet ingénieur est parti.Et le lendemain un 2e, plus virulent:<Je suis l'ingénieur en Chef directeur du service de fabrication élecronique pour l'armée, situé à X, et d'après moi ce n'est pas possible que votre matériel marche!> Et il m'a cité ce qui le chiffonnait j'ai bien vu que ce n'était pas un bluffeur, mais je n'y pouvais rien, je lui ai dit qu'il y avait tant de circuits bien conçus qui refusaient de marcher, que pour une fois le hasard fait que c'est le contraire, on ne va pas s'en plaindre, surtout avec la constance des résultats, ça marche, c'est bon, mais on ne connaît pas l'explication théorique.
    Le résultat au niveau des élèves qui avaient tout programmé, et progrement, en assembleur, il était évident qu'ils étaient bien préparés pour continuer, et je n'ai jamais dit qu'on faisait du matériel industriel, on s'amusait, mais avec du résultat. En plus l'expo leur a été une très bonne formation à parler en public, cela les a changés.
    Cordialement
    pont

  25. #20
    Jack
    Modérateur

    Re : programme pour pic 16f84 aider moi SVP

    Nous sommes donc bien d'accord alors. Tout dépend des objectifs que l'on se fixe. Je voulais juste faire la part des choses.

    Félicitation en attendant pour la motivation que vous provoquez chez vos élèves. Si ça pouvait susciter des vocations, ce serait formidable car les études scientifiques n'enthousiasment plus autant qu'il y a quelques années.

    Votre aventure avec les ingénieurs électroniciens me font penser à cette citation dont je ne connais pas l'auteur:

    "La théorie, c'est quand ça devrait marcher et que ça ne marche pas. La pratique, c'est quand ça ne devrait pas marcher et que ça marche."

    Heuuuuu ! On peut voir le fameux schéma qui marche mais qui ne devrait pas?

  26. #21
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Jack,

    Je suis heureux que vous soyez d'accord.
    Et je ne connaissais pas la citation humoristique que vous apportez, merci.

    . .La vocation pour être ingénieur, ils l'avaient tous et toutes, mais les parents sans le sou et autres contingences... moi aussi je voulais être ingénieur électricien, je n'ai pas pu, Mais quelques uns le sont.
    Mais en ce qui concerne la motivation scolaire, dans chaque discipline, français, maths, physique, il y a moyen de présenter les affaires de façon agréable, les élèves ne sont pas des seaux à remplir. Et ce n'est pas une affaire de sourire, de talent de scène; on le sent bien dans mes textes, je suis plutôt de style bourru, exigeant, le travail est dur, mais qu'est-ce que je donne? Voilà ce que l'élève se dit.
    Par ex le code secret de serrure de chambre, combien avaient soit une caisse, soit la chambre à protéger du grand ou du petit frère? Il y avait aussi possibilité d'utilisation pour leur portail pour faire plaisir à leur papa. Tout d'un coup ils se sentaient des pouvoirs extraordinaires, avec une gâche électrique, c'est le plus simple, une impulsion et c'est ouvert, et la fermeture est automatique sans changer la serrure. Vous croyez qu'ils n'étaient pas attentifs? Plusieurs m'ont dit avoir installé des rideaux automatiques commandés par le soleil. Un de 14 ans a carrément construit une pièce à lui dans la cour de ses parents et tout automatisé ou commandé, porte qui s'ouvre seule etc...il m'a fait visiter.
    . .En cours, 4H de travail en suivant, et de travail style usine à la chaîne, et à 10h, à la récré, qui sort? C'est moi, et je laisse la porte ouverte, personne, ou 1 ou 2 sortent au WC et reviennent de suite. Quand je reviens, à la sonnerie, au lieu de mon groupe de 16 élèves, il y en a des fois une dizaine en plus, d'autres classes, venus voir, et qui disent en partant:<si j'avais su je serais venu dans cette classe> !
    . .Tout était différent chez moi, même la notation des travaux, ça je m'en rappelle.
    . .En ce qui concerne le fameux schéma qui ne devait pas marcher, et même tout mon cours d'assembleur, je n'ai pas gardé de documents, c'est dommage et de toute façon, cela ne pourrait plus servir maintenant car Motorola a abandonné depuis longtemps ce µC, et les PICs sont beaucoup plus puissants, sans recourir à des astuces, il ne faut pas avoir de regrets, il faut repartir à zéro, d'ailleurs je ne m'en rappelle plus le principe, je crois que la réaction de ces 2 ingénieurs était principalement liée au fait que ce µC n'était pas de style industriel, donc nul dans leur esprit, et ils étaient surpris de voir ce que j'en tirais. Le schéma je le faisais, mais la programmation c'étaient les élèves, l'interfaçage aussi, à eux de calculer un ou 2 transistors, ou de mettre un ULN2803, ils avaient appris les rudiments. Et ce vilain petit moteur pas à pas qui s'obtinait à tourner à l'envers! Car je ne donnais pas la séquence. En faisant rigoler ceux des groupes voisins. N'empêche qu'on a réussi à sortir la Marseillaise! ! ! sur un petit HP de quelques cm. C'est possible, je vous le garantis, succès assuré. Et pour ce petit bricolo, il faut tout de même créer un tableau dynamique des notes. Rien de compliqué.
    Je ne pense pas que les jeunes soient moins intéressés par les sciences maintenant, ce qu'il faut c'est s'intéresser à eux, faire des vrais cours créatifs..des exerices "vrais". et il faut organiser des visites.
    Cordialement
    pont

  27. #22
    Gérard

    Re : programme pour pic 16f84 aider moi SVP

    Tu es bien fort : personne ne sait pourquoi et poutant ça fonctionne.
    Peux-tu donner le schéma de ce qui ne devait pas marcher ?

    Je suis un peu surpris.

  28. #23
    gedonet

    Re : programme pour pic 16f84 aider moi SVP

    Citation Envoyé par Jack Voir le message
    "La théorie, c'est quand ça devrait marcher et que ça ne marche pas. La pratique, c'est quand ça ne devrait pas marcher et que ça marche."
    Bonjour
    J'avais une autre version de ton "theoreme" attribuée à Albert EINSTEIN:
    "La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi"
    et un anonyme a ajouté:
    "Ici, nous faisons un subtil mariage de la théorie et de la pratique: rien ne fonctionne et personne ne sait pourquoi ".
    Une autre sentence dans le même genre que j'adore:
    "La personne qui affirme qu'il n'est pas possible de faire une telle chose ne devrait pas interrompre l'autre personne qui est en train de la faire."
    Gilles

  29. #24
    pont2

    Re : programme pour pic 16f84 aider moi SVP

    Bonjour Gérard,

    Je ne suis pas "fort", c'est un coup de chance qe j'ai eu, il y a 10 ans maintenant et je n'ai aucun document sur toute la formation que j'avais mise en place, ce qui s'explique par ma façon de faire un peu spéciale: je ne fais pas de cours, je donne un travail à faire, et j'attends. (pas difficile le boulot de prof!) Et donc les élèves commencent le travail avec les seules connaissances de programmation venant des exercices précédents, et à un moment ils calent, et pas tous en même temps, donc quelques uns m'appellent, quand il y en a 6 bloqués, j'interromps le travail de tout le monde, ils prennent le cahier et je donne oralement au tableau le complément nécessaire pour débloquer cet exercice, c'est donc là que se fait leur avancement en programmation, donc ils sont demandeurs, ils veulent que je les libère, et du coup avalent très facilement des éventuelles notions difficiles qui ne les intéresseraient pas du tout si je les assénais à priori dans un cours présenté de façon classique.
    Mais je n'ai aucune trace papier. Et ce µC a disparu, maintenant c'est le PIC, il faut repartir à zéro (voir l'excellent cours de M. Bigonoff)


    Bonjour Gedonet, ton message est extraordinaire, et je vais l'afficher dans mon petit labo. Comme je lis de vieux livres des débuts de la radio, je vois qu'ils se plaignaient déjà de fonctionnements bizarres, à l'envers de ce qu'on attend, et même le même montage, qui marche bien sur la table, se sent claustrophobe dans une boîte et refuse tout service. Et un circuit qui cesse toute induction à un mètre se fait entendre à 1.000km, n'est-ce pas extraordinaire?

    Cordialement - pont

  30. Publicité
  31. #25
    freepicbasic

    Re : programme pour pic 16f84 aider moi SVP

    Citation Envoyé par gobgob69 Voir le message
    bonjour a tous
    je doit realiser un programme pour un pic 16f84 mai j arrive po du tout mon sujet es le suivant si vou pouver maidez SVP

    je doit faire fonctionner 10 leds avec 3 mode de fonctionnement:
    - defillements des leds
    - clignotement des leds en mm temps
    - et fonctionnemen mixte
    mai aussi 3 vitesses de defilemen ou clignottemen possible

    le selection des mode se fai par un bouton poussoir meme chose pour la vitesse
    et je doi pouvoir modifier le mode et le vitesse a tout moment

    si vous pouvez maider sa serai vraimen super merci davance a bientot

    exercice sur Flowcode avec les diagrammes le source fcf le source C et le .hex
    Images attachées Images attachées
    Fichiers attachés Fichiers attachés
    A+, pat

  32. #26
    freepicbasic

    Re : programme pour pic 16f84 aider moi SVP

    je n'ai mis que 8 leds sur le port B.
    Les 3 du portA indique la fonction en cours.
    Les boutons ont 200ms d'anti rebonds , ils sont actifs positivement , il faut des résistances de rappel à la masee.
    La vitesse est x 4 à chaque fois pour être visible sinon on a du mal à voir le changement.
    Pour le chenillard c'est K2000 et pour la fonction 2 le même mais avec un clignotement sur la Led allumé et fonction 3 tout clignote.
    A+, pat

  33. #27
    freepicbasic

    Re : programme pour pic 16f84 aider moi SVP

    A+, pat

  34. #28
    freepicbasic

    Re : programme pour pic 16f84 aider moi SVP

    Citation Envoyé par pont2 Voir le message
    . .La vocation pour être ingénieur, ils l'avaient tous et toutes, mais les parents sans le sou et autres contingences... moi aussi je voulais
    Maintenant le problème est politique , ingénieur pour le moment ça ne sert plus à rien , tant qu'on cassera et pillera toutes les entreprises...



    . .En ce qui concerne le fameux schéma qui ne devait pas marcher, et même tout mon cours d'assembleur, je n'ai pas gardé de documents, c'est dommage et de toute façon, cela ne pourrait plus servir maintenant car Motorola a abandonné depuis longtemps ce µC, et les PICs sont beaucoup plus puissants, sans recourir à des astuces, il ne faut pas avoir de regrets, il faut repartir à zéro, d'ailleurs je ne m'en rappelle plus le principe,
    faux.
    Les notions de programmation sont valable d'un processeur à l'autre.
    Et certains même adaptent des codes Motorola, Zilog ou Intel qu'ils connaissent bien en code pic comme avec l'assembleur Parallax.
    Les macros des assembleurs sont fait pour ça .


    je crois que la réaction de ces 2 ingénieurs était principalement liée au fait que ce µC n'était pas de style industriel, donc nul dans leur esprit, et ils étaient surpris de voir ce que j'en tirais. Le schéma je le faisais, mais la programmation c'étaient les élèves, l'interfaçage aussi, à eux de calculer un ou 2 transistors, ou de mettre un ULN2803, ils avaient appris les rudiments.
    Des jeunes diplômés, pas sur qu'ils soient opérationnels , il suffit de faire un recrutement qui se transformera en un parcours du combattant afin d'en trouver un seul opérationnel... (du vécu.)

    Et ce vilain petit moteur pas à pas qui s'obstinait à tourner à l'envers! Car je ne donnais pas la séquence. En faisant rigoler ceux des groupes voisins. N'empêche qu'on a réussi à sortir la Marseillaise! ! ! sur un petit HP de quelques cm. C'est possible, je vous le garantis, succès assuré. Et pour ce petit bricolo, il faut tout de même créer un tableau dynamique des notes. Rien de compliqué.
    Je ne pense pas que les jeunes soient moins intéressés par les sciences maintenant, ce qu'il faut c'est s'intéresser à eux, faire des vrais cours créatifs..des exercices "vrais". et il faut organiser des
    ici on parle code !
    pas bla bla...
    Des anecdotes on en a tous des valises pleines...
    A+, pat

  35. #29
    Gérard

    Re : programme pour pic 16f84 aider moi SVP

    Citation Envoyé par freepicbasic Voir le message
    exercice sur Flowcode avec les diagrammes le source fcf le source C et le .hex

    Le monsieur a dit que Flowcode ce n'est pas programmer.
    Lui, il avait tout ... mais pas de preuve !

  36. #30
    freepicbasic

    Re : programme pour pic 16f84 aider moi SVP

    Comme d'hab on a l'impression que ça n'interesse personne ,
    le fait de proposer une solution devrait engendrer une cascade de questions,
    mais non ...
    On a l'impression que puisque ça fonctionne tout est dit, ce qui m'interresse c'est le comment ça fonctionne, et non pas le fait d'avoir une version qui tourne .
    La différence entre le passionné et l'étudiant je m'en foutiste qui coure après sa note...
    A+, pat

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. [Biologie Cellulaire] Aider moi svp! J'ai un gros problème pour ce devoir. merc
    Par Missize dans le forum Biologie
    Réponses: 8
    Dernier message: 11/11/2007, 15h43
  2. aider moi svp
    Par yann137 dans le forum Électronique
    Réponses: 13
    Dernier message: 08/01/2007, 00h57
  3. Aider moi pour le chgmt de IC2 M24c32. svp
    Par jeanbaba dans le forum Dépannage
    Réponses: 4
    Dernier message: 21/10/2006, 20h52
  4. programme en C pour pic 16F84
    Par le fouineur dans le forum Électronique
    Réponses: 14
    Dernier message: 20/04/2006, 14h36
  5. besoin d'aide pour programme d'un pic svp
    Par Cloudboy dans le forum Électronique
    Réponses: 34
    Dernier message: 06/02/2006, 21h37
Découvrez nos comparatifs produits sur l'informatique et les technologies.