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

PIC16f877



  1. #1
    invite13659407

    PIC16f877


    ------

    j'ai un projet avec un pic16f877 ,un lcd 2*16 alphanumerique,un DS1307,un I2C
    je veux un programme en micro c 6.2 pour récuperer date et heure et afficher sur lcd
    merccccccccccccccccccccccccccc cccccccccccccci

    -----

  2. #2
    invite19431173

    Re : PIC16f877

    Discussion déplacée et titre modifié (on est pas fan des "au secours" )

    Pour la modération.

  3. #3
    Gérard

    Re : PIC16f877

    Tu viens d'arriver et déjà on lit : "je veux", "je voudrais" serait plus indiqué !

    Suggestion : si tu l'écrivais toi même ton programme ?

  4. #4
    invite7a49d0d5

    Cool Re : PIC16f877

    Bonjour Monde,

    sympa ce projet ;O]

    t'as essayé G..gle???
    t'y trouveras sûrement des "pistes";O]

    vede
    ;O]

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

    Re : PIC16f877

    désolé si ça vous dérange c'est la première fois que je participe dans ce genre de forum
    j'ai essayé mais il y a plusieurs choses qui m'échappent .je programme avec le mikro c 6.2 ,mon programme contient des #include"config.h" et #include "RTC_DS1307.h" que le mikro c 6.2 ne veut pas les accepter
    comment procéder svp

  7. #6
    maximilien

    Re : PIC16f877

    Citation Envoyé par amooulaa Voir le message
    j'ai essayé mais il y a plusieurs choses qui m'échappent.
    comment procéder svp
    Laisse moi rire....

    c'est pas Micro C mais MikroC!

    Ensuite ici (le site officiel) ils en sont à la :
    (current build 3.20)
    et pas la 6.2...

    Et enfin, tu n'as pas ouvert l'aide...
    car t'aurai tes réponses à:
    mon programme contient des #include"config.h" et #include "RTC_DS1307.h" que le mikro c 6.2 ne veut pas les accepter
    Je suis d'accord avec Gérard...

  8. #7
    invite7a49d0d5

    Cool Re : PIC16f877

    Citation Envoyé par amooulaa Voir le message
    désolé si ça vous dérange c'est la première fois que je participe dans ce genre de forum
    j'ai essayé mais il y a plusieurs choses qui m'échappent .je programme avec le mikro c 6.2 ,mon programme contient des #include"config.h" et #include "RTC_DS1307.h" que le mikro c 6.2 ne veut pas les accepter
    comment procéder svp
    BONSOIR

    moi ça me dérange pas ;O]

    MERCI
    (de t'inquiéter)

    vede
    ;O]

    ps : +1 pour Gerard ;O]

    re-ps : comme écrit dans le post ci-dessus, un petit tour
    dans l'aide et sur le forum MikroC paraît s'imposer ;O]

  9. #8
    invite13659407

    Re : PIC16f877

    est ce que c'est votre manière d'aider les gens!!!!!!!!!!!!!!!!!!

  10. #9
    maximilien

    Re : PIC16f877

    Citation Envoyé par amooulaa Voir le message
    est ce que c'est votre manière d'aider les gens!!!!!!!!!!!!!!!!!!
    As tu réellement essayé de faire ton projet???

    Si tu me prouves que t'as essayé alors je t'aiderai.

  11. #10
    invite13659407

    Re : PIC16f877

    en fait mon projet n'assure pas seulement la récupérationde la date et l'heure .principalemement c'est un détecteur d'incendie qui affiche sur lcd l'etage ou se trouve l'incendie ,déclenche une alarme et donne la date et l'heure
    j'ai terminé tout ce qui concerne la localisation de l'incendie ,l'alarme il me reste la date et l'heure si vous voulez je peux vous montrer le schéma sur isis ainsi que le programme sur mikroc 6.2

  12. #11
    maximilien

    Re : PIC16f877

    Cela ne coute rien de nous le montrer et c'est une base de départ.

    Que te manque t-il alors?

  13. #12
    invite13659407

    Re : PIC16f877

    j'ai un programme qui n'est pas fonctionnel que sur mikroc 7.0.0.3
    je voudrais l'avoir fonctionnel sur mikroc 6.2 car il y a des différences
    et j'ai pas le mikroc v7.0.0.3

  14. #13
    Gérard

    Re : PIC16f877

    Citation Envoyé par amooulaa Voir le message
    est ce que c'est votre manière d'aider les gens!!!!!!!!!!!!!!!!!!
    Je te rappelle que c'est toi le nouveau et que c'est toi qui veut de l'aide, alors un peu de modestie !!!!!!!!!!!!!!!!!!!!
    Un peu de bonne volonté, de courtoisie et de savoir-vivre aide beaucoup ici.

    Ton truc est tout le temps sous tension, tu n'as donc pas besoin de RTC avec pile.
    Un Qz de 32, 768KHz sur les pin d'entrée de comptage de TMR1, tu places correctement les bons bit et ça marche.

    Je l'ai fait !
    Tu voudrais le code ?
    Tu montres d'abord de la bonne volonté et tu publies ce que tu as déjà pondu, après on discutes.

    Ca ne te plais pas, tant pis, c'est toi qui a le plus à perdre.

  15. #14
    Gérard

    Exclamation Re : PIC16f877

    Citation Envoyé par amooulaa Voir le message
    j'ai un programme qui n'est pas fonctionnel que sur mikroc 7.0.0.3
    je voudrais l'avoir fonctionnel sur mikroc 6.2 car il y a des différences
    et j'ai pas le mikroc v7.0.0.3
    Regarde ici : http://www.mikroe.com/en/compilers/mikrobasic/pro/pic/
    tu verras que ce que tu dis ci-dessus est faux.
    MikroC est à la version 3.20 !

    Elle vient d'où la 7.0.0.3 ?????? Et la 6.2 ?

  16. #15
    invite13659407

    Re : PIC16f877

    merci pour votre aide!

  17. #16
    maximilien

    Re : PIC16f877

    En faisant une recherche trouvé ça:
    http://www.mikroe.com/forum/viewtopi...c6bd2043b1f783

    Je ne sais pas trop ce que c'est...

    Poste ton bout de code.

  18. #17
    invite7a49d0d5

    Cool Re : PIC16f877

    Citation Envoyé par Gérard Voir le message
    Je te rappelle que c'est toi le nouveau et que c'est toi qui veut de l'aide, alors un peu de modestie !!!!!!!!!!!!!!!!!!!!
    Un peu de bonne volonté, de courtoisie et de savoir-vivre aide beaucoup ici.

    Ton truc est tout le temps sous tension, tu n'as donc pas besoin de RTC avec pile.
    Un Qz de 32, 768KHz sur les pin d'entrée de comptage de TMR1, tu places correctement les bons bit et ça marche.

    Je l'ai fait !
    Tu voudrais le code ?
    Tu montres d'abord de la bonne volonté et tu publies ce que tu as déjà pondu, après on discutes.

    Ca ne te plais pas, tant pis, c'est toi qui a le plus à perdre.
    +1 Gérard ;O]

    je plussoie...
    si le PIC est alimenté en permanence, un Quartz 32Khz "utilisant"
    l'interruption du TMR1 est la plus simple des solutions...

    vede
    ;O]

  19. #18
    Gérard

    Re : PIC16f877

    Citation Envoyé par amooulaa Voir le message
    merci pour votre aide!
    Je n'ai pas mis de gants, c'est vrai. Mais quand je lis "Je veux", les quelques cheveux qui me restent se dressent ! Et surtout quand on arrive !

    Au post #13, je t'ai quand même donné une solution avec TMR1.

    Et si tu publiais ton code comme demandé plusieurs fois ?

  20. #19
    invite13659407

    Re : PIC16f877

    sur cette adresse
    http://www.filestube.com/3fe8ef8ef26...9/details.html
    vous allez trouver le mikroc v7.0.0.3
    pour le mikroc v6.2 je travaille avec

  21. #20
    maximilien

    Re : PIC16f877

    Download: mikroC v7 0 0 3 crack rar
    J'abandonne...

    (j'ai envie de dire tant mieux ça ne fonctionne pas...)

  22. #21
    Gérard

    Re : PIC16f877

    Citation Envoyé par maximilien Voir le message
    En faisant une recherche trouvé ça:
    http://www.mikroe.com/forum/viewtopi...c6bd2043b1f783

    Je ne sais pas trop ce que c'est...

    Poste ton bout de code.

    Comprends pas bien, de plus ces posts datent de février et mars 2008.
    C'est à y laisser son latin (déjà que je n'en ai pas beaucoup ...)

  23. #22
    invite13659407

    Re : PIC16f877

    voici le code
    # include "Config.h"


    // déclaration des variables

    unsigned short m,HourDate[7];
    char *txt, LCD_txt[3], text[16], seconde, minute, heure, jour, mois, annee;

    // prototypes des fonctions

    void RTC_Initial_values(); // Valeurs initiales de l'horloge
    void ds1307_write(unsigned short rtc_reg, unsigned short rtc_data);
    void Read_DS1307();


    //============================== ============================== ==================
    // Initialisation des registres de l'horloge
    //============================== ============================== ==================

    void RTC_Initial_values()
    {
    I2C_Start(); // Active l'I2C
    I2C_Wr(DS1307_DevAdr_Wr); // DS1307 en mode écriture
    while (I2C_Is_Idle() == 0) ; // on attend tant que le bus I2C est occupé (0= occupé,1=libre)
    I2C_Wr(0x00); // pointe sur le registre des secondes
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x00); // écrit la valeur 0 seconde
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x00); // écrit la valeur 0 dans le registre minute
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x0C); // écrit la valeur 12 dans le registre heure
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x05); // écrit la valeur 5 dans le registre jour (de la semaine)
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x14); // écrit la valeur 14 (n° du jour) dans le registre mois
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x11); // écrit la valeur 11 (n° du mois) dans le registre date
    while (I2C_Is_Idle() == 0) ;
    I2C_Wr(0x07); // écrit la valeur 7 dans le registre année
    while (I2C_Is_Idle() == 0) ;
    I2C_Stop(); // Arrête l'I2C
    }

    //============================== ============================== ==================
    // Fonction d'écriture dans les registres de l'horloge I2C DS1307
    //============================== ============================== ==================

    void ds1307_write(unsigned short rtc_reg, unsigned short rtc_data)
    {
    I2c_start(); // Active l'I2C
    I2c_Wr(DS1307_DevAdr_Wr); // 1101 000 est l'adresse de l'horloge, le LSB indique le mode (0=W, 1=R)
    I2c_Wr(rtc_reg); // indique dans quel registre on veut écrire
    I2c_Wr(rtc_data); // écrit la donnée dans le registre
    I2c_stop(); // Arrête l'I2C
    }

    //============================== ============================== ==================
    // Fonction de lecture des registres de l'horloge I2C DS1307
    //============================== ============================== ==================

    void Read_DS1307()
    {
    *(txt)=0; // initialise le pointeur txt
    I2C_Stop(); // arrêt de l'I2C
    delay_ms(50);
    I2C_Start();
    I2C_Wr(DS1307_DevAdr_Wr);
    I2C_Wr(0);
    I2C_Repeated_Start();
    I2C_Wr(DS1307_DevAdr_Rd);

    m=I2C_Rd(1); // on lit le byte avec acquittement de l'esclave requis
    HourDate[6]=Bcd2Dec(m); // conversion BCD -> DECIMAL
    ByteToStr(HourDate[6],LCD_txt); // formatage Byte en string pour le LCD
    if (HourDate[6] < 10) // Si dizaine de secondes <10 on fait apparaitre le 0 des dizaines
    {
    LCD8_Chr(2,14,'0'); // sur la ligne 2, colonne 14 du LCD
    LCD8_Chr(2,15,LCD_txt[2]); // les secondes apparaissent ligne 2, colonne 15 du LCD
    }
    else // sinon on affiche pas le 0 des dizaines de secondes
    {
    LCD8_Chr(2,14,LCD_txt[1]);
    LCD8_Chr(2,15,LCD_txt[2]);
    }
    while (I2C_Is_Idle() == 0) ;

    m=I2C_Rd(1); // minute(s)
    HourDate[5]=Bcd2Dec(m);
    ByteToStr(HourDate[5],LCD_txt);
    if (HourDate[5] < 10)
    {
    LCD8_Chr(2,11,'0');
    LCD8_Chr(2,12,LCD_txt[2]);
    }
    else
    {
    LCD8_Chr(2,11,LCD_txt[1]);
    LCD8_Chr(2,12,LCD_txt[2]);
    }
    while (I2C_Is_Idle() == 0) ;

    m=I2C_Rd(1); // heure(s)
    HourDate[4]= Bcd2Dec(m);
    ByteToStr(HourDate[4],LCD_txt);
    if (HourDate[4] < 10)
    {
    LCD8_Chr(2,8,'0');
    LCD8_Chr(2,9,LCD_txt[2]);
    }
    else
    {
    LCD8_Chr(2,8,LCD_txt[1]);
    LCD8_Chr(2,9,LCD_txt[2]);
    }
    while (I2C_Is_Idle() == 0) ;

    m=I2C_Rd(1); // jour(s) de la semaine
    HourDate[3] = Bcd2Dec(m);
    while (I2C_Is_Idle() == 0) ;

    m=I2C_Rd(1);
    HourDate[2] = Bcd2Dec(m); // date (n° du jour)
    ByteToStr(HourDate[2],LCD_txt);
    if (HourDate[2] < 10)
    {
    LCD8_Chr(1,8,'0');
    LCD8_Chr(1,9,LCD_txt[2]);
    }
    else
    {
    LCD8_Chr(1,8,LCD_txt[1]);
    LCD8_Chr(1,9,LCD_txt[2]);
    }
    while (I2C_Is_Idle() == 0) ;

    m = I2C_Rd(1);
    HourDate[1] = Bcd2Dec(m); // mois
    ByteToStr(HourDate[1],LCD_txt);
    if (mois < 10)
    {
    LCD8_Chr(1,11,'0');
    LCD8_Chr(1,12,LCD_txt[2]);
    }
    else
    {
    LCD8_Chr(1,11,LCD_txt[1]);
    LCD8_Chr(1,12,LCD_txt[2]);
    }

    while (I2C_Is_Idle() == 0) ;

    m = I2C_Rd(0); // pas d'acquittement de l'esclave requis

    HourDate[0] = Bcd2Dec(m); // année
    ByteToStr(HourDate[0],LCD_txt);
    if (HourDate[0] < 10)
    {
    LCD8_Chr(1,14,'0');
    LCD8_Chr(1,15,LCD_txt[2]);
    }
    else
    {
    LCD8_Chr(1,14,LCD_txt[1]);
    LCD8_Chr(1,15,LCD_txt[2]);
    }

    while (I2C_Is_Idle() == 0) ;

    I2C_Stop();
    }

  24. #23
    invite7a49d0d5

    Cool Re : PIC16f877

    re ;O]

    moi je te conseille vivement de commencer par télécharger
    la version actuelle (MikroC PRO 3.2 for PIC 2009), gratuite,
    actuellement disponible sur le site de son éditeur MikroE, ici:
    http://www.mikroe.com/en/compilers/mikroc/pro/pic/

    vede
    ;O]

  25. #24
    Gérard

    Re : PIC16f877

    Citation Envoyé par maximilien Voir le message
    J'abandonne...

    (j'ai envie de dire tant mieux ça ne fonctionne pas...)
    Moi aussi je jette l'éponge !

  26. #25
    maximilien

    Re : PIC16f877

    Je viens de compiler les 3 pages de prog...

    Beaucoup d'erreurs de syntaxe...

    Mais le plus amusant, c'est qu'une fois toutes ces erreurs corrigées, j'ai le message d'erreur (la dernière):
    0 357 main function is not defined main function is not defined

  27. #26
    invite7a49d0d5

    Cool Re : PIC16f877

    et moi je jete pas l'éponge ;O]

    -installe MikroC PRO ....
    ->nouveau projet...
    -fait clignoter une led avec ton PIC...

    delà :
    (quand elle clignote... pas en simu... branchée sur le PIC...)...
    ->nouveau projet
    -tu ouvres ton code avec Notepad...
    -et copier/coller par bloc dans le projet avec adaptations/corrections

    par exemple il n'y a pas de "librairie" DS1307...
    mais une librairie I2C... dans MikroC...

    et là je vais t'aider... à corriger...
    est ce que tu as les fichiers .h (config et ds1307)??
    c'est juste une question, ça pourrait aider...
    mais vraiment pas indispensable...

    vede
    ;O]






    -

  28. #27
    invite7a49d0d5

    Re : PIC16f877

    supprime le main !!!

    compile... error...

    remet le main, en sautant une ligne....

    compile...

    ça peur resoudre ce message d'erreur...
    erreur commentée sur le forum MikroC
    si persistante...

  29. #28
    maximilien

    Re : PIC16f877

    Citation Envoyé par vede Voir le message
    supprime le main !!!

    compile... error...

    remet le main, en sautant une ligne....

    compile...

    ça peur resoudre ce message d'erreur...
    erreur commentée sur le forum MikroC
    si persistante...
    Je ne peux le supprimer car il n'existe pas dans le prog d'origine....

  30. #29
    invite7a49d0d5

    Re : PIC16f877

    ;O]

    ;O]

    ;O]

    ben alors...
    va falloir en mettre un...

    ;O]

    ;O]

    ;O]

  31. #30
    invite13659407

    Re : PIC16f877

    j'ai pas ces fichiers

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Pic16f877
    Par invite814175e4 dans le forum Électronique
    Réponses: 8
    Dernier message: 16/12/2009, 14h42
  2. pic16f877
    Par invite814175e4 dans le forum Électronique
    Réponses: 0
    Dernier message: 16/12/2009, 14h28
  3. Conversion A/D pic16F877
    Par invitee547231b dans le forum Électronique
    Réponses: 1
    Dernier message: 16/04/2008, 20h56
  4. programmation CAN PIC16F877
    Par invite48a7b274 dans le forum Électronique
    Réponses: 3
    Dernier message: 16/03/2008, 10h56
  5. Interruption C PIC16F877
    Par invite210e4233 dans le forum Électronique
    Réponses: 2
    Dernier message: 04/10/2007, 22h26
Découvrez nos comparatifs produits sur l'informatique et les technologies.