Page 24 - SERIE N11 micro 2
P. 24

Exercice N°27 :
       Écrire un programme qui permet de commander un moteur a courant continu avec un rapport cyclique
       variable de 0 a 1 en utilisant la technique MLI (PWM) Le rapport cyclique augmente si on appui sur le
       bouton RA2 et ii diminue si on appui sur le bouton RA1 Utilisation de la fonction Button (port,bit,temps
       d'appui en ms ,état logique actif)
       Exemple : if Button (portA,3,50, 1) then « action1 »
       On teste l'appui sur un bouton poussoir relié à la broche RA3 pendant 50ms pour faire l'action 1
       1 °) Compléter les phrases suivantes :
       Si on appui sur le bouton RA2 la vitesse du moteur ………………………………..
       Si on appui sur le bouton RA 1 la vitesse du moteur . ………………………………..
       2°) Compléter le programme :

             ?   ?   ?   ?   ?   ?   ?   ?


                                                       PWM
                                          21                                9                     1ms                 t
                                                              OSC1/CLKIN
                                          22   RB0/INT       OSC2/CLKOUT    10    Diminuer la vitesse
                                              RB1
                                          23   RB2
                                          24   RB3/PGM           RA0/AN0    2
                                                                            3
                                          25
                                          26   RB4               RA1/AN1    4
                                          27   RB5    RA2/AN2/VREF-/CVREF   5
                                                           RA3/AN3/VREF+
                                              RB6/PGC
                       8 8   8  .         28   RB7/PGD    RA4/T0CKI/C1OUT   6       Augmenter la vitesse
                       +     DIODE        11             RA5/AN4/SS/C2OUT   7
                                          12   RC0/T1OSO/T1CKI     MCLR     1  10k   10k
                                          13   RC1/T1OSI/CCP2
                                              RC2/CCP1
                                          14   RC3/SCK/SCL
                                          15
                2N2222                    16   RC4/SDI/SDA
                                1k        17   RC5/SDO
                                              RC6/TX/CK
                                          18   RC7/RX/DT
                                             PIC16F876A


       program exercice_N_27 _MLI;
       var x:byte;
       begin
       PWM1_init(1000);
       PWM1_Start();
       ADCON1 :=$........... ;                     // PORTA numérique
       trisa:=$ ...........  ;trisb:= ...........;portb:= ...........  ;x:=0;
       while true do
       begin
       If button ( Porta,2, 100 ,1) then INC( x ) ; if x=255 then DEC( x ) ;
       if button (Porta,1, 100 ,1) then DEC( x ) ;  if x=0 then INC( x ) ;
       portb:= x ;
       PWM1_Set_duty( ..... ) ;
       end ;
       end.
       3°) Expliquer le rôle des deux instructions colorées en bleu.








                                                                                                                24
   19   20   21   22   23   24   25