s'il vous plait j'ai des problèmes pour faire clignoter une led avec un pic 16F873 toute les secondes. j'ai compilé et simulé ça marche mais en pratique ça ne marche pas. je vous sollicite peut etre mon code manque des elements.
merci beaucoup.
voici mon code:
MAIN CODE
;initialisation des ports
;************************
start
bcf STATUS, RP0 ; selectionner la bankO
bcf STATUS, RP1
clrf PORTA ; efface le PORTA
bsf STATUS,RP0 ;selectionner la bank1
movlw 0x06 ; PORTA = digital input/output
movwf ADCON1
movlw b'00000000' ; RA0.....>RA7 en sortie
movwf TRISA
;bcf PORTA,0 ; éteindre_led à la patte RA0
;bsf PORTA,0 ; Allume_led à la patte RA0
bsf PORTA,1
;goto temporisation
bcf PORTA,1
;goto temporisation
goto boucle_led
goto start
;fin du programme main
boucle_led:
btfss PORTA,1 ;led alummée
goto allume_led ; nous allons allumer la led
goto éteindre_led ; nous allons éteindre la led
allume_led:
bsf PORTA,1
goto temporisation ; allumer la led pendant 1 seconde;
goto boucle_led
éteindre_led:
bcf PORTA,1
goto temporisation ;éteindre la led pendant 1 seconde
;goto boucle_led
temporisation:
clrf compteur_allume_led ;éffacer compteur_allume_led
boucle2:
clrf compteur_éteindre_led ;éffacer compteur_éteindre_led
boucle1:
nop ;perdre 1 cycle
decfsz compteur_éteindre_led,f ;décrémenter compteur etéint led
goto boucle1 ;si pas 0, je boucle
decfsz compteur_allume_led , f ; si 0, décrémenter compteur 2
goto boucle2 ;si compteur_allume_led pas 0,
;recommencer boucle1
goto boucle_led ;retour au progr prin à la fin
;d'une sous routine
; initialisation des variables
; initialisation des ports d'E/S
; clrf PORTB
; remaining code goes here
END ; directive fin de programme
-----