Générateur d'impulsion pic16f887.
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Générateur d'impulsion pic16f887.



  1. #1
    invitef09913aa

    Générateur d'impulsion pic16f887.


    ------

    Bonjour futura-sciences, je vous souhaite une bonne année.

    Je suis un débutant dans la programmation du pic (code assembleur).J'ai réaliser un petit programme qui peut générer un signal d'impulsion à l'aide des temporisation; je calcul d'abord le temps de cycle(4/Fosc), après la période du signal mais à la fin j'obtient un signal qui n'est pas tout exact à la fréquence que je veux.

    Exemple: (f=659 HZ)

    Tcycle=4/ 8MHZ, (Fosc = 8MHZ) = 0,5us.

    T=1/f=1,51745 ms, implique: temps pour une impulsion: Timp= T/2 =0,758.. ms

    la formule de la fonction de tempo2 ; T2=(770.W+7).cycle ; implique
    W=1,96... donc je prend w=1
    La question est ce qu'il y a une autre méthode pour avoir un signal de fréquence exact sans faire tout ce calcul. Ou une fonction que je la donne la fréquence et elle me retourne un signal exact??

    J'ai besoin d'aide S.V.P. Merci d'avance et je suis désolé pour les fautes d'orthographe.

    -----

  2. #2
    RISC

    Re : Générateur d'impulsion pic16f887.

    Salut,

    Un conseil pour cette nouvelle année...apprendre le langage C ou mieux...l'utiliser si tu le connais.
    Ce que tu essayes de faire est compliqué et pourrait être simplifié en utilisant un langage plus évolué comme le C...surtout que le compilateur XC8 pour ton PIC existe en version gratuite et non limitée en taille de code ni en temps.

    Je te conseille d'utiliser l'unité de COMPARE (dans le périph CCP) qui est tout à fait indiqué pour ton besoin ;=)

    a+

  3. #3
    invitef09913aa

    Re : Générateur d'impulsion pic16f887.

    Merci RISC pour ta réponse.

    Pour le langage C, je le maîtrise très bien. J'ai programmé sur Mikroc, en utilisant des fonctions prédéfinies.
    Prenant la fonctions Sound_play() [chapitre 7 de Manuel]. On la donne comme paramètres la fréquence et la durée.

    Sur MPlab avec l'assembleur je peux pas générer une fréquence exact.
    Est ce que je peux avoir une définition de la fonction Sound_play() et Delay_cyc et comment peuvent-elles générer une fréquence exact!!????

  4. #4
    RISC

    Re : Générateur d'impulsion pic16f887.

    Salut,

    Je n'utilise pas MikroC mais seulement XC8 car il existe en version gratuite.
    Les librairies dont tu parles sont spécifiques à MikroC et je doute qu'il donne le source de leurs lbrairies...
    Pour XC8, toutes les sources des librairies sont disponibles dans ce répertoire :
    c:\Program Files (x86)\Microchip\xc8\v1.12\sour ces\

    Tu peux télécharger la documentation de XC8 et jetter un oeil pour voir si tu trouves une librairie utile.

    a+

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

    Re : Générateur d'impulsion pic16f887.

    Il serait bon de répondre à la question sans faire de la retape systématique pour les outils de Microchip.
    Ce sera le dernier avertissement, la prochaine fois je benne directement.
    C'est aussi ca la nouvelle année, finie la tolérance de 2012... et place aux nouvelles résolutions.

  7. #6
    invite03481543

    Re : Générateur d'impulsion pic16f887.

    Bonjour,

    faire une fonction de sons en C est à la portée d'un débutant, il faut juste s'en donner la peine, quelque soit le compilateur que tu choisiras.
    Je te suggère d'ouvrir la doc de ton PIC et d'y regarder comment générer des signaux avec les timers par exemple.
    C'est aussi comme ça que l'on découvre son µC.

    Pour en revenir à MikroC sans avoir la librairie publique tu peux néanmoins lire le code assembleur généré, c'est largement suffisant.

    @+

  8. #7
    invitef09913aa

    Re : Générateur d'impulsion pic16f887.

    Merci les gars pour vos réponses, je vais faire un effort.

    J'ai une question à propos la fréquence de pic, Fosc. Est ce qu'elle affecte d'une manière ou d'autre sur le signal que j'obtient à la sortie?

  9. #8
    invite03481543

    Re : Générateur d'impulsion pic16f887.

    Fosc est la frequence du quartz par exemple 4MHz, celle-ci est divisee par 4 pour avoir la frequence d'horloge du PIC, reference de temps des timers que tu vas utiliser.
    Avec mon exemple a 4MHz cela te donne un temps de cycle de 1 micro seconde (Tcy).

    Je ne sais pas si j'ai bien compris ta question mais dans l'absolu si ta frequence de reference bouge la frequence qui sera generee par le timer bougera egalement.
    Elle n'a pas a bouger perceptiblement avec un quartz a temperature quasi constante.
    Dernière modification par HULK28 ; 03/01/2013 à 01h01.

  10. #9
    invitef09913aa

    Re : Générateur d'impulsion pic16f887.

    Tu m'as bien compris. Merci sincèrement.

Discussions similaires

  1. Générateur d'impulsion
    Par invite37c637c9 dans le forum Électronique
    Réponses: 8
    Dernier message: 09/08/2010, 21h08
  2. Générateur d'impulsion...
    Par invite144dfcb6 dans le forum Électronique
    Réponses: 3
    Dernier message: 26/10/2009, 07h28
  3. Générateur d'impulsion
    Par invite0c5905c1 dans le forum Physique
    Réponses: 2
    Dernier message: 05/11/2008, 14h17
  4. générateur d'impulsion
    Par invitebe1f6adb dans le forum Électronique
    Réponses: 2
    Dernier message: 18/12/2006, 21h34
  5. ...Générateur d'impulsion...
    Par invite436dc8ee dans le forum Électronique
    Réponses: 3
    Dernier message: 05/05/2006, 10h29
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...