Probleme de programmation d'un pic16f45k20
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Probleme de programmation d'un pic16f45k20



  1. #1
    invite57f687c2

    Probleme de programmation d'un pic16f45k20


    ------

    bonjour,

    j'aimerai faire un programme qui me permet quand j'appuie sur un bouton poussoir ca active une première sortie pendant 1s, a la deuxième impulsion que ca soit une deuxième sortie.....etc jusqu'à 16 sortie. j'aimerai aussi adresser mes micro-contrôleur pour que l'une fois que les 16 sortie ont été déclenche que ca passe a un autre.

    je débute dans la programmation des pic et j'ai trouvé un début de code mais ca tourne en boucle sur un seul port.


    Code:
    #include "p18f45k20.h"
    #include "delays.h"
    #include "04 Switch Input.h"  // header file
    
    /** V A R I A B L E S *************************************************/
    #pragma udata   // declare statically allocated uinitialized variables
    unsigned char LED_Displays;  // 8-bit variable
    /** D E C L A R A T I O N S *******************************************/
    #pragma code    // declare executable instructions
    
    void main (void)
    {
        unsigned char Switch_Count = 0;
    
        LED_Displays = 0;
        // initialize
    
        TRISD = 0b00000000;
        TRISC = 0b00000000; // PORTD bits 7:0 are all outputs (0)
    	INTCON2bits.RBPU = 0;		// enable PORTB internal pullups
    	WPUBbits.WPUB0 = 1;			// enable pull up on RB0
        ANSELH = 0x00;              // AN8-12 are digital inputs (AN12 on RB0)
        TRISBbits.TRISB0 = 1;       // PORTB bit 0 (connected to switch) is input (1)
     
        while (1)
        {
            LATD = LED_Displays;// output LED_Display value to PORTD LED
            LED_Displays <<= 1;
            // rotate display by 1
                if (LED_Displays == 0)
                    LED_Displays = 1;    // rotated bit out, so set bit 0
    
    
            while (Switch_Pin != 0);// wait for switch to be released
    
            Switch_Count = 5;
            do
            { // monitor switch input for 5 lows in a row to debounce
                if (Switch_Pin == 1)
                { // pressed state detected
                    Switch_Count++;
                }
                else
                {
                    Switch_Count = 0;
                }   
                Delay10TCYx(25);    // delay 250 cycles or 1ms.
            } while (Switch_Count < DetectsInARow); 
               
        }
    }
    si quelqu'un d'entre vous peut m'aide ca serai très gentil

    Merci d'avance

    -----

  2. #2
    Forhorse

    Re : Probleme de programmation d'un pic16f45k20

    Vu l’extrême simplicité de ce que tu veux faire tu as tout intérêt à utiliser des registres à décalage plutôt que plusieurs µC, d’ailleurs un µC est très loin d'être indispensable pour ce que tu veux faire
    Tout projet flou conduit à une connerie précise !

  3. #3
    invite57f687c2

    Re : Probleme de programmation d'un pic16f45k20

    peut tu me dire comment faire des registre de décalage car je ne vois pas trop étant donner que je débute

    Merci

  4. #4
    invite4e4527c6

    Re : Probleme de programmation d'un pic16f45k20

    Bonjour

    tu commences avec les pics, comme moi.

    J'utilise le PICKIT3 avec le pic18f45k20 sur la carte cible.

    A mon avis Commence par allumer une LED puis fais de plus en plus compliqué c'est comme ça que je fais j'en suis à me débattre avec la mise en marche du timer 0 mais je sais utilisé le bouton poussoir de ma carte cible ainsi que le potard j'arrive même à utiliser le convertisseur analogique digital et tout ça en C.

    Un registre à décalage est une puce ou un programme qui permet de garder en mémoire l'état de ton système en général la sortie pour que tu puisses le réutiliser en début d'étape suivante.

    Celui qui t'as répondu n'as pas compris que tu débutais ou a oublié combien les débuts surtout avec les controleurs peuvent être compliqués.

    Bon site pour débutant : BIGONOFF http://www.abcelectronique.com/bigonoff/pour les pics et pour le C : http://www.siteduzero.com/ lesiteduzero est pas mal.

    Bon courage

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

    Re : Probleme de programmation d'un pic16f45k20

    Salut,

    Il existe un kit composé du Pickit3 et d'une carte utilisant le PIC18F45K20.
    Cette carte est fournie avec des tutoriels en anglais (une douzaine je crois) pour les débutants.
    Tu peux télécharger ces tutoriels ici : http://www.microchip.com/pickit3 ( à la fin de la page).

    Je te recommande de commencer par cela si tu veux te mettre aux PICs avant de piocher au hasard des morceaux de code que tu ne comprends pas et que tu n'arriveras donc pas à modifier...

    a+

Discussions similaires

  1. probleme de programmation d'un PIC 16F877A !!
    Par invite1bbe5889 dans le forum Électronique
    Réponses: 9
    Dernier message: 25/04/2012, 21h07
  2. Problème pour la programmation d'un microcontroleur atmel
    Par invite97bfe037 dans le forum Électronique
    Réponses: 0
    Dernier message: 13/12/2011, 20h18
  3. Probléme de programmation d'un systéme d'acquisition
    Par invite1114c57b dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 06/04/2009, 10h55
  4. Probleme programmation d'un port parallele
    Par invite0f7a3b8d dans le forum Électronique
    Réponses: 9
    Dernier message: 11/08/2008, 10h18
  5. problème programmation d'un pic 16F876A
    Par invite7304b6e0 dans le forum Électronique
    Réponses: 14
    Dernier message: 29/08/2007, 16h18
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...