Programmation d'un microcontroleur

Fermé
jhonbouda Messages postés 25 Date d'inscription samedi 21 juin 2014 Statut Membre Dernière intervention 30 décembre 2014 - 30 déc. 2014 à 09:00
slt a tous je suis nouveau en electronique et comme exercice je dois realiser une guirlande a base de msp430g2553 malheureusement j'ai pas de materiel pour tester le programmme.

le principe est le suivant

la guirlande est formee de 8 led reliees au port p1 et est commandee par le port p2

lorsque la broche p2.0 est a l'etat bas les led s'allument l'une apres l'autre et lorsque la broche p2.0 est a l'etat haut toutes les led clignote

le programme doit etre ecrit en c

voila ce que j'ai deja fais et j'aimerai savoir ce que vous en pensez et si y a des amelioration a faire
include<MSP430F2232.h>
 
void tempo()
{
    int i=0;
    for (i=0;i<200;i++)
    {
    }
}
 
int main ()
{
    WDTCTL=WDTPW+WDTHOLD;
    P1DIR|= 0b11111111;
    P2DIR|= 0b00000000;
    P1OUT|= 0b00000000;
    while(1)
    {
        if (P2IN&= 0b00000001)
        {
            P1OUT|= 0b11111111;
            tempo();
            P1OUT|= 0b00000000;
            tempo();
        }
        else
        {
            P1OUT|=0b00000001;
            tempo();
            P1OUT|=0b00000011;
            tempo();
            P1OUT|=0b00000111;
            tempo();
            P1OUT|=0b00001111;
            tempo();
            P1OUT|=0b00011111;
            tempo();
            P1OUT|=0b00111111;
            tempo();
            P1OUT|=0b01111111;
            tempo();
            P1OUT|=0b11111111;
            tempo();
            P1OUT|=0b00000000;
            tempo();
        }
    }
}


et aussi

include<MSP430F2232.h>
 
void tempo()
{
    int i=0;
    for (i=0;i<200;i++)
    {
    }
}
 
int main ()
{
    int i=0;
        WDTCTL=WDTPW+WDTHOLD;
    P1DIR|= 0b11111111;
    P2DIR|= 0b00000000;
    P1OUT|= 0b00000000;
    while(1)
    {
        if (P2IN&= 0b00000001)
        {
            P1OUT|= 0b11111111;
            tempo();
            P1OUT|= 0b00000000;
            tempo();
        }
        else
        {
            for (i=0;i<8;i++)
                         {
                          P1OUT|=(1<<i);
                          tempo();
                         } 
        }
    }
}


merci de votre aide