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
Emetteur RC5 8 canaux
Bonsoir nondediode, et tout le forum,
En réalité on peut obtenir beaucoup plus que cela avec 8 entrées, on pourrait obtenir 254 boutons.
Suffirait de faire un ET logique.
Avec 4 entrées tu peux obtenir 16 touches
B'00000000' ; <--- non compté
B'00000001' ; <--- touche 1
B'00000010' ; <--- touche 2
B'00000011' ; <--- touche 3
B'00000100' ; <--- touche 4
B'00000101' ; <--- touche 5
B'00000110' ; <--- touche 6
B'00000111' ; <--- touche 7
B'00001000' ; <--- touche 8
B'00001001' ; <--- touche 9
B'00001010' ; <--- touche 10
B'00001011' ; <--- touche 11
B'00001100' ; <--- touche 12
B'00001101' ; <--- touche 13
B'00001110' ; <--- touche 15
B'00001111' ; <--- touche 16
A titre d'exemple voici un bout de code pour gérer plusieurs touches
Le plus compliqué serait de faire le PCB.
Bonne idée de mémoriser en eeprom les touches, sa permet de modifier le code à tour moment, mais il y a un Hic...
Comme le temps de la lecture en EEPROM est trop long, Il faut copier le code en Ram pour l'envoyer.
Et comme le Pic16F84A a :
- 68 Octets de RAM
- 64 Octets d'EEPROM .
Ce qui nous laisse très peu de place pour loger tes (8 boutons + code), mais faisable si ton code ne dépasse pas 4 octets.
C'est parfait un quartz à 4 Mhz, le projet est réalisable.
A+
nondediode a écrit :Source du message J'avais donc pensé utiliser le croisement de 4 lignes 4 colonnes du port B pour obtenir 16 boutons
En réalité on peut obtenir beaucoup plus que cela avec 8 entrées, on pourrait obtenir 254 boutons.
Suffirait de faire un ET logique.
Avec 4 entrées tu peux obtenir 16 touches
B'00000000' ; <--- non compté
B'00000001' ; <--- touche 1
B'00000010' ; <--- touche 2
B'00000011' ; <--- touche 3
B'00000100' ; <--- touche 4
B'00000101' ; <--- touche 5
B'00000110' ; <--- touche 6
B'00000111' ; <--- touche 7
B'00001000' ; <--- touche 8
B'00001001' ; <--- touche 9
B'00001010' ; <--- touche 10
B'00001011' ; <--- touche 11
B'00001100' ; <--- touche 12
B'00001101' ; <--- touche 13
B'00001110' ; <--- touche 15
B'00001111' ; <--- touche 16
A titre d'exemple voici un bout de code pour gérer plusieurs touches
Code : Tout sélectionner
debut ; programme principal
touche1
movfw B'00000001'
andwf PORTB,W
xorlw B'00000001'
btfss STATUS,Z
goto touche2
; traitement
goto debut
touche2
movfw B'00000010'
andwf PORTB,W
xorlw B'00000010'
btfss STATUS,Z
goto touche3
; traitement
goto debut
touche3
movfw B'00000011'
andwf PORTB,W
xorlw B'00000011'
btfss STATUS,Z
goto touche3
; traitement
goto debut
Le plus compliqué serait de faire le PCB.
nondediode a écrit :Source du message J'avais donc pensé utiliser le croisement de 4 lignes 4 colonnes du port B pour obtenir 16 boutons dont chaque bouton serait mémorisée dans la mémoire de l'eeprom.
Bonne idée de mémoriser en eeprom les touches, sa permet de modifier le code à tour moment, mais il y a un Hic...
Comme le temps de la lecture en EEPROM est trop long, Il faut copier le code en Ram pour l'envoyer.
Et comme le Pic16F84A a :
- 68 Octets de RAM
- 64 Octets d'EEPROM .
Ce qui nous laisse très peu de place pour loger tes (8 boutons + code), mais faisable si ton code ne dépasse pas 4 octets.
nondediode a écrit :Source du message Un quartz de 4Mhz
Est-ce possible?
C'est parfait un quartz à 4 Mhz, le projet est réalisable.
A+
Emetteur RC5 8 canaux
-
nondediode
Amateur- Messages : 148
- Enregistré en : novembre 2018
- Localisation : Lyon
Bonjour Temps-X et toute l'équipe.
A vrai dire je dépasserai jamais 16 touches.
C'est juste que derrière j'ai un projet de platine laser haut de gamme avec une cdm4 et un DAC avec un ES9018. Pour ça il me faudra une télécommande capable de gérer tout ça et il y aura forcement bien plus que 8 touches mais moins de 16.
Pour le PCB, je suis équipé du logiciel PROTEUS et ça pose pas de soucis sauf si bien sûr il fallait travailler avec plus que 2 couches, les coût de réalisation serait inabordable.
Penses à jeter un œil sur le sujet "télécommande à 10 canaux" j'ai qq soucis avec le programme et sans lui la télécommande aurait peu d'intérêt.
En te remerciant,
A vrai dire je dépasserai jamais 16 touches.
C'est juste que derrière j'ai un projet de platine laser haut de gamme avec une cdm4 et un DAC avec un ES9018. Pour ça il me faudra une télécommande capable de gérer tout ça et il y aura forcement bien plus que 8 touches mais moins de 16.
Pour le PCB, je suis équipé du logiciel PROTEUS et ça pose pas de soucis sauf si bien sûr il fallait travailler avec plus que 2 couches, les coût de réalisation serait inabordable.
Penses à jeter un œil sur le sujet "télécommande à 10 canaux" j'ai qq soucis avec le programme et sans lui la télécommande aurait peu d'intérêt.
En te remerciant,
Emetteur RC5 8 canaux
-
nondediode
Amateur- Messages : 148
- Enregistré en : novembre 2018
- Localisation : Lyon
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 121 invités