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
Allumer une LED avec boutton poussoir
Allumer une LED avec boutton poussoir
Allumer une LED avec boutton poussoir
Bonjour, tu trouvera ce que tu cherches ici : https://www.abcelectronique.com/bigonof ... ?par=1b4eb
Bonne lecture.
Bonne lecture.
Allumer une LED avec boutton poussoir
Allumer une LED avec boutton poussoir
Bonjour à tous et à toutes,
Hum...., Je rejoins ce que dit pspic, c'est pourtant simple, comme on n'est pas loin de Noël je te donne la réponse,
fait un effort et essai de lire le chapitre 1 de Bigonoff.
Tu as de la chance d'être sur un forum ou il y a des gens sympa, sur d'autre forum que je ne citerais pas, il t'aurait dit de revoir ta leçon.
Tu aurais pu faire un schéma, si c'est pas trop te demander, le bouton se trouve sur le RA0 et la sortie sur RB0
Utilisation d'un Quartz de 4Mhz, à revoir la temporisation si autre quartz utilisé
Normalement si j'ai pas fait d'erreur, si tu appuis une fois la LED s'allume, si tu appuis une deuxième fois la led s'éteint.
Utiliser le PORTB comme sortie n'est pas très judicieux, si tu avais fait l'inverse tu aurais économisé une résistance.
A+
Hum...., Je rejoins ce que dit pspic, c'est pourtant simple, comme on n'est pas loin de Noël je te donne la réponse,
fait un effort et essai de lire le chapitre 1 de Bigonoff.
Tu as de la chance d'être sur un forum ou il y a des gens sympa, sur d'autre forum que je ne citerais pas, il t'aurait dit de revoir ta leçon.
Tu aurais pu faire un schéma, si c'est pas trop te demander, le bouton se trouve sur le RA0 et la sortie sur RB0
Utilisation d'un Quartz de 4Mhz, à revoir la temporisation si autre quartz utilisé
Code : Tout sélectionner
; quartz de 4 méga hertz
;**************************** déclaration du processeur utilisé *******************************
Errorlevel-302 ; Supprime le message "Ensure that bank bits are correct"
LIST p=16F84A
#include <p16F84a.inc>
;***************** selection, code protection, timer reset, watch-dog, oscillateur ************
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC
;******************************** déclaration des variable ************************************
CBLOCK 0x0C
loop1 :1
loop2 :1
ENDC
;**************************** adresse de depart après reset ***********************************
ORG H'00'
goto debut
debut
BANKSEL OPTION_REG ; passage en bank1
;****************************** on initialise OPTION_REG ************************************
movlw B'10000000' ; b7 = 1 résistances hors service
movwf OPTION_REG
movlw B'11111111' ; entrée patte 17(RA0),18(RA1),1(RA2),2(RA3),3(RA4)
movwf TRISA ;
;
movlw B'00000000' ; sortie 6(RB0), 7(RB1), 8(RB2), 9(RB3), 10(RB4), 11(RB5), 12(RB6), 13(RB7)
movwf TRISB
;****************************** on coupe toutes les interruptions ****************************
bcf INTCON,GIE ; on interdit toutes les interruptions
;****************************** configure les ports pour les réglages ************************
BANKSEL PORTA ; passage en bank0
clrf PORTA
clrf PORTB
remonte
btfss PORTA,0
goto traitement
confirmer
btfsc PORTA,0
goto confirmer ; confirmer que le bouton est bien relâché
call _10ms ; anti rebond
btfsc PORTB,0
goto eteint
goto allumer
eteint
bcf PORTB,0 ; éteindre RB0
goto traitement
allumer
bsf PORTB,0 ; allumer RB0
goto traitement
traitement
; début d'autre routine
goto remonte
;**********************************************************************************************
_10ms
movlw D'251'
movwf loop1
movlw D'13'
movwf loop2
decfsz loop1,F
goto $-D'1'
decfsz loop2,F
goto $-D'3'
return
End
Normalement si j'ai pas fait d'erreur, si tu appuis une fois la LED s'allume, si tu appuis une deuxième fois la led s'éteint.
Utiliser le PORTB comme sortie n'est pas très judicieux, si tu avais fait l'inverse tu aurais économisé une résistance.
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Allumer une LED avec boutton poussoir
Bonsoir,
Je ne suis pas dans ma section favorite, (mais cela ne m’empêche pas de venir voir ce qui s'y passe )
@Temps-x
Que veut tu dire par :
???
@++
Je ne suis pas dans ma section favorite, (mais cela ne m’empêche pas de venir voir ce qui s'y passe )
@Temps-x
Que veut tu dire par :
Temps-x a écrit :Utiliser le PORTB comme sortie n'est pas très judicieux, si tu avais fait l'inverse tu aurais économisé une résistance.
???
@++
Allumer une LED avec boutton poussoir
Bonsoir venom, et tout le forum,
Ne t’inquiète pas, je viens aussi dans ta section pour y voir ce qui s'y passe
Dans la plupart des Pic (voir avec le datasheet)
Il existe 8 résistances à l'intérieur du pic, quand peut activer, ou désactiver, pour la plupart des pic elle se trouve sur le PORTB
Pour mettre en fonction les résistances on utilisera le registre prévu pour cela, pour activer les résistances pour le Pic16F84A
c'est le registre OPTION_REG du bit 7 qu'il faut mettre à zéro.
Ce qui donne
C'est pour cela qu'il est préférable de garder tout le PORTB en entrée, quand on a une série de bouton à gérer ça t'économise
8 résistances.
Ce qui donne
De plus il y aura aucune gêne pour y mettre les pattes de programmation qui se trouve en général sur RB6 et RB7
Mais attention
Car le gros problème de ce Pic et avec d'autre, c'est que tu ne peux pas paramétrer chaque patte indépendamment, donc si tu actives
les résistances tu te retrouves avec des entrées positives sur tout le PORTB
Tu vas me dire, ben c'est pas grave
Pas pour celui là car il ne possède pas de convertisseur analogique, mais pour certain pic qui on un convertisseur analogique sur le
PORTB ça devient gênant, car il se retrouve avec un convertisseur inverser, si ses résistances sont activés.
Je te laisse imaginé les heures de recherche pour y trouver le bug, qui en réalité n'en ai pas.
Certain Pic comme par exemple le Pic18F26K22, Pic18F46k22 ont des pattes configurables indépendante sur le PORTB
Conclusion, il faut bien choisir son pic avant d'attaquer un projet.
A+
venom a écrit :Source du message Je ne suis pas dans ma section favorite, (mais cela ne m’empêche pas de venir voir ce qui s'y passe )
Ne t’inquiète pas, je viens aussi dans ta section pour y voir ce qui s'y passe
venom a écrit :Source du message Que veut tu dire par :
Dans la plupart des Pic (voir avec le datasheet)
Il existe 8 résistances à l'intérieur du pic, quand peut activer, ou désactiver, pour la plupart des pic elle se trouve sur le PORTB
Pour mettre en fonction les résistances on utilisera le registre prévu pour cela, pour activer les résistances pour le Pic16F84A
c'est le registre OPTION_REG du bit 7 qu'il faut mettre à zéro.
Ce qui donne
Code : Tout sélectionner
movlw B'00000000' ; b7 = 0 résistances en service
movwf OPTION_REG
C'est pour cela qu'il est préférable de garder tout le PORTB en entrée, quand on a une série de bouton à gérer ça t'économise
8 résistances.
Ce qui donne
De plus il y aura aucune gêne pour y mettre les pattes de programmation qui se trouve en général sur RB6 et RB7
Mais attention
Car le gros problème de ce Pic et avec d'autre, c'est que tu ne peux pas paramétrer chaque patte indépendamment, donc si tu actives
les résistances tu te retrouves avec des entrées positives sur tout le PORTB
Tu vas me dire, ben c'est pas grave
Pas pour celui là car il ne possède pas de convertisseur analogique, mais pour certain pic qui on un convertisseur analogique sur le
PORTB ça devient gênant, car il se retrouve avec un convertisseur inverser, si ses résistances sont activés.
Je te laisse imaginé les heures de recherche pour y trouver le bug, qui en réalité n'en ai pas.
Certain Pic comme par exemple le Pic18F26K22, Pic18F46k22 ont des pattes configurables indépendante sur le PORTB
Conclusion, il faut bien choisir son pic avant d'attaquer un projet.
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Temps-x le dim. 16 déc. 2018 11:49, modifié 1 fois.
Allumer une LED avec boutton poussoir
Allumer une LED avec boutton poussoir
Bonjour Gérard, venom, et tout le forum,
D'accord avec toi, mais c'est plus rapide sans, et évite les trous à la perceuse pour résistance classique, sinon coté CMS tu connais
le problème, pas facile à souder, mais en y arrive avec de la patience.
Tu vois venom il y a pas que toi qui vient en section ASM, même Gérard vient nous voir.
A+
Gérard a écrit :Source du message une résistance CMS ne prend pas beaucoup de place et son coût est dérisoire
D'accord avec toi, mais c'est plus rapide sans, et évite les trous à la perceuse pour résistance classique, sinon coté CMS tu connais
le problème, pas facile à souder, mais en y arrive avec de la patience.
Tu vois venom il y a pas que toi qui vient en section ASM, même Gérard vient nous voir.
A+
Modifié en dernier par Temps-x le dim. 16 déc. 2018 19:24, modifié 1 fois.
Allumer une LED avec boutton poussoir
Bonjour Temps-X et bonjour à tous.
Merci pour ces explications, je ne savais pas que certain pic embarquée des résistances. C'est bon a savoir
En effet, je vois que c'est porte ouverte à tous il
@++
Merci pour ces explications, je ne savais pas que certain pic embarquée des résistances. C'est bon a savoir
En effet, je vois que c'est porte ouverte à tous il
@++
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 56 invités