Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
Modérateur : mazertoc
Compilation programme
-
RETRAITE128

Amateur- Messages : 125
- Enregistré en : août 2021
paulfjujo a écrit :bonjour,RETRAITE128 a écrit :Merci Gérard,
Je ne cherche pas un schéma d'horloge, j'en ai déjà réalisé un paquet; là je voulais juste en réaliser un petite pour notre salon.
Manque de chance ou mauvais choix, mais je suis tombé sur une qui ne fonctionne pas, et de plus personne sur le site pour répondre aux questions.
Merci tout de même,
Cordialement,
Alain
je viens de jeter un oeil sur le source .. mal documenté d'ailleurs
le traitement de l' ISR me parait singulier
deja : on ne mets pas GIE à zero dans l' ISR !
puis , je pense que le timing global est basé sur TMR0 et non pas sur le parametre à modifier 200 -> 195 !
l'init TMR0 =5 donne => 4016µS
l'erreur de temps horloge, est je pense , à ce niveau
modif : TMR5=6 => interrupt modulo 4000µS
a tester ..
Bonjour Pauljujo,
J'ai fait l'essai de modifier le TMR0, mais hélas l'horloge prend rapidement de l'avance et en plus le point des secondes disparaît.
Décidément pas facile,
Cordialement,
Alain
Compilation programme
Bonjour
Remplace la partie ISR, jusqu'au RETFIE par ces lignes, à essayer.
Remplace la partie ISR, jusqu'au RETFIE par ces lignes, à essayer.
Code : Tout sélectionner
ISR MOVWF WHAT ; interruption toutes les 4ms
MOVLW .6 ; 4ms = (256-6)*16us
MOVWF TMR0
SWAPF STATUS,0
MOVWF QSTAT
BCF INTCON,T0IF
INCF DEL0,1 ; DEL0 compte les interruptions
MOVF DEL0,0
XORLW .125 ; si DEL0 = 125, 1/2 seconde
BTFSC STATUS,Z
BCF DP ; point décimal off
MOVF DEL0,0
XORLW .250 ; si DEL0 = 250, 1 seconde
BTFSS STATUS,Z
GOTO LABLE
BSF DP ; point décimal on
CLRF DEL0 ; raz compteur
CALL INCR ; incrémenter secondes
LABLE SWAPF QSTAT,0
MOVWF STATUS
SWAPF WHAT,1
SWAPF WHAT,0
RETFIE
Compilation programme
-
RETRAITE128

Amateur- Messages : 125
- Enregistré en : août 2021
Compilation programme
Compilation programme
Bonjour,
Par défaut c'est exprimé en hexadécimal,
De plus, le temps d'affichage des digits et lié à cette routine ci -dessous, qu'il faudra modifier si on voit rien, par défaut il est actuellement de 770 µs approximativement, je trouve que c'est beaucoup, moi j'aurais mi 255 µs
Après tout dépend du quartz utilisé... ?
A+
Par défaut c'est exprimé en hexadécimal,
Code : Tout sélectionner
KEYX BSF STATUS,RP0
CLRF TRISB
BCF STATUS,RP0
MOVLW .100 <------- il y a comme un problème ici
MOVWF DEL02
CALL SCAN
DECFSZ DEL02,1
GOTO $-.2
BSF INTCON,GIE
BCF OPTION_REG,7
RETURN
RETRAITE128 a écrit :Source du message Le point des secondes a disparu,
De plus, le temps d'affichage des digits et lié à cette routine ci -dessous, qu'il faudra modifier si on voit rien, par défaut il est actuellement de 770 µs approximativement, je trouve que c'est beaucoup, moi j'aurais mi 255 µs
Après tout dépend du quartz utilisé... ?
Code : Tout sélectionner
DELAY01 DECFSZ DEL,1
GOTO $-.1
CLRF PORTB
RETURN
Compilation programme
J'avais pas vu qu'il remet à zéro tout le port B.
Il modifie le registre OPTION_REG alors qu'il n'est pas en bank1, c'est donc TMR0 qui serait modifié ?
Mets la ligne "CALL KEY" en commentaire, et vérifie que l'horloge tourne bien, sans la mettre à l'heure, c'est un début :)
Code : Tout sélectionner
ISR MOVWF WHAT ; interruption toutes les 4ms
MOVLW .6 ; 4ms = (256-6)*16us
MOVWF TMR0
SWAPF STATUS,0
MOVWF QSTAT
BCF INTCON,T0IF
INCF DEL0,1 ; DEL0 compte les interruptions
MOVF DEL0,0
SUBLW .125 ; point décimal clignotant
BTFSC STATUS,C
BCF DP ; point décimal off
BTFSS STATUS,C
BSF DP ; point décimal on
MOVF DEL0,0
XORLW .250 ; si DEL0 = 250, 1 seconde
BTFSS STATUS,Z
GOTO LABLE
CLRF DEL0 ; raz compteur
CALL INCR ; incrémenter secondes
LABLE SWAPF QSTAT,0
MOVWF STATUS
SWAPF WHAT,1
SWAPF WHAT,0
RETFIE
Il modifie le registre OPTION_REG alors qu'il n'est pas en bank1, c'est donc TMR0 qui serait modifié ?
Mets la ligne "CALL KEY" en commentaire, et vérifie que l'horloge tourne bien, sans la mettre à l'heure, c'est un début :)
Compilation programme
-
RETRAITE128

