Salut à tout le monde je ne suis pas sur qu'il faut bien poster ce sujet ici corrigé moi si je me suis trompé.
Je suis en train de programmer un pic 16f628 en Basic mon but est de faire clignoter des leds et aussi de faire un défilement j'ai déjà réussi ces 2 étapes j'ai également réussi faire en sorte de changer de programme en appuyant sur un bouton poussoir. Maintenant, je dois faire en sorte de pouvoir changer la vitesse de clignotement et de défilement des leds en appuyant sur un autre bouton poussoir (3 vitesses). C'est la que je bloque je n'y arrive pas du tout si quelqu'un pouvait me montrer quoi rajouter parce que la je sèche. Je pense qu'il faut jouer au niveau des tempos et faire des tests dedans (comme j'ai fait plus bas) mais je ne sais pas du tout comment taper ça dans mon programme. Je vous tiendrait au courant pour vous dire si ça marche
merci d'avance.
voila mon programme
Code:#include<p16f628.inc> CBLOCK 0x020 cmpt1 : 1 cmpt2 : 1 cmpt3 : 1 vit1 : 1 ENDC #define LED0 PORTB,0 #define LED1 PORTB,1 #define LED2 PORTB,2 #define LED3 PORTB,3 #define LED4 PORTB,4 #define LED5 PORTB,5 #define LED6 PORTB,6 #define LED7 PORTB,7 org 0 bsf STATUS,RP0 bcf TRISB,0 bcf TRISB,1 bcf TRISB,2 bcf TRISB,3 bcf TRISB,4 bcf TRISB,5 bcf TRISB,6 bcf TRISB,7 bsf TRISA,0 bcf STATUS,RP0 bsf CMCON,0 bsf CMCON,1 bsf CMCON,2 movlw 1 movwf vit1 cligno bsf PORTB,0 bsf PORTB,1 bsf PORTB,2 bsf PORTB,3 bsf PORTB,4 bsf PORTB,5 bsf PORTB,6 bsf PORTB,7 call tempo bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 call tempo goto cligno defile bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 bsf PORTB,0 call tempo1 bcf PORTB,0 bsf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 call tempo1 bcf PORTB,0 bcf PORTB,1 bsf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 call tempo1 bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bsf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 call tempo1 bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bsf PORTB,4 bcf PORTB,5 bcf PORTB,6 bcf PORTB,7 call tempo1 bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bsf PORTB,5 bcf PORTB,6 bcf PORTB,7 call tempo1 bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bsf PORTB,6 bcf PORTB,7 call tempo1 bcf PORTB,0 bcf PORTB,1 bcf PORTB,2 bcf PORTB,3 bcf PORTB,4 bcf PORTB,5 bcf PORTB,6 bsf PORTB,7 call tempo1 goto defile tempo boucle3 clrf cmpt2 boucle2 clrf cmpt1 boucle1 nop btfsc PORTA,0 call antireboncligno btfsc PORTA,1 call vit decfsz cmpt1 , f goto boucle1 decfsz cmpt2 , f goto boucle2 decfsz cmpt3 , f goto boucle3 return tempo1 movlw 1 movwf cmpt3 boucle6 clrf cmpt2 boucle5 clrf cmpt1 boucle4 nop btfsc PORTA,0 call antirebondefile btfsc PORTA,1 goto vit decfsz cmpt1 , f goto boucle4 decfsz cmpt2 , f goto boucle5 decfsz cmpt3 , f goto boucle6 return antireboncligno movlw 10 movwf cmpt3 boucle9 movlw 10 movwf cmpt2 boucle8 movlw 10 movwf cmpt1 boucle7 nop decfsz cmpt1 , f goto boucle7 decfsz cmpt2 , f goto boucle8 decfsz cmpt3 , f goto boucle9 anti1 btfss PORTA,0 btfsc PORTA,1 goto vit goto defile goto anti1 antirebondefile movlw 10 movwf cmpt3 boucle12 movlw 10 movwf cmpt2 boucle11 movlw 10 movwf cmpt1 boucle10 nop decfsz cmpt1 , f goto boucle10 decfsz cmpt2 , f goto boucle11 decfsz cmpt3 , f goto boucle12 anti2 btfss PORTA,0 btfsc PORTA,1 goto vit goto cligno goto anti2 vit btfsc PORTA,1 goto vit incf vit1,f movlw vit1 sublw 4 btfsc STATUS,Z goto vit return end
-----