PIC16F84 Programmation

Bonjour, pouvez-vous s’il vous plaît me corriger ou m’aider, je suis bloqué ici.

 PIC Utilisé / PIC16F84
; on réalise la clinotage de 8 leds séquentiellement sure les branches RB0 a RB7
;Chaque Portb pilote une led
;*******************************************************************************************
;DÉFINITION DES REGISTRES
TMR0		EQU		1
STATUS		EQU		3
PORTA		EQU		5
PORTB		EQU 	6
TRISA		EQU		85H
TRISB		EQU		86H
OPTION_R	EQU		81H
ZERO_BIT	EQU		2
MEMO		EQU			0EH
;****************************************
	List	P = 16F84
	ORG		0
	GOTO	START
;*********************************************
;Sous Programme Temporisation
;Retard1
retard1		CLRF		TMR0
BOUCLEA		MOVF		TMR0,W
			SUBLW		.32
			BTFSS		STATUS,ZERO_BIT
			GOTO		BOUCLEA
			RETLW		0

;Retard2
retard2		CLRF		TMR0
BOUCLEB		MOVF		TMR0,W
			SUBLW		.16
			BTFSS		STATUS,ZERO_BIT					
			GOTO		BOUCLEB
			RETLW		0
;********************************************

;CONFIGURATION SECTION

START		BSF 		STATUS,5
			MOVLW		B'00000000'
			MOVWF		TRISB
;*******************************************************
;Mon programme		
			bcf			STATUS,C
			movlw		B'00000000'
			MOVWF		MEMO
			rlf			MEMO,f

Bonjour,
faut aller sur le site de Bigonoff, sauf que… https://www.abcelectronique.com/bigonoff/
On trouve une copie du site ici Le site
Il y a une section marquée « A Lire attentivement »…
P. Chour

Bonjour,

recherche d’antisèche pour un devoir :slight_smile: ?

Je veux juste des astuces pas la solution , quand j’ai essayer sur proteus une seule LED allume et la commnade RLF n’a pas marché donc il ya pas la rotation des bits et donc les leds n’allume pas séquentiellement

@Tchalagoo
Je ne connais pas les PIC (jamais programmé avec) et encore moins leur assembleur. Mais simplement en essayant d’interpréter la syntaxe par analogie avec d’autres (donc, je peux me tromper):

Si Start est le point d’entrée:

  • Retard1 et Retard2 ne sont jamais appelés. Bizarre…

  • Après le RLF, il ne semble pas y avoir d’instruction donc, ça ne peut pas boucler sur le décalage.

Je pense que ça serait bien de faire un organigramme ! Pour une spécification aussi simple, ça ne va pas prendre beaucoup de temps (aller, 10mn). Ensuite, c’est un problème de syntaxe.

P. Chour

1 « J'aime »

Il manque forcément des lignes au programme !
Ensuite, programmer en assembleur n’est pas inutile, pour comprendre le fonctionnement d’un processeur, mais il est vite plus intéressant de programmer en C. Plus universel, plus portable, écriture bien plus efficace et lisible, debug plus rapide, ouvre la porte vers des programmes plus conséquents. Avec les compilateurs actuels, il y a en général peu d’intérêt à programmer en assembleur. Et puis, essayez de programmer une interface web, en assembleur, sur un processeur 32 bits. Bon courage !
Bon, là, sur un truc aussi basique, c’est (quasiment ?) un exercice d’école, il faut apprendre à se débrouiller.

1 « J'aime »

La réponse à la question est

Pascal

C’est tout de même étrange de poster sur un forum plutôt dédié aux vieilleries genre TSF (quoique) pour programmer un PIC, n’est-il pas ? :thinking: