Aller au contenu


nebukadnezare

Inscrit(e) (le) 03 oct. 2015
Déconnecté Dernière activité oct. 06 2015 04:34
-----

Messages que j'ai postés

Dans le sujet : mikroc

04 octobre 2015 - 07:43

:D  un Bize c'est quelqu'un de très sympa. 


Dans le sujet : mikroc

04 octobre 2015 - 04:25

ok voila sa marche nickel en modifiant le temps de la condition " if(Button(&PORTD,0,500,0)) .... super sympa mike118 t'est un BIZE :). mais n’empêche ,s'il y a des truc en trop ou d'éventuel amélioration je t'en prie.


Dans le sujet : mikroc

04 octobre 2015 - 04:14

 while(1) {

           if(plus==0){delay_ms(100);if(plus==0)                      // BP PLUS TEMPS
        {  if(count<TMAX)  count++;}}

           if(moins==0){delay_ms(100);if(moins==0)                    //BP MOINS TEMPS
        {  if(count>TMIN) count--;}}
           
           
           if (Button(&PORTD, 0, 1, 0)) {oldstate = 1;delay_ms(10);   //CONDITION POUR UTILISE LE BP PLUS ET MOINS
           if (oldstate && Button(&PORTD, 1, 5, 0))                   //POUR UNE MEMORISATION
             {
               EEPROM_Write(0x00, count);                             // MEMORISATION DES VALEURS
               delay_ms(10);
               EEPROM_Write(0x01, count>>1);
               delay_ms(10);oldstate = 0;}}

          
          if(start==0)                                                // BP DEBUT DECOMPTAGE
          { count--; delay_ms(100);
                {if (count == TMIN)                                   // CONDITION
                {PORTC=0xff;                                          // ACTIVATION RELAY.
                delay_ms(2000);                                       // ...2S
                count= (EEPROM_Read(0x01)<<1);
                count  |=EEPROM_Read(0x00);
                PORTC=0;
                 } } }

Encore une petit amélioration, mais des fois au lieu qu'il mémorise il acrémente ou décrémente .


Dans le sujet : mikroc

04 octobre 2015 - 03:38

et aussi le premier code que je t'ais envoyer n’étais qu'un test pour que je comprenne bien les BP


Dans le sujet : mikroc

04 octobre 2015 - 03:36

unsigned short mask (unsigned short num){
switch(num)
{
case 0:return         0x7e;
case 1:return         0x30;
case 2:return         0x6d;
case 3:return         0x79;
case 4:return         0x33;
case 5:return         0x5b;
case 6:return         0x5f;
case 7:return         0x70;
case 8:return         0x7F;
case 9:return         0x73;

//case 0: PORTB        = 63; break;
//case 1: PORTB        = 6; break;
//case 2: PORTB        = 91; break;
//case 3: PORTB        = 79; break;
//case 4: PORTB        = 102; break;
//case 5: PORTB        = 109; break;
//case 6: PORTB        = 125; break;
//case 7: PORTB        = 7; break;
//case 8: PORTB        = 127; break;
//case 9: PORTB        = 111; break;
}
}
#define bouton_plus PORTD.RD0
#define bouton_moins PORTD.RD1
#define bouton_start PORTD.RD2
#define bouton_select PORTD.RD3
#define appui_bouton(b) (!(b))
#define TEMPS_MAX 9999
#define TEMPS_MIN 0
#define TICK_DELAY_MS 1
unsigned int count = 0;
unsigned int count1 = 0;
unsigned int count2 = 0;
unsigned int count3 = 0;
unsigned int count4 = 0;
unsigned int meme = 2;
unsigned int nombre;

unsigned short i;
void Interrupt(){

                
                
                
                count4= (count/1000)%10;                        // AFFICHAGE 0000
                count3= (count/100)%10;
                count2 = (count/10)%10;
                count1 = count%10;
                if(i==0) {PORTA = 0xf7; portb=mask(count1);}
                if(i==1) {PORTA = 0xfb; portb=mask(count2);}
                if(i==2) {PORTA = 0xfd; portb=mask(count3);}
                if(i==3) {PORTA = 0xfe; portb=mask(count4);}
                i++;if (i==4) i=0 ;
                INTCON = 0xA0;
                TMR0   = 6;
                 }


void main(void)
{
  OPTION_REG   = 0x82;
  TMR0         = 6;
  INTCON       = 0xA0;
  count= (EEPROM_Read(0x01)<<1);
  count  |=EEPROM_Read(0x00);


TRISA = 0x00;
TRISB = 0x00;
PORTA = 0x00;
PORTB = 0x00;
TRISD = 0xff;
PORTD = 0x00;
TRISC = 0x00;
PORTC = 0x00;
          
           while(1)
        {
           if(appui_bouton(bouton_plus))                               // BP PLUS TEMPS
        {  if(count<TEMPS_MAX) delay_ms(50); count++;}

       if(appui_bouton(bouton_moins))                                  //BP MOINS TEMPS
        { if(count>TEMPS_MIN) delay_ms(50);count--;}
           
         if(appui_bouton(bouton_moins)&&appui_bouton(bouton_plus))    //PLUS ET MOINS POUR LA MEMORISATION
        {   delay_ms(2000);
            EEPROM_Write(0x00, count);                                // Mémorisation de la valeur
            delay_ms(10);
            EEPROM_Write(0x01, count>>1);
            delay_ms(10);}

          
          if(appui_bouton(bouton_start))                              // BP DEBUT DECOMPTAGE
          { count--; delay_ms(500);
                {if (count == TEMPS_MIN)                              // CONDITION
                {PORTC=0xff;                                          // ACTIVATION PORTC RELAY 3S
                delay_ms(3000);
                count= (EEPROM_Read(0x01)<<1);
                count  |=EEPROM_Read(0x00);
                PORTC=0;
                 } } }



} }

ok voila rien ne vaut une photo et un code, si tu veux je peut t’envoyer le fichier ISIS 7.9 et le code source pour bien voire . le code marche bien sauf que des fois sa ne mémorise pas directement. si tu voie des truck a nettoyer au niveau code n’hésite pas .

NB. sa fait que 2 mois que je programme alors soit clément :)