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 ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

compteur décompteur sur 7 segments
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#101 Message par Guest » ven. 11 nov. 2016 18:13

Juste rajouter ,que c'est dans un contexte ou la gestion du module affichage est transparent, c'est a dire indépendant des modules :décomptage et clavier le seul liens qui les relis ,c'est les 4 variables de décomptage et la variable index. :sifflotte:

compteur décompteur sur 7 segments
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#102 Message par Guest » ven. 11 nov. 2016 18:15

allez pose moi la question c'est QUOI UN POINTEUR? Pour le timer c'est OK????

compteur décompteur sur 7 segments
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#103 Message par JMarc » ven. 11 nov. 2016 18:21

maï a écrit :
PS bien sur le plus intéressant c'est BouP0 et j"espère que tu vas me poser des questions :sifflotte:


Bien je te la pose la question du pointeur, le timer et même du reste sur BouPx, je n'y comprend rien

compteur décompteur sur 7 segments
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#104 Message par Guest » ven. 11 nov. 2016 18:28

qu'est ce que tu ne comprends pas sur le timer. Il faut bien, commencer par un début allez profit, demain pas tres dispo et la c'est bientôt la fin. Si l'on pouvez terminer avec le timer

compteur décompteur sur 7 segments
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#105 Message par JMarc » ven. 11 nov. 2016 18:49

Pourquoi utilise tu trm1 plutôt que tmr0?
Est-ce que tu réserves tmr0 pour l'affichage?

Tmr1 pour le comptage j'ai compris il fait une interruption toute les 100millisecondes ( on peut changer avec le pré diviseur, ça c'est ok) ensuite un compteur et au bout de 10 fois nous avons une seconde, ok

Si je dois utiliser que tmr0, je devrais y arriver avec tout les exemple que j'ai
Mais les deux à la fois, je n'y arrive pas. Il faut configurer, c'est en cours, mais il y a aussi le traitement de l'interruption car il y en a 2

Il y a aussi, dois je gérer l'afficheur avec timer0?

compteur décompteur sur 7 segments
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#106 Message par Guest » ven. 11 nov. 2016 19:01

dans le fil timer :wink:

compteur décompteur sur 7 segments
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#107 Message par JMarc » sam. 12 nov. 2016 22:54

maï a écrit :Bon allez encore plus court et plus rapide :langue: pas mal optimisé la :sifflotte:

Code : Tout sélectionner

;*********************** Lance decomptage **************************************    
Decom    MOVLW   0X0A            
;on test si 10fois 100mS
    SUBWF   Temp
,W
    BTFSS   STATUS
,Z
    GOTO    BouP            
;NON
    CLRF    Temp            
;OUI RAZ compteur temps et on decompte
;***********************
    MOVFW    ComptSu
    IORWF    ComptSd
,W
    IORWF    ComptMu
,W
    IORWf    ComptMd
,W        ;test si zero
    BTFSC    STATUS
,Z
    GOTO    BouP0
;***********************    
    DECF   ComptSu
,F        ;uS-1
    
    BTFSS    ComptSu
,7
    GOTO    BouP    
    MOVLW    0X09
    MOVWF    ComptSu            
;uS= 9
;***********************    
    DECF    ComptSd
,F        ;dS +1
    
    BTFSS    ComptSd
,7
    GOTO    BouP
    MOVLW    0X5
    MOVWF    ComptSd            
;dS =9
;***********************    
    DECF   ComptMu
,F

    BTFSS    ComptMu
,7
    GOTO    BouP
    MOVLW    0X9
    MOVWF    ComptMu            
;dS =9
;***********************
    DECF   ComptMd                        
    GOTO    BouP


Sans les soustractions, juste un test sur bit 7 occupation générale du programme 226 octets contre 242
Bon, STOP



J'adore ce forum :bravo:

compteur décompteur sur 7 segments
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#108 Message par Guest » dim. 13 nov. 2016 19:13

Merci, mais la je ne sais pas si on peu faire mieux.Niveau optimisation

Attend, donc ton code avec toutes ces modifications.
A+

PS pas très dispos demain

compteur décompteur sur 7 segments
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#109 Message par JMarc » dim. 13 nov. 2016 21:05

Bonsoir Maï

Ne t'inquiète pas, avec tout ce que tu m'as donné, j'en ai pour un bon moment.

Le rafraîchissement de l'affichage tourne avec tmr0, pour le decompteur c'est ok mais pour le réglage avec bp+ mon système d'extinction des afficheurs autre que celui du réglage en cours est à revoir. Il faut aussi que je gère les bp comme tu m'as expliqué. Deux poins auquel je réfléchi :sifflotte:

Pour le decompteur j'ai utilisé ta manière ci dessus sur le test du bip 7, c'est génial :bravo:



J'ai ressorti les bouquins sur l'adressage indexé que j'étudie avant de te poser des questions

Il faut aussi que je crée la parti hard pour justifier a mon épouse les heures passées Attention!!

Jean-Marc

compteur décompteur sur 7 segments
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#110 Message par Guest » lun. 14 nov. 2016 16:43

Bonjour

Pour le décompteur j'ai utilisé ta manière ci dessus sur le test du bip 7, c'est génial :bravo:


Mais cela ne plaît pas tout à fait. Comme toujours Pourquoi

Tu es parti pour faire le décomptage, de l'exemple sur le Comptage. Je tais suivi dans cette logique, mais conseiller aussi de changer de fil :wink:

RETOUR sur ARRET DECOMPTAGE

Pour arrêter ce décomptage on doit faire 0-> ARRÊT Décomptage,est ce bien le cas ? NON on fait quoi 0-1 → -1, la variable ComptMd passe à 0XFF. On la repasse a "+1", donc elle est zéro et on fini avec un RAZ de autres variables et arrêt timer1

Code : Tout sélectionner

   MOVLW   0XFF        ;ici on test si inférieur 0
   SUBWF   ComptMd,W
   BTFSS   STATUS,Z
   GOTO   AFFI         ;NON on affiche et boucleP

    bcf T1CON,TMR1ON    ; timer off
    INCF    ComptMd
     
     clrf  ComptSu
     clrf   ComptSd
     clrf   ComptMu


Tout cela pour dire que l'on Décompte pas de X à zéro mais de X à -1

Allez joint l'organigramme c'est bien plus clair.
-0001.png

Notre situation est bien, je test avant le décomptage, si zéro, on arrête .Donc l'organigramme A.

Allez, petite boucle avec cette organigramme(A)
on part avec Decompt =1

Temps écoule oui ->test decompt =0 ->Non decompt-1. Cela ce traduit par, decomt=0 et la, on n’arrête pas le décomptage NON NON NON . Il faut attendre de nouveau 1 Seconde.
Temps écoulé oui ->test decomp=0 ->oui ->arrêt décomptage

Le A n'est pas ce que l'on recherche.
Le bon organigramme, c'est le B, mais la, je te laisse faire l’exercice et par la même la correction du décomptage . Le test ,si on est a zéro doit se fait juste APRES le décomptage.

Comme quoi il y a du bon de mettre ses idées sur du papier :sifflotte:

A+


PS sur le A tu as le fonctionnement des organigrammes : triangle test ,rectangle nouvelle assignation et le déplacement. J'ai fait cela avec crayon papier, pas très beau mille excuses mais je fais toujours avec un crayon papier :sifflotte: . j'ai pencil sous linux pour faire cela très jolie, mais un peu à la bourre. si pas OK tu me le dis, et on REPREND, IMPORTANT les organigrammes.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 74 invités