Programmer un son en C sous MPLAB
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Programmer un son en C sous MPLAB



  1. #1
    invite99560aa4

    Programmer un son en C sous MPLAB


    ------

    Bjr à tous.
    S'il vous plaît, j'ai besoin dee savoir commment programmer un son sous MPLAB pour k'il puisse être émis par un sounder relié au PIC16F84A sous Proteus 7 Professionnal. C'est urgent si
    vous pouvez me repondre rapidement.

    MERCI D'AVANCE.

    -----

  2. #2
    lou_ibmix_xi

    Re : Programmer un son en C sous MPLAB

    lire la doc du convertisseur numérique analogique du pic, et puis se mettre au boulot... Rapidement si c'est urgent...

  3. #3
    invitececee792

    Smile Re : Programmer un son en C sous MPLAB

    Si tu veux programmer un son sur un sounder relié à une sortie RXi (X = A ou B) du PIC16F84,
    il faut que tu arrives à te représenter ce qu'est un son, et comment le générer.

    Un son (exemple : la note La (fréquence 440Hz, période (1/440)secondes)) numérique
    est un signal périodique envoyé sur le sounder. On synthétise ce signal en répétant à l'infini
    la suite d'instructions suivantes :

    a.- la sortie RXi est mise à l'état logique 1,
    b.- on l'y laisse pendant une demi-période (1.136 ms),
    c.- RXi est ensuite mise à l'état logique 0,
    d.- on attend pendant une demi-période (1.136 ms),
    e.- on reprend à partir de l'étape (a).

    On représente cette méthode sous-forme (par exemple) d'un pseudo-code :

    Debut
    Répéter à l'infini
    RXi = 1;
    Temps mort de durée 1.136 ms;
    RXi = 0;
    Temps mort de durée 1.136 ms;
    FinRépéter
    Fin

    La traduction en C est immédiate (à condition de maîtriser le langage C bien sûr).


    Quelques indications :

    - le X de RXi correspond à A ou B suivant que tu utilises la port A ou le port B;
    - pour réaliser un temps mort, tu as le choix entre

    * une boucle vide classique (la valeur initiale de comptage est choisie au "pif",
    puis tu ajustes par observation du signal généré sous le simulateur
    de MPLAB (MPLABSIM)),

    * l'utilisation du module Timer0 en mode compteur interne. La méthode utilisée
    s'appuie sur l'algorithme représenté ci-après, après configutation du Timer0
    (registre OPTION_REG : Horloge interne, PRESCALER) :

    Début
    T0IF = 0; // Effacer le bit de dépassement
    TMR0 = 256 - N; // Initialiser le compteur
    // où N est le nombre de "boucles" dont la durée totale est
    // égale au temps mort requis
    Attendre que T0IF passe à 1;
    Fin

    Voilà. Je te laisse le soin de te mettre à jour au niveau du cours sur le PIC16F84A
    parce qu'il va de soi que tout ce que je viens de t'exposer ci-dessus ne vient pas
    tout seul. Cela demande un travail personnel d'accaparation du cours, ainsi que de
    la compréhension du problème posé.
    Tout cela est utile si tu veux réussir dans la matière.
    Cherche la connaissance d'abord, tu auras forcément la reconnaissance (une bonne note)
    après.

  4. #4
    Jack
    Modérateur

    Re : Programmer un son en C sous MPLAB

    Citation Envoyé par lou_ibmix_xi Voir le message
    lire la doc du convertisseur numérique analogique du pic
    Le µC possédant un DAC sont assez rares. Çà m'étonnerait qu'un vieux coucou comme le 16F84 en possède un.

    A+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Programmer un PIC avec un Pickit 3 sans MPLAB
    Par maximilien dans le forum Électronique
    Réponses: 4
    Dernier message: 04/08/2010, 09h16
  2. MPLAB ICD3 court-circuite la carte : impossible de programmer!
    Par herrmattoon dans le forum Électronique
    Réponses: 3
    Dernier message: 03/07/2010, 09h26
  3. Programmer en C sur mplab?
    Par alex934mas dans le forum Électronique
    Réponses: 2
    Dernier message: 07/11/2009, 16h49
  4. Programmer en C sous Mplab.
    Par invite2a128a15 dans le forum Électronique
    Réponses: 10
    Dernier message: 01/12/2008, 10h12
  5. Réponses: 0
    Dernier message: 05/07/2008, 20h59
Découvrez nos comparatifs produits sur l'informatique et les technologies.