\prog;PicgT0|Comptage des actions sur le poussoir gauche .Proc 16F84 DebVar = 16'20 \const;Ports bSwitch = 3 ; sur RA3, actif à zéro DirA = 2'11000 ; RA4 RA4 en entrée DirB = 0 \ ; tout en sortie, LEDs actives à zéro \var:Variables| Compteur = DebVar C1 = DebVar+1 C2 = DebVar+2 .Loc 0 \prog;Début| Debut: Move #DirA,W ; RA3 en sortie Move W,TrisA Move #DirB,W Move W,TrisB ; PortB en sortie Boucle: A$: Call Delai TestSkip,BS PortA:#bSwitch Jump A$ ; Exécuté si bit clear B$: Call Delai TestSkip,BC PortA:#bSwitch Jump B$ Inc Compteur Not Compteur,W Move W,PortB Jump Boucle \rout:Delai|Delai multiple de 100\mu;s \in;W delai 0, 0,1 ... 25,5 ms \mod;C1 C2 W Delai: Move #20,W ; Exemple avec 2 ms Move W,C1 A$: Move #32,W ;Boucle interne 100\mu;s Move W,C2 B$: DecSkip,EQ C2 Jump B$ DecSkip,EQ C1 Jump A$ RetMove #1,W .End