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

Emetteur RC5 8 canaux
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#11 Message par Temps-x » ven. 11 janv. 2019 01:26

Bonsoir nondediode, et tout le forum,

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... :eek:

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. :wink:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Emetteur RC5 8 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#12 Message par nondediode » ven. 11 janv. 2019 09:19

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,

Emetteur RC5 8 canaux
nondediode
Amateur
Amateur
Messages : 148
Enregistré en : novembre 2018
Localisation : Lyon

#13 Message par nondediode » ven. 11 janv. 2019 09:19

doublon
Modifié en dernier par nondediode le ven. 11 janv. 2019 09:21, modifié 2 fois.


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 44 invités