Amateur- Messages : 125
- Enregistré en : août 2021
Bonsoir à tous,
Merci pour vos réponses, mais je ne suis pas un grand spécialiste de la programmation.
Est-ce la dernière partie du programme proposée par satinas que je dois changer dans mon fichier .asm de départ ?
Je ne trouve pas la ligne "CALL KEY "dans le programme complet pour la mettre en commentaire.
Quel fichier .asm actuel voulez vous que je vous joigne?
Tempsx, avez-vous pu continuer sur le pourquoi du comment le lien ne fonctionne pas dans jens file ne fonctionne pas pour enclencher MPASM ?
Je pourrais vous joindre une capture d'écran montrant la configuration de ce programme, si vous me dites comment faire pour l'insérer dans ce texte.
[img]E:\Fichiers%20HEX\Horloge%202\Capture.png[/img]
Encore mille merci pour vos aides,
Cordialement,
Alain
Merci pour vos réponses, mais je ne suis pas un grand spécialiste de la programmation.
Est-ce la dernière partie du programme proposée par satinas que je dois changer dans mon fichier .asm de départ ?
Je ne trouve pas la ligne "CALL KEY "dans le programme complet pour la mettre en commentaire.
Quel fichier .asm actuel voulez vous que je vous joigne?
Tempsx, avez-vous pu continuer sur le pourquoi du comment le lien ne fonctionne pas dans jens file ne fonctionne pas pour enclencher MPASM ?
Je pourrais vous joindre une capture d'écran montrant la configuration de ce programme, si vous me dites comment faire pour l'insérer dans ce texte.
[img]E:\Fichiers%20HEX\Horloge%202\Capture.png[/img]
Encore mille merci pour vos aides,
Cordialement,
Alain
Compilation programme
Supprimer et remplacer une partie du programme.
Partie à supprimer :
Mettre un ; devant la ligne CALL KEY en fin de programme, comme ceci :
Pas de saisie à la main, hein
si vous ne savez pas faire du copier-coller, ce sera plus simple de vous donner le programme complet modifié pour test.
Partie à supprimer :
Code : Tout sélectionner
ISR BCF INTCON,GIE
MOVWF WHAT
SWAPF STATUS,0
MOVWF QSTAT
BCF INTCON,T0IF
MOVLW .5
MOVWF TMR0
INCF DEL0,1
MOVF DEL0,0
ANDLW B'01111111'
BCF STATUS,Z
XORLW .125
BTFSS STATUS,Z
GOTO LABLE
BTFSS DEL0,7
GOTO $+.5
CLRF DEL0
CALL INCR
GOTO LABLE
GOTO LABLE
BTFSS DEL0,7
GOTO $+.5
CLRF DEL0
BCF DP ; DECIMAL POINT
CALL INCR
GOTO LABLE
MOVLW .200 ; DECIMAL POINT DELAY SETTING
MOVWF DEL0 ;DECIMAL POINT
BSF DP
LABLE SWAPF QSTAT,0
MOVWF STATUS
SWAPF WHAT,1
SWAPF WHAT,0
BSF INTCON,GIE
RETFIEMettre un ; devant la ligne CALL KEY en fin de programme, comme ceci :
Code : Tout sélectionner
BSF INTCON,GIE
BCF STATUS,RP0
CALL SCAN
; CALL KEY
GOTO $-.2
ORG 2007h
DATA 3FF1h
END
Pas de saisie à la main, hein
Compilation programme
Compilation programme
Bonsoir tout le monde,
Demain je vous mettrais un lien en téléchargement avec tout de paramétré, il faudra juste le décompresser sur le lecteur D:\
A propos du programme
Le mieux est de réécrire le programme ASM, je vais voir si j'ai 5 minutes pour le faire, puis ça seras amusant à faire, et ça mettra un peu d'entrain sur le forum
A+
RETRAITE128 a écrit :Source du message Tempsx, avez-vous pu continuer sur le pourquoi du comment le lien ne fonctionne pas dans jens file ne fonctionne pas pour enclencher MPASM ?
Demain je vous mettrais un lien en téléchargement avec tout de paramétré, il faudra juste le décompresser sur le lecteur D:\
A propos du programme
Le mieux est de réécrire le programme ASM, je vais voir si j'ai 5 minutes pour le faire, puis ça seras amusant à faire, et ça mettra un peu d'entrain sur le forum
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

