User manual
12 25
Img. 12 : pont entre E3 et GND
Le programme utilise une instruction de saut conditionnel. Lorsque l’état de l’entrée 1 est en
marche, la commande suivante est ignorée. Lorsque vous appuyez sur la touche, l’état est zéro,
l’augmentation de la variable A est exécutée. Cela conduit à une incrémentation rapide de l’état de
sortie. Lorsque vous relâchez, le dernier relevé de compteur est maintenu. Compte tenu de la vitesse
de comptage importante, il n’y a pas d’influence possible sur le résultat. Celui-ci est donc aléatoire.
Adresse Commande Données Remarque
30 5 4 Port = A
31 C E S1 = 1?
32 7 1 A = A + 1
33 3 3 Saut -3
Liste 4 : générateur aléatoire
Appuyez brièvement sur la touche, pour obtenir un nouveau résultat aléatoire. Testez la fonction
aléatoire, en créant une statistique des résultats. Après un nombre suffisamment important de cycles,
il s’avère que tous les résultats sont à peu près à fréquence égale. Le programme est idéal pour les
jeux, où, p. ex., le nombre 1111 doit être «tiré».
Le programme est en même temps un compteur avec une vitesse de fonctionnement la plus rapide
possible, car aucune instruction d’attente n’est utilisée. Cet exemple vous permet donc d’analyser
la vitesse de fonctionnement du contrôleur TPS. Tant que la touche est enfoncée, un signal carré
apparaît au niveau de la sortie A1 avec une fréquence d’env. 133 Hz et une durée de période de
7,5 ms. Le port change donc son état tous les 3,75 ms. Le programme parcourt dans la boucle de
comptage quatre instructions. Environ une milliseconde est utilisée par instruction. La dernière sortie
A4 présente une fréquence de 16,6 Hz, détectable par le scintillement visible.
Lorsque des vitesses de fonctionnement plus élevées sont requises à titre exceptionnel pour des
opérations urgentes, vous avez la possibilité d’augmenter la cadence d’horloge du contrôleur en
diminuant la résistant au niveau de Osc 1. Vous obtenez donc une fréquence d’horloge de 2 MHz
pour 100 kO. Remplacez la résistance par une de 27 kO. Vous obtenez ainsi une fréquence d’horloge
jusqu’à quatre fois plus rapide et un délai d’instruction d’env. 0,25 ms. En temps normal, le contrôleur
doit cependant fonctionner avec 100 kO au niveau de Osc 1. Une faible consommation d’énergie et un
fonctionnement sûr sont ainsi garantis, même pour un très petite tension de fonctionnement, jusqu’à
2,2 V.
Adresse Commande Données Remarque
00 4 5 A = 5
01 5 2 C = A
02 1 5 port = 0101
03 2 8 500 ms
04 1 A Port = 1010
05 2 8 500 ms
06 8 0 page 0
07 A 2 C x 02
08 3 0 fin
45 52 15 28 1A 28 80 A2 30
Liste 17 : une boucle de comptage
Testez le programme. Les LED indiquent à chaque passage les exemples 0101 et 1010. Cependant,
cette partie du programme ne sera manifestement pas exécuté cinq fois, mais bien six fois. La
commande de saut est certes exécutée cinq fois dans l’adresse 07, mais pour accéder la première
fois à cet emplacement, un processus de clignotement a déjà été effectué. C’est pourquoi le
programme clignote au total six fois.
Modifiez la variable de comptage sur la valeur 4 et testez de nouveau le programme. Les LED
clignotent désormais cinq fois exactement.
Vous pouvez également utiliser la boucle de comptage pour effectuer non pas un saut en arrière
mais en avant. Cette fois, l’opération est bien exécutée cinq fois, lorsque C a été chargé avec la
valeur 5 au début. Chaque adresse 04 ignorée contient un saut relatif sur elle-même et donc une
boucle sans fin qui sert de fin de programme.
Adresse Commande Données Remarque
00 4 5 A = 5
01 5 2 C = A
02 8 0 AdrHi = 0
03 A 5 C x 05
04 3 0 fin
05 1 5 port = 0101
06 2 8 délai 500 ms
07 1 A Port = 1010
08 2 8 délai 500 ms
09 3 6 Saut –6
45 52 80 A5 30 15 28 1A 28 36
Liste 18 : clignotant x 5
15 Comparaisons
Deux valeurs numériques doivent être comparées. En fonction du résultat de la comparaison, un
saut est exécuté. Les deux valeurs numériques se situent en A et B. B est chargé avec le chiffre
5 dans l’exemple ci-dessous. A reçoit son résultat par l’entrée analogique AD1. Vous pouvez ici, p.
ex., branché un photocapteur comme dans le chapitre 4. Le programme doit alors en permanence
exécuter l’action suivante :