Pour programmer le décodeur DTMF Simplix 2, il est nécessaire
d'ouvrir le programme source simplix2.asm avec l'environnemement de développement
intégré (IDE) MPLAB de Microchip, puis de modifier selon
la procédure indiquée ci-dessous les lignes identifiées
par le signe ***Pnn***. Ces lignes définissent les codes de réponse
des relais R1 et R2, les codes administrateur, les valeurs des temporisations.
Ne pas modifier les autres lignes. Pour la clarté du travail et
un bon fonctionnement, il est recommandé de respecter l'alignement
des étiquettes, des mnémoniques et des commentaires.
***P01*** désigne le caractère choisi pour constituer le
préfixe, en général le caractère * ou #. Le
caractère choisi pour le préfixe ne doit pas être
utilisé pour la composition des codes. Si l'on choisit par exemple
comme préfixe le caractère *, la ligne ***P01*** s'écrira
ainsi :
xorlw |
char_x |
; test for prefix |
***P01*** |
***P11*** à ***P14*** indiquent le code de commande pour l'activation
du relais n°1. Si les 4 caractères ne sont pas utilisés,
les caractères inutiles seront marqués no_char. Si l'on
a choisi * comme préfixe et que l'on veut par exemple que le relais
n°1 réponde au code *32A, on modifiera les lignes P11 à
P14 de la manière suivante :
movlw |
char_3 |
; test for 1st digit |
***P11*** |
movlw |
char_2 |
; test for 2nd digit |
***P12*** |
movlw |
char_A |
; test for 3rd digit |
***P13*** |
movlw |
no_char |
; test for 4th digit |
***P14*** |
L'introduction d'un caractère joker assure une réponse
quel que soit le caractère reçu dans le rang considéré.
Si par exemple, on remplace dans l'illustration précédente
la ligne ***P13*** par :
movlw |
joker |
; test for 3rd digit |
***P13*** |
le relais n°1 sera activé par tous les codes compris entre
*320 et *32D.
***P21*** à ***P24*** indiquent le code de commande pour la désactivation
du relais n°1. Les modalités de fonctionnement sont identiques
à celles décrites pour l'activation du relais n°1.
***P31*** à ***P34*** et ***P41*** à ***P44*** sont les
lignes homologues pour l'activation et la désactivation du relais
n°2.
***P51*** à ***P56*** définissent le code confidentiel
administrateur à 6 caractères qui active le verrouillage
des relais dans l'état où ils se trouvent au moment de la
réception du code. Le code confidentiel administrateur doit impérativement
être composé de 6 caractères. Le caractère
joker n'est pas admis.
***P61*** à ***P66*** définissent le code confidentiel
administrateur à 6 caractères qui active le déverrouillage
des relais et restitue un fonctionnement normal.
***P71*** autorise ou inhibe le fonctionnement de la temporisation du
relais n°1. La ligne suivante autorise la temporisation du relais
n°1 :
bcf |
TD1 |
; bsf : disabled |
***P71*** |
celle-ci l'interdit :
bsf |
TD1 |
; bsf : disabled |
***P71*** |
***P72*** et ***P73*** définissent la valeur de la temporisation
du relais n°1. Les valeurs des paramètres doivent être
comprises entre 1 et 255. Le produit des deux paramètres donne
la valeur de la temporisation exprimée en quart de seconde. Si
l'on désire par exemple une temporisation de 30 minutes on remarquera
tout d'abord que 1 minute = 60 secondes = 240 quarts de seconde :
Et l'on écrira :
movlw |
d'240' |
; |
***P72*** |
movlw |
d'30' |
; |
***P73*** |
***P81*** à ***P83*** sont les paramètres homologues pour
la temporisation du relais n°2.
Tout ceci peut paraître long et compliqué la première
fois, mais facilement réalisable si l'on suit bien la procédure.
Après une ou deux expériences il ne vous faudra pas plus de
deux minutes pour entrer tous les paramètres.