Documentation CC5X 16F877A
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 57

Documentation CC5X 16F877A



  1. #1
    invite01336075

    Documentation CC5X 16F877A


    ------

    Bonjour,

    Hier j'avais un problème pour compiler maintenant j'en ai d'autre..
    Déjà pour commencer j'arrive à compiler et à transmettre mon programme à ma carte (PICDEM 2 plus demo board) mais le programme ne s'exécute que si je débranche la carte de l'ICD.
    Mais bon comme sa marche si je débranche c'est pas trop grave mais bon je comprends pas..

    Ensuite j'arrive pas à programmer efficacement.. Je suis assez bon en C mais je ne connais rien concernant les PIC et CC5X.
    Je ne connais pas les commandes pour ouvrir un port, comment faire pour savoir quel port ouvrir?
    Par exemple comment faire un simple programme qui allume une DEL de ma carte quand j'appuie sur un bouton?

    J'ai cherché des documentations sur les PIC 16F877A (celui que j'utilise) mais je n'y comprend rien.. Si quelqu'un connait une documentation très bien faite qui explique tout ce qu'il faut savoir pour programmer une carte PICDEM 2 plus quand on sait faire des programme en C sa m'aiderait beaucoup !

    Merci d'avance,

    Groumpif

    PS : Je précise que j'utilise la dernière version de MPLAB.

    -----

  2. #2
    invite01336075

    Re : Documentation CC5X 16F877A

    Et j'ai aussi autre chose que je comprend pas.. C'est quand ma carte est branché à l'ICD, mon programme ne s'éxécute pas et par contre j'ai la DEL RB0 qui est allumé faiblement et quand j'appuis sur le bouton RB0 elle s'éteint. Et sa me le faisait pas au début, j'ai du faire quelque chose mais je sais pas quoi.

  3. #3
    Jack52

    Re : Documentation CC5X 16F877A

    Pour faire allumer une led si un bouton poussoir est "poussé"

    If (PortA.0==1)
    {
    PortA.1=1
    }

    A condition que ton bouton poussoir soit sur le bit0 du port A et que NL1 est celui que tu a quand tu appuie et que ta led soit sur le bit1 du port A et que ta led soit à Katode a la masse avec une résitance en série
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  4. #4
    invite01336075

    Re : Documentation CC5X 16F877A

    Si j'ai deux trucs sur le même bit?
    Parce que si je comprend bien ma documentation j'ai un bouton poussoir sur le bit 0 de PORTB et une del sur ce même bit.
    Et qu'est ce que tu veux pas dire par "et que NL1 est celui que tu as quand tu appuies"?

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

    Re : Documentation CC5X 16F877A

    Citation Envoyé par Groumpif Voir le message
    Déjà pour commencer j'arrive à compiler et à transmettre mon programme à ma carte (PICDEM 2 plus demo board) mais le programme ne s'exécute que si je débranche la carte de l'ICD.
    C'est un problème récurant de Mplab.

  7. #6
    Jack52

    Re : Documentation CC5X 16F877A

    Donne la documention !!

    Pour l'histoire du bouton, il faut savoir quel est le niveau logique au niveau de ton PIC quand tu appuie sur le bouton, sinon sa marchera à l'enver !!
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  8. #7
    invite01336075

    Re : Documentation CC5X 16F877A

    D'accord merci guizmo.

    Sinon voici la doc que j'ai trouvé :

    http://ww1.microchip.com/downloads/e...doc/39582b.pdf

    Mais bon c'est pour les PIC 16F87XA. C'est celui que j'utilise mais je sais pas si c'est tojours la même chose sur chaque carte.

    Ensuite je ne connais pas le niveau logique au niveau du PIC..

    Et pourquoi est ce que parfois j'ai des DEL qui s'allume plus que d'autres?

  9. #8
    Jack52

    Re : Documentation CC5X 16F877A

    Essai par si tu débute avec les pic sa peut être intéressant !
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  10. #9
    Jack52

    Re : Documentation CC5X 16F877A

    Sinon la doc du Pic je m'en badigeonne les testi****** ^^
    Je voulais celle de ta carte
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  11. #10
    invite01336075

    Re : Documentation CC5X 16F877A

    J'ai regardé ton lien mais il programme en asm et moi en C.
    Moi c'est surtout que j'ai du mal à comprendre la documentation une fois que j'aurais compris comment l'interpréter sa devrait commencer à aller mieux.
    Le problème c'est que sur internet il y a plus de monde qui s'y connait en electronique et qui veut apprendre le C que le contraire..

    Ah ben j'ai ça :

    http://ww1.microchip.com/downloads/e...ide_51275c.pdf

    Mais sa explique pas grand chose je trouve je cherche si je trouve pas autre chose.

  12. #11
    invite01336075

    Re : Documentation CC5X 16F877A

    Je pense que c'est tout ce qui il y a.. tu arrives à comprendre comment est fait la carte avec juste ça toi?

  13. #12
    Jack52

    Re : Documentation CC5X 16F877A

    Si tu te sert des shémas pages 23 et 24, tu arrive à savoir sur quel broche se trouve les éléments !
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  14. #13
    invite01336075

    Re : Documentation CC5X 16F877A

    Oui je m'en doute.. mais c'est justement ça le problème j'arrive pas trop à comprendre.. je vais essayer de regarder plus attentivement.

  15. #14
    invite01336075

    Re : Documentation CC5X 16F877A

    Par exemple le bouton S2 est relié à RA4. Et RA4 est le bit 4 de la PORTA. Donc par exemple si je veux allumer la DEL RB0 qui est sur le bit 0 de PORTB je suis sencé faire un truc comme ça :

    if(PORTA.4==1)
    {
    PORTB.0=1;
    }

    C'est ça? Et je dois faire quelque chose avant? Genre mettre les ports en ouvert ou je sais pas?

  16. #15
    Jack52

    Re : Documentation CC5X 16F877A

    Oui avant tu doit déclarer tes Ports, savoir si c'est des entrées ou des sorties

    TRISA=0x11;
    TRISB=0x00;

    Si tu veux que la led s'allume quand tu appuie

    if(PORTA.4==0)
    {
    PORTB.0=1;
    }


    N'oublie pas les ;
    N'oublie pas de mettre le cavalier J6
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  17. #16
    invite01336075

    Re : Documentation CC5X 16F877A

    D'accord mais c'est quoi le cavalier J6?

  18. #17
    Jack52

    Re : Documentation CC5X 16F877A

    Regarde le schéma page 24 en dessous des 4 leds tu a un cavalier qui relie les Katode à la masse, si tu ne le met pas sa ne marchera jamais !!
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  19. #18
    invite01336075

    Re : Documentation CC5X 16F877A

    Oui c'est bon il y est en fait ^^
    Je commence à comprendre un peu tout!

    Bon par contre sa marche pas j'ai ça comme programme :

    void main(void)

    {

    TRISA=0x11;
    TRISB=0x00;

    if(PORTA.4==0)
    {
    PORTB.0=1;
    }

    }

  20. #19
    invite01336075

    Re : Documentation CC5X 16F877A

    Raah j'y suis presque mais pourquoi cette diode s'allume pas quand j'appuis sur le bouton.. un truc va pas. Il faut pas que je rajoute autre chose?

  21. #20
    zhal

    Re : Documentation CC5X 16F877A

    SAlut les gars !

    N'oubliez pas avant de faire joujou avec les ports qu'ils doivent être déclarés en bonne et dûe forme !

    Code:
    //Parametrage des ports
    #byte	PortA 	= 	0x05			//def de l'ad du port A//
    #byte 	TrisA	=	0x85				//def de l'ad du reg de direction du port A//
    #byte	PortC 	= 	0x07		        //def de l'ad du port A
    #byte 	TrisC	=	0x87				//def de l'ad du reg de direction du port A//
    #byte	status 	= 	0x03
    #byte	byLeds		=	portC
    #byte	binaire	=	portA		//def de l'ad du reg de direction du port B//
    #bit	RA0		= 	PortA.0					//def de l'ad du bit RA0 //
    #bit	RA1		= 	PortA.1					//def de l'ad du bit RA1 //
    #bit	RA2		= 	PortA.2					//def de l'ad du bit RA2 //		
    #bit	RA3		= 	PortA.3					//def de l'ad du bit RA3 //
    #bit	RA4		= 	PortA.4					//def de l'ad du bit RA4 //
    #bit	RA5		= 	PortA.5					//def de l'ad du bit RA5 //
    #bit	RA6		= 	PortA.6
    #bit	C		= 	status.0					//def de l'ad du bit RA6 //
    
    //Variables
    int8 diz=0, dec=0, uni=0, bcd=0;
    
    
    //Programme
    void main()
    
    
    {
    TrisA = 0b11111111;
    TrisC = 0b00000000;
    
    do
    Voici un de mes morceaux de code pour 16f877, il faut declarer que le port est a une adresse précise. Tout est dans la doc. Voir le plan mémoire

  22. #21
    zhal

    Re : Documentation CC5X 16F877A

    Citation Envoyé par Jack52 Voir le message
    Pour faire allumer une led si un bouton poussoir est "poussé"

    If (PortA.0==1)
    {
    PortA.1=1
    }
    Ba alors Jack52 et la gestion du rebond elle est passé ou ?

  23. #22
    Jack52

    Re : Documentation CC5X 16F877A

    Citation Envoyé par zhal Voir le message
    Ba alors Jack52 et la gestion du rebond elle est passé ou ?
    Euh . . . dans une mémoire invisible !
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  24. #23
    invite01336075

    Re : Documentation CC5X 16F877A

    Euh d'accord il faut déclarer les port grace à la doc. Mais je vois pas ou c'est dans ma doc. Parce que la j'ai du mal à comprendre comment déclarer tout ça..

    Il y a pas quelqu'un qui pourrait écrire un programme complet même très simple pour ma PICDEM 2 plus demo board juste pour voir si sa marche.. parce que je me demande si ma carte déconne pas...

  25. #24
    Jack52

    Re : Documentation CC5X 16F877A

    Citation Envoyé par zhal Voir le message
    SAlut les gars !

    N'oubliez pas avant de faire joujou avec les ports qu'ils doivent être déclarés en bonne et dûe forme !

    Code:
    //Parametrage des ports
    #byte	PortA 	= 	0x05			//def de l'ad du port A//
    #byte 	TrisA	=	0x85				//def de l'ad du reg de direction du port A//
    #byte	PortC 	= 	0x07		        //def de l'ad du port A
    #byte 	TrisC	=	0x87				//def de l'ad du reg de direction du port A//
    #byte	status 	= 	0x03
    #byte	byLeds		=	portC
    #byte	binaire	=	portA		//def de l'ad du reg de direction du port B//
    #bit	RA0		= 	PortA.0					//def de l'ad du bit RA0 //
    #bit	RA1		= 	PortA.1					//def de l'ad du bit RA1 //
    #bit	RA2		= 	PortA.2					//def de l'ad du bit RA2 //		
    #bit	RA3		= 	PortA.3					//def de l'ad du bit RA3 //
    #bit	RA4		= 	PortA.4					//def de l'ad du bit RA4 //
    #bit	RA5		= 	PortA.5					//def de l'ad du bit RA5 //
    #bit	RA6		= 	PortA.6
    #bit	C		= 	status.0					//def de l'ad du bit RA6 //
    
    //Variables
    int8 diz=0, dec=0, uni=0, bcd=0;
    
    
    //Programme
    void main()
    
    
    {
    TrisA = 0b11111111;
    TrisC = 0b00000000;
    
    do
    Voici un de mes morceaux de code pour 16f877, il faut declarer que le port est a une adresse précise. Tout est dans la doc. Voir le plan mémoire
    C'est pour un 16f877 donc tu peux le prendre
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  26. #25
    invitea683cd67

    Re : Documentation CC5X 16F877A

    Page 15 du PDF.
    Sinon on là pour aider les autres pas leur faire leur travail.

  27. #26
    invite01336075

    Re : Documentation CC5X 16F877A

    D'accord merci ! Je regarde ça.
    Et pour l'instant j'ai besoin qu'on me guide énormément parce que j'y connais vraiment rien.. Si seulement c'était que du C ce serait plus simple..

  28. #27
    Jack52

    Re : Documentation CC5X 16F877A

    Tu dois pouvoir faire du C pure !!
    Un égoïste, c'est quelqu'un qui ne pense pas à moi !

  29. #28
    invite01336075

    Re : Documentation CC5X 16F877A

    Non mais je veux dire si il y avait pas toute les commandes des Ports et connaitre le circuit quoi :P
    Mais bon je vais finir par y arriver.. un jour.. peut être

  30. #29
    zhal

    Re : Documentation CC5X 16F877A

    Ce n'est pas difficile tu vas voir :


    Un port, c'est ni plus ni moins qu'un nombre de bits a un endroit de la mémoire.

    Un Port à (Si il y a 8 I/O) : - Une adresse sur 8 bits qui pointe vers un emplacement de la memoire de 8 bits. Ainsi, si le bit 0 du PortA est à 5V, alors le bit de poids faible de l'octet de 8 bits est à 1. Si on imagine que tout est a 1 sur le Port A, alors à l'adresse 0x05 on lirai 11111111.

    - Un registre qui a autant de bits qu'il y a d'entrees/sorties par Port appelé TRIS qui dit dans quel sens (Entrée ou Sortie) vont les informations. Ainsi si tu met TRISA à 11111111 alors tout le port A sera une entree.

    Donc pour eclairer la Led, il faut déja verifier que tu as configuré en sortie le bon bit du bon port !

    Bon c indigeste comme sa mais une fois rentré c'est très simple !!!

  31. #30
    invite01336075

    Re : Documentation CC5X 16F877A

    Mmmh d'accord ^^
    Je vois pas trop trop. Tu veux dire quoi par "une adresse sur 8 bits qui pointe sur vers un emplacement de la mémoire de 8 bits"

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. CC5X et librairie
    Par laurentnic dans le forum Électronique
    Réponses: 2
    Dernier message: 24/01/2010, 07h55
  2. cc5x...mplab...?
    Par invite3893ced9 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 01/06/2009, 02h25
  3. CAN et cc5x
    Par marc2009 dans le forum Électronique
    Réponses: 64
    Dernier message: 27/04/2009, 21h43
  4. CC5X et MPLAB
    Par invite177078b9 dans le forum Électronique
    Réponses: 0
    Dernier message: 09/04/2009, 10h00
  5. MPLAB et CC5X
    Par invite127fde78 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 01/06/2007, 07h28
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...