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
compteur décompteur sur 7 segments
sous debug
gestion de l'affichage jusqu'à BouP tout va bien, un passage toute les 2 millisecondes
arrivé dans la boucle, si moins d'une seconde retour avec GOTO a la gestion de l'afficheur donc pas de test bouton car il est plus loin
gestion de l'affichage jusqu'à BouP tout va bien, un passage toute les 2 millisecondes
Code : Tout sélectionner
;********************** Boucle principale *************************************
BouP MOVLW 0X0A ;on test si 10fois 100mS
SUBWF Temp,W
BTFSS STATUS,Z
GOTO AFFI ;NON
CLRF Temp ;RAZ compteur temp
INCF ComptSu ; oui compteur seconde +1
arrivé dans la boucle, si moins d'une seconde retour avec GOTO a la gestion de l'afficheur donc pas de test bouton car il est plus loin
compteur décompteur sur 7 segments
pour la sorti de boucle, pour moi cela fonctionne
Enlève la tempo et dit moi si cela fonctionne, Car tu passes directe
Code : Tout sélectionner
goto Suitevalid
Modifié en dernier par Anonymous le sam. 5 nov. 2016 19:49, modifié 1 fois.
compteur décompteur sur 7 segments
compteur décompteur sur 7 segments
bon c'est normal on est encore sur plusieurs projets a la fois, il y a le décomptage qui tourne alors que dans la procédure on doit:
charger 4 variables de la valeur du décomptage par exemple 3mn pour nos oeuf
puis appuyer sur validation temps LONG pour lancer le décomptage
arriver a zero arret décomptage et rend la main aux BP
possibilité arret du décomptage en court de route si appuie long sur validation mais on n'est pas encore la
charger 4 variables de la valeur du décomptage par exemple 3mn pour nos oeuf
puis appuyer sur validation temps LONG pour lancer le décomptage
arriver a zero arret décomptage et rend la main aux BP
possibilité arret du décomptage en court de route si appuie long sur validation mais on n'est pas encore la
compteur décompteur sur 7 segments
compteur décompteur sur 7 segments
compteur décompteur sur 7 segments
compteur décompteur sur 7 segments
maï....encore merci pour ta patience
Même si je ne répond pas a toute cette mine d'information que tu me fournis, sache que je tiens note de tout.
Certe, il y a beaucoup de chose que je ne comprend pas mais dans l'ensemble j'avance.
J'ai continué avec le bouton valid, rajoute un bouton pour le plus, fait 50 programmations pour l'avoir en réel sur la platine, tracé avec débug, a chaque fois il manquait quelque chose
mais j'avance
Ça y est, j'ai réussi a changé les unités, le reste me paraît facile maintenant, il suffit le faire pareil pour les autres afficheurs, reprogrammer pour l'avoir en réel, m'apercevoir que cela ne fonctionne pas, recommencer
mais je suis très content.
Demain repos avec ma famille, lundi je continue puis je mettrai le code sur le forum et je reprendrai tes posts du début pour faire un prog plus clair
Merci encore, Jean-Marc
Même si je ne répond pas a toute cette mine d'information que tu me fournis, sache que je tiens note de tout.
Certe, il y a beaucoup de chose que je ne comprend pas mais dans l'ensemble j'avance.
J'ai continué avec le bouton valid, rajoute un bouton pour le plus, fait 50 programmations pour l'avoir en réel sur la platine, tracé avec débug, a chaque fois il manquait quelque chose
Ça y est, j'ai réussi a changé les unités, le reste me paraît facile maintenant, il suffit le faire pareil pour les autres afficheurs, reprogrammer pour l'avoir en réel, m'apercevoir que cela ne fonctionne pas, recommencer
Demain repos avec ma famille, lundi je continue puis je mettrai le code sur le forum et je reprendrai tes posts du début pour faire un prog plus clair
Merci encore, Jean-Marc
compteur décompteur sur 7 segments
Bonjour
Alors pour avancer:
1/
Pose un point d’arrêt (pose ici point d’arrêt) et dit moi si tu passes, par ce point d’arrêt, si oui quand ?
2/
Sur la directive direction.
Cela pose la question, quand utiliser, des définitions et des assignations .J'en profite les 2 comme ça c'est fait
-un assignation le préprocesseur remplace lorsque il trouve une assignation par la VALEUR qui suit exemple le registre WREG sera charge de la valeur 0x20
- une définition le préprocesseur remplace lorsque il trouve une définition le TEXTE qui suit cette définition exemple
reviens a écrire BSF PORTB,0
Réponse à cette question: on voit pour le cas des définitions, il plus facile de lire LED_R QUOI QUE PORTB.0 on sait que c'est le bit zéro du portB oui parce que j'ai l'info juste dessus mais si PORTB,0 se ballade un peu partout dans mon code la cela deviens plus difficile a cerner le PORTB,0 c'est quoi deja , à oui, la LED_R .
Donc J'UTILISE (après a toi de faire ta propre philosophie ) les #DEFINE uniquement lorsque elles se répètent dans un source OU dans un projet
La fameuse #DEFINE _XTAL_FREQ ,on l'utilise un peut de partout dans les timers, dans les macros delay ,dans USART....
Ta define direction, tu l'utilises une fois pour dire RB0:RB2 sont des entrées et ton info elle est en tète de fichier(attention au allez/retour), moi elle est juste au dessus du TRISB et avec une belle explication sans ambiguïté RB0:RB2 en entrées
Pour les assignations généralement lorsque il y a, des calcules à faire, exemple sur le TIMER1. Mais un peu plus d'info plus tard, la tu as de quoi faire
A+ bon dimanche a tous
Alors pour avancer:
1/
Code : Tout sélectionner
bouclevalid
nop
BTFSC BOUTONVALID
goto Suitevalid
o CALL Tem20ms ;pose ici point arret
goto bouclevalid
Suitevalid
CALL Tem20ms
BCF PORTA,0 ;arrêt digit0
CLRF Temp ;RAZ compteur temp
Pose un point d’arrêt (pose ici point d’arrêt) et dit moi si tu passes, par ce point d’arrêt, si oui quand ?
2/
Sur la directive direction.
Cela pose la question, quand utiliser, des définitions et des assignations .J'en profite les 2 comme ça c'est fait
-un assignation le préprocesseur remplace lorsque il trouve une assignation par la VALEUR qui suit exemple
Code : Tout sélectionner
DRAM EQU 0x20 ;début Mémoire Ram banque0
MOVLW DRAM
- une définition le préprocesseur remplace lorsque il trouve une définition le TEXTE qui suit cette définition exemple
Code : Tout sélectionner
#DEFINE LED_R PORTB,0
BSF LED_R
Réponse à cette question: on voit pour le cas des définitions, il plus facile de lire LED_R QUOI QUE PORTB.0 on sait que c'est le bit zéro du portB oui parce que j'ai l'info juste dessus mais si PORTB,0 se ballade un peu partout dans mon code la cela deviens plus difficile a cerner le PORTB,0 c'est quoi deja , à oui, la LED_R .
Donc J'UTILISE (après a toi de faire ta propre philosophie ) les #DEFINE uniquement lorsque elles se répètent dans un source OU dans un projet
La fameuse #DEFINE _XTAL_FREQ ,on l'utilise un peut de partout dans les timers, dans les macros delay ,dans USART....
Ta define direction, tu l'utilises une fois pour dire RB0:RB2 sont des entrées et ton info elle est en tète de fichier(attention au allez/retour), moi elle est juste au dessus du TRISB et avec une belle explication sans ambiguïté RB0:RB2 en entrées
Pour les assignations généralement lorsque il y a, des calcules à faire, exemple sur le TIMER1. Mais un peu plus d'info plus tard, la tu as de quoi faire
A+ bon dimanche a tous
compteur décompteur sur 7 segments
Tient si tu veux avancer en restant avec ce source (AMHA c'est pas terrible mais bon) il suffit d’arrêter le TIMER1 (BCF T1CON,TMR1ON)
cela te permet de travail sur 1 digt comme tu voulais
Code : Tout sélectionner
;******************* Initialisation des timers/compteurs *************
; ici on va travailler avec le TIMER1
;*********************************************************************
MOVLW (0)|(0)|(1<<T1CKPS1)|(1<<T1CKPS0)|(0<<T1OSCEN)|(0<<T1SYNC)|(0<<TMR1CS)|(0<<TMR1ON)
MOVWF T1CON
MOVLW TIMER1H ;on charge le TIMER1
MOVWF TMR1H
MOVLW TIMER1L ;voir son calcul dans
MOVWF TMR1L ;assignation
BCF T1CON,TMR1ON ;ON TMR1 ICI
cela te permet de travail sur 1 digt comme tu voulais
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Bing [Bot] et 3 invités

