algorithme sur mikrobasic
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

algorithme sur mikrobasic



  1. #1
    vdicc_86

    algorithme sur mikrobasic


    ------

    Bnjr tt le monde je veux réaliser un algorithme sur mikrobasic qui compte le nombre de tours a partir de deux capteurs qui on deux signaux a et b ( prend en compte le sens de rotation du moteur cad incrémentation ou décrementation) puis l'affiché sur LCD j'ai fais se si et ca ne marche pas aider moi stp
    Code:
    program xd
     dim LCD_RS as sbit at RB0_bit
         LCD_EN as sbit at RB1_bit
         LCD_D4 as sbit at RB2_bit
         LCD_D5 as sbit at RB3_bit
         LCD_D6 as sbit at RB4_bit
         LCD_D7 as sbit at RB5_bit
         
        LCD_RS_Direction as sbit at TRISB0_bit
        LCD_EN_Direction as sbit at TRISB1_bit
        LCD_D4_Direction as sbit at TRISB2_bit
        LCD_D5_Direction as sbit at TRISB3_bit
        LCD_D6_Direction as sbit at TRISB4_bit
        LCD_D7_Direction as sbit at TRISB5_bit
        
        
    dim Char_Tours as string [3]
    dim Nb_Tours as byte
    dim Nb_Tours_P as byte
    dim  Compteur as word
    dim AB_state  as byte
    dim A as sbit at RA0_bit
    dim B as sbit at RA1_bit
    dim AA as sbit at AB_State.0
    dim AP as sbit at AB_State.1
    dim BA as sbit at AB_State.2
    dim BP as sbit at AB_State.3
    
    
    
    
    ' End Lcd module connections
    dim txt1 as char[8]
        txt2 as char[7]
     i   as byte            ' Loop variable
    
    
    
    sub procedure Move_Delay()       ' Function used for text moving
      Delay_ms(500)                  ' You can change the moving speed here
    end sub
    
    
    main:
    
       ADCON1 = 0x07                     ' Configure AN pins as digital I/O
       ADCON0 = 0x00
       
       PORTA = 0x00
       TrisA=0x00
    
      PORTB = 0xFF
      TRISB = 0xFF
    
    
    
      txt1 ="NB.Tours:"
      txt2 ="NB.Tours:"
    
      Lcd_Init()                     ' Initialize Lcd
      Lcd_Cmd(_LCD_CLEAR)            ' Clear display
      Lcd_Cmd(_LCD_CURSOR_OFF)       ' Cursor off
      Lcd_Out(1,1,txt1)              ' Write text in first row
      Lcd_Out(1,11,Char_Tours)              ' Write text in second row
      Delay_ms(2000)
      while TRUE                     ' Endless loop
      
          if
            AA <> A then
            AP=AA
            AA=A
          end if
          
          if
            BA <> B then
            BP=BA
            BA=B
          end if
          
          if ((AP=0) and (BP=0))     then
              if ((AA=1) and (BA=0)) then
               Compteur = Compteur +1
    
              end if
              if ((AA=0) and (BA=1))   then
                Compteur = Compteur -1
              end if
          end if
          
          if ((Ap=1) and (BP=0))     then
              if ((AA=1) and (BA=1)) then
               Compteur = Compteur +1
               
              end if
              if ((AA=0) and (BA=0))     then
                 Compteur = Compteur -1
              end if
          end if
          
          if ((Ap=1) and (BP=1))     then
              if ((AA=0) and (BA=1)) then
               Compteur = Compteur +1
              end if
              if ((AA=1) and(BA=0))     then
               Compteur = Compteur -1
              end if
          end if
          
          if ((Ap=0) and (BP=1))     then
              if ((AA=0) and (BA=0)) then
                  Compteur = Compteur +1
              end if
              if ((AA=1) and (BA=1))     then
               Compteur = Compteur -1
              end if
          end if
    
              NB_Tours_P = NB_Tours
              NB_Tours = Compteur div 4
          if  NB_Tours_P <> NB_Tours then
              byteToStr ( Nb_Tours , Char_Tours)
              Lcd_out (1,11,Char_Tours)
          end if
      wend
             
    end.

    -----
    Dernière modification par JPL ; 29/04/2013 à 14h46. Motif: Ajout de la balise Code (#) pour garder l'indentation et changement du titre

  2. #2
    JPL
    Responsable des forums

    Re : algorithme sur mikrobasic

    À transférer éventuellement en Électronique ?
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    vdicc_86

    Re : algorithme sur mikrobasic

    j'ai rien reçu !!

  4. #4
    JPL
    Responsable des forums

    Re : algorithme sur mikrobasic

    Ce n'est ni une hot line ni un service après-vente. Il faut que tu attendes que quelqu'un capable de t'aider passe sur le forum.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

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

    Re : algorithme sur mikrobasic

    ui je sais m'ai vraiment j'ai besion d'aide car je compte sur vous et je ss un etudiant et j fais mon projet fin d'etude

  7. #6
    Jack
    Modérateur

    Re : algorithme sur mikrobasic

    Citation Envoyé par vdicc_86 Voir le message
    ui je sais m'ai vraiment j'ai besion d'aide car je compte sur vous et je ss un etudiant et j fais mon projet fin d'etude
    Ca n'empêche pas de lire et respecter la charte (les titres doivent être explicites, pas de doublon) et les règles particulières à chaque forum (balises code)

    merci d'en tenir un peu plus compte à l'avenir

Discussions similaires

  1. Théorie de l'existence du monde physique en parallèle du monde virtuel
    Par KiLVaiDeN dans le forum Epistémologie et Logique (archives)
    Réponses: 28
    Dernier message: 17/04/2011, 11h03
  2. monde virtuel/monde réel?
    Par invite02d60949 dans le forum Discussions scientifiques
    Réponses: 11
    Dernier message: 01/07/2010, 22h52
  3. bnjr
    Par invite4318cb4b dans le forum Environnement, développement durable et écologie
    Réponses: 0
    Dernier message: 15/01/2009, 19h21