En effet, ta boucle est beaucoup trop courte
le DECFSZ prend 1 cycle d'horloge
le GOTO prend 2 cycles d'horloge
tu fais ta boucle de temporisation 0x10 fois, c'est-à-dire 16 fois, elle prend donc 16x3=48 cycles
Si ton PIC tourne à 4 MHz, il me semble qu'il faut 4 oscillations pour un cycle horloge, donc qu'un cycle d'horloge vaut 1/(4 MHz / 4) = 1/1000000 = 1µs (microseconde)
il faut donc imbriquer des boucles... du style
MOVLW 0x30
MOVWF compteur1
boucle1
MOVLW 0xFF
MOVLW compteur2
boucle2
MOVLW 0xFF
MOVWF compteur3
boucle3
DECFSZ compteur3, f
GOTO boucle3
DECFSZ compteur2, f
GOTO boucle2
DECFSZ compteur1, f
GOTO boucle1 |
ça fait 256x256x48 tours de boucles, en prenant grosso modo 3 cycles d'horloge par tour de boucle (en fait c'est un peu plus, je te laisse faire le calcul exact), à 4MHz ça doit faire une tempo d'à peu près 1 seconde
par contre je comprends pas le "temp1 equ 1 "