Bonjour à tous, (je suis nouvelement inscrit de ce matin)
Je suis en train de programmer un 16F887 en assembleur. ce programme est environ mon 10em. je suis certainement pas encore bien aguéri,
mais là... ???. J' électrifie mon portail, mes sorties sont sur le port b ( bien configurées, car la partie du programme "marche manuelle" fonctionne parfaitement bien, tout en utilisant les mêmes sorties...et les mêmes commandes "bsf"). Cependant dans la partie du programme en "marche automatique" celles-ci soit ne ce mettent pas à 1 soit s'annulent les unes au autres (cligotent), bref c'est du n'importe quoi.... Alors que je suis sûre du déroulement (car je met des messages sur mon afficheur à chaques étapes de fonctionnement en même temps que je traite lesdites sorties.) Hors actuellement le programme marche correctement avec des "nop" et autres stratagèmes du même type mais c'est moche... Du coup je n'ai plus trop confiance. , aussi par exemple dans "ouverture petite vitesse".
j'écris:
; ici on vient d'écrire sur l'afficheur "ouv pv"
call LCDchar ;l'afficheur est sur un autre port
nop
bsf MOTEUR ;moteur en marche
nop
bcf GV ;éteind grande vitesse
goto looportail ;retour au debut de la boucle portail pour recalculer sa position
Cette solution marche....Alors que:
nop
bcf GV ;éteind grande vitesse
nop
bsf MOTEUR ;moteur en marche
Cette solution met le moteur en marche mais n'éteind pas la grande vitesse....?
J'ai été voir sur la toile si des fois, quelqu'un sait ce qu'il ce passe mais rien, sur un autre forum étranger une personne avec un probleme similaire les internautes lui ont conseillé des "nop"....
Ma question: quelqu'un pourrait-il m'expliquer ce qui gène le bon déroulement du programme? bug, programme mal construit,plusieurs mise à 1consécutives (je sais pas j'énumère des idées....) autrement le programme fonctionne, mais j'aimerai savoir pour ne plus avoir ce genre de déboire et être sur de ma programmation (pour ne pas que ma femme reste planté devant la porte avec deux gamins qui braillent..).
-----