Bonjour,
j'ai un programme qui tourne sans problème sur un pic 16f84A, mais sur un pic 16f628, la lecture des entrées (en provenance des boutons poussoirs) n'aboutit à rien
en fait l'algo du programme est comme suit :
1) allumage d'une LED 20 fois.
2) boucle infinie avec lecture des ports et exécution d'instructions selon le bouton appuyé , à la pression d'un bouton, la LED s'allumera et d'autres instructions seront exécutées par la suite...
le problème c'est que sur le 16F628, l'étape 1) est exécutée, mais à la pression du bouton relié à RA0 (le seul permis en premier temps) et même en maintenant le bouton enfoncé, la diode ne s'allume pas, donc le PIC n'arrive pas à lire l'état de la pin ou quoi ??? elle est pourtant configurée en entrée
avec le même montage et les mêmes conditions le pic 16f84a exécute sans problème tout le programme, et ce même s'il est alimenté par 3 V
portion du code en mikropascal :
une autre remarque : sur le PIC 16F84A, au lieu d'utiliser : B1_Pin = 1Code:........ VAR B1_Pin : SBIT AT RA0_bit; B1_Dir : SBIT AT TRISA0_bit; B2_Pin : SBIT AT RA1_bit; B2_Dir : SBIT AT TRISA1_bit; ... LED_Pin : SBIT AT RB0_bit; LED_Dir : SBIT AT TRISB0_bit; PROCEDURE Blink_Led; BEGIN LED_Pin := 1; Delay_ms(20); LED_Pin := 0; Delay_ms(20); END; PROCEDURE Setup; VAR i : BYTE; BEGIN TRISA := 0; TRISB := 0; B1_Dir := 1; B2_Dir := 1; .... Order_Passed := FALSE; .... .... FOR i := 0 TO 20 DO BEGIN Blink_Led; Delay_ms(100); END; END; Begin Setup; WHILE TRUE DO BEGIN IF (B1_Pin = 1) AND (Order_Passed = FALSE) THEN BEGIN Blink_Led; ..... END; IF (B2_Pin = 1) AND (Order_Passed = TRUE) THEN BEGIN Blink_Led; ...... END; // 2 autres instructions IF END.
je l'ai changé par PORTA.0 = 1
c'est la même chose, mais je me demande si c'est à cause de ça... désolé je suis tellement désespéré que je dis n'importe quoi...
je ne comprends plus rien
PS : pour le pic 16f master clear : disable + brown out detect : disable + oscillator XT 4 mhz + alimentation : j'ai essayé avec 3 et 4 volts pensant que le problème pourrait être la tension.
Merci de m'éclaircir ce problème qui m'inquiète et qui entrave l'achèvement de mon pfe
-----