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
16f876 , Police Windows et Écran OLED Ssd1306
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour a tous
Ce matin blocage du cerveau
J'ai besoin de faire une rotation sur un octet type
0110 1111 -> vers 1111 0110
L'objectif c'est de faire une rotation des 8 bits sans la carry et avec un 16f
Si vous avez une solution simple je prends
Merci d'avance
Francois
Traitement de l'image par quart
Ce matin blocage du cerveau
J'ai besoin de faire une rotation sur un octet type
0110 1111 -> vers 1111 0110
L'objectif c'est de faire une rotation des 8 bits sans la carry et avec un 16f
Si vous avez une solution simple je prends
Merci d'avance
Francois
Traitement de l'image par quart
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
16f876 , Police Windows et Écran OLED Ssd1306
Bonjour a tous
L'instruction swapf fait cela, elle échange les 2 quartets d'un octet en ram, vers W ou vers la ram, sans modifier STATUS.
Bonne idée de calculer un quart de cercle, puis de faire un effet miroir. On peut aussi aller jusqu'au 1/8 de cercle.
De même le cercle est une ellipse particulière, autant faire un algo pour l'ellipse, mais là on se limite au quart de cercle, et si l'ellipse est inclinée ?
L'instruction swapf fait cela, elle échange les 2 quartets d'un octet en ram, vers W ou vers la ram, sans modifier STATUS.
Bonne idée de calculer un quart de cercle, puis de faire un effet miroir. On peut aussi aller jusqu'au 1/8 de cercle.
De même le cercle est une ellipse particulière, autant faire un algo pour l'ellipse, mais là on se limite au quart de cercle, et si l'ellipse est inclinée ?
16f876 , Police Windows et Écran OLED Ssd1306
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour Satinas,
" L'instruction swapf fait cela, elle échange les 2 quartets d'un octet en ram, vers W ou vers la ram, sans modifier STATUS."
Sauf erreur de ma part, cela ne va pas le faire !
SWAPF = 1110 0001 => 0001 1110
C'est vraiment une inversion bit a bit que je veux faire
1110 0001 => 1000 01111
" Bonne idée de calculer un quart de cercle, puis de faire un effet miroir. On peut aussi aller jusqu'au 1/8 de cercle."
Plus compliqué a faire car après il faut faire la gestion des lignes 0 a 7
" De même le cercle est une ellipse particulière, autant faire un algo pour l'ellipse, mais là on se limite au quart de cercle, et si l'ellipse est inclinée ?"
Mon petit cerveau est en mode 286 avec 500k de ram , donc cela devient compliqué pour moi
Merci pour ton retour rapide, je vais creuser une solution
A+
Francois
" L'instruction swapf fait cela, elle échange les 2 quartets d'un octet en ram, vers W ou vers la ram, sans modifier STATUS."
Sauf erreur de ma part, cela ne va pas le faire !
SWAPF = 1110 0001 => 0001 1110
C'est vraiment une inversion bit a bit que je veux faire
1110 0001 => 1000 01111
" Bonne idée de calculer un quart de cercle, puis de faire un effet miroir. On peut aussi aller jusqu'au 1/8 de cercle."
Plus compliqué a faire car après il faut faire la gestion des lignes 0 a 7
" De même le cercle est une ellipse particulière, autant faire un algo pour l'ellipse, mais là on se limite au quart de cercle, et si l'ellipse est inclinée ?"
Mon petit cerveau est en mode 286 avec 500k de ram , donc cela devient compliqué pour moi
Merci pour ton retour rapide, je vais creuser une solution
A+
Francois
16f876 , Police Windows et Écran OLED Ssd1306
Ce n'est plus une rotation alors.
En m'aidant de cette page http://www.piclist.com/techref/microchi ... evbits.htm
En m'aidant de cette page http://www.piclist.com/techref/microchi ... evbits.htm
Code : Tout sélectionner
clrf cpt
...
movlw b'11100001'
movwf byte_in
call invert_byte
...
invert_byte
clrf byte_out
bsf cpt,3
invert_bit
rrf byte_in
rlf byte_out
decfsz cpt
goto invert_bit
return
16f876 , Police Windows et Écran OLED Ssd1306
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
16f876 , Police Windows et Écran OLED Ssd1306
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
16f876 , Police Windows et Écran OLED Ssd1306
Bonsoir francois77, et tout le forum,
pour l'idée, mettre les 1/4 de données dans un tableau c'est pas un algorithme, mais c'est une très bonne idée.
Comme l'explique satinas, généralement on fait la même chose avec seulement les 1/8 de cercle quand appelle 1 octant(45°) avec l'algorithme de Bresenham.
Puis on les reproduits 8 fois de suite
J'ai fini ma routine, qui fonctionne sans aucun tableau, je vais la mettre sur le forum, mais avant faut que je la mettre au clair, avec quelle que commentaire pour bien comprendre son fonctionnement.
A+
pour l'idée, mettre les 1/4 de données dans un tableau c'est pas un algorithme, mais c'est une très bonne idée.
Comme l'explique satinas, généralement on fait la même chose avec seulement les 1/8 de cercle quand appelle 1 octant(45°) avec l'algorithme de Bresenham.
Puis on les reproduits 8 fois de suite
J'ai fini ma routine, qui fonctionne sans aucun tableau, je vais la mettre sur le forum, mais avant faut que je la mettre au clair, avec quelle que commentaire pour bien comprendre son fonctionnement.
A+
16f876 , Police Windows et Écran OLED Ssd1306
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour a tous
Au départ, j'avais eu l'idée de me servir d'Excel pour fabriquer mes propres images en 128 * 64
la suite c'était de fabriquer des images miroir types cercles, rectangles, formes xy .....
La suite bis , c'était des faires des cercles
Petit test avec une vidéo faites Windows (Win + g)
grosfi.ch/HFTePUYVnuq
Sur l'écran en vrai c'est pas mal (11 images en 1/4)
Pour le 1/8 j'ai tenté de comprendre le principe, mais pour l'instant bof bof
J'attends avec impatience la version de Temps-x
A+
Francois
Au départ, j'avais eu l'idée de me servir d'Excel pour fabriquer mes propres images en 128 * 64
la suite c'était de fabriquer des images miroir types cercles, rectangles, formes xy .....
La suite bis , c'était des faires des cercles
Petit test avec une vidéo faites Windows (Win + g)
grosfi.ch/HFTePUYVnuq
Sur l'écran en vrai c'est pas mal (11 images en 1/4)
Pour le 1/8 j'ai tenté de comprendre le principe, mais pour l'instant bof bof
J'attends avec impatience la version de Temps-x
A+
Francois
16f876 , Police Windows et Écran OLED Ssd1306
Bonsoir francois77, et tout le forum,
Je te mets tous les détailles dans la semaine, code + fichier compilé, avec surement une petite vidéo sur les deux algorithmes ligne droite et circle,
La version 8 bits et fonctionnelle, mais comme j'aime bien faire les choses, je suis entrain de l’adapter pour les écrans 16 bits, pas évident à faire.
Comme ça je reviendrais pas dessus , de plus je la rends compatible pour 16F et 18F, il y a 220 ligne en code + deux macro qui s'appelle circle
et ligne
A+
Je te mets tous les détailles dans la semaine, code + fichier compilé, avec surement une petite vidéo sur les deux algorithmes ligne droite et circle,
La version 8 bits et fonctionnelle, mais comme j'aime bien faire les choses, je suis entrain de l’adapter pour les écrans 16 bits, pas évident à faire.
Comme ça je reviendrais pas dessus , de plus je la rends compatible pour 16F et 18F, il y a 220 ligne en code + deux macro qui s'appelle circle
et ligne
A+
16f876 , Police Windows et Écran OLED Ssd1306
-
francois77
Passioné- Messages : 307
- Enregistré en : avril 2022
Bonjour Temp-x et tout le forum
De mon côté, je m’amuse avec mes petits essais
Pour faire mon graph, ma première version de 20 « tableau » fessait 2688 octet. Sur mon 16f cela commençait à poser un vrai problème de taille
Une nouvelle version est en cours et devrait diminuer de taille considérablement (1286 octet)
Mon idée a est la suivante :
Au lieu d’avoir 20 tableaux de 4 lignes par 32 caractères (64* 64), je vais faire des tableaux partiels
J’espère avoir le temps de le faire avant la fin de la semaine, car j’ai dû bouleau qui m’attend à l’extérieur
Même si je travaille de mon côté, j’attends de voir ta réalisation qui me permettra de comprendre (je l’espère) ton algorithme.
A+
Francois
De mon côté, je m’amuse avec mes petits essais
Pour faire mon graph, ma première version de 20 « tableau » fessait 2688 octet. Sur mon 16f cela commençait à poser un vrai problème de taille
Une nouvelle version est en cours et devrait diminuer de taille considérablement (1286 octet)
Mon idée a est la suivante :
Au lieu d’avoir 20 tableaux de 4 lignes par 32 caractères (64* 64), je vais faire des tableaux partiels
J’espère avoir le temps de le faire avant la fin de la semaine, car j’ai dû bouleau qui m’attend à l’extérieur
Même si je travaille de mon côté, j’attends de voir ta réalisation qui me permettra de comprendre (je l’espère) ton algorithme.
A+
Francois
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 36 invités