Page 16 - SERIE N11 micro 2
P. 16

Exercice N°17: Réaliser un Compteur et Décompteur modulo 7 sachant qu'à chaque impulsion sur
       la broche RBO Le C/D s'incrémenté ou se décrémente suivant une entrée a :
       a= 0 ⇒  compteur; a=1 ⇒ décompteur
       (Utiliser la procédure d'interruption externe avec la broche RBO) affecter la broche RB1 à l'entrée a

                                                              program comp_ decomp _modulo 7 _interruption;
                                                              var a: ……………….. ;
                                                              var x: byte;
                                                              ........................................... ;
                                                              begin
      16   OSC1/CLKIN        RA0   17                         if (a=1) then x:= …………. else x:= ………………

      15                           18
           OSC2/CLKOUT       RA1   1                          intcon.lNTF :=………. ;        //………………...
         4   MCLR            RA2   2                          intcon. GIE  :=………. ;        //………………...
                             RA3
                       RA4/T0CKI   3                          …………
                                   6                          begin
                         RB0/INT   7                          intcon := $........ ; trisA := $........ ; trisB := $........ ;
                             RB1
                             RB2   8         interruption x:= ………………
                             RB3   9                 0        …………………..                // boucle infinie
                                   10
                             RB4   11                         begin
                             RB5
                             RB6   12                0        portA := ……… ;
                             RB7   13                a        if (x =$....... ) then x:=$06
          PIC16F84A                                           else if (x = $07) then x:=$.......... ;
                                                              end ;
                                                              ……….
       Exercice N°18:
       Réaliser un compteur modulo 8 sachant qu'à chaque changement d'état sur au moins une des entrées
       RB4 à RB7 le compteur s'incrémente :(Utiliser la procédure d'interruption externe avec RBI)
       1°) Configurer le registre INTCON :

        INTCON  GIE  EEIE  TOIE  INTE  RBIE  TOIF  INTF  RBIF
                                                                               =(……)hex  =(……………..)2

       2°) Compléter le programme :

                                                            program exercice_N_18_interrupt;
                                                            varx ,etat:byte;
                                                            procedure interrupt;
                                                            begin

      16   OSC1/CLKIN        RA0   17                       etat:=PORTB; // lecture du portb pour déverrouiller

      15                           18                       l'accès au bit RBIF
           OSC2/CLKOUT       RA1   1                        intcon :=$……. ;x:=……. ;
         4   MCLR            RA2   2                        end ;
                             RA3
                       RA4/T0CKI   3                        begin
                                                            ..................................... ; intcon :=……… ; x:=……… ;
                         RB0/INT   6                        while(1=1) do
                                   7
                             RB1   8                 0      begin
                             RB2   9                        ………………
                             RB3   10                1
                             RB4   11                    interruption RBI   If x=8 then x:=……… ;
                             RB5
                                                            end ;
                             RB6   12                1      end·
                             RB7   13
                                                     1
          PIC16F84A



                                                                                                                16
   11   12   13   14   15   16   17   18   19   20   21