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
up/down counter BCD 0-99 sur 16f628 ?
- paulfjujo
Expert- Messages : 2841
- Âge : 74
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
Bonjour,
tu peux utiliser MikroC gratuit pour code <2Ko
ce qui doit pouvoir etre le cas pour ton application
ou MPLABX XC8 en plus compliqué ..mais gratuit sans limitation de traille .. mais NON OPTIMISé
elektrax a écrit :bonjour,
vous auriez pu l'écrire avec MikroC(ou autres) , je n'ai pas de compilateur C pour PIC
tu peux utiliser MikroC gratuit pour code <2Ko
ce qui doit pouvoir etre le cas pour ton application
ou MPLABX XC8 en plus compliqué ..mais gratuit sans limitation de traille .. mais NON OPTIMISé
up/down counter BCD 0-99 sur 16f628 ?
Bonsoir elektrax, Gérard, paulfjujo, et tout le forum,
Dans le zip Compte99.zip se trouve le code ASM et le fichier compilé
Quand au autre langage il ne faut pas m'en parler, je trouve personnellement que c'est ballot de prendre autre que ASM ou tout est gratuit.
A+
elektrax a écrit :Source du message si c'est pour me donner le HEX vous auriez pu l'écrire avec MikroC(ou autres)
Dans le zip Compte99.zip se trouve le code ASM et le fichier compilé
Quand au autre langage il ne faut pas m'en parler, je trouve personnellement que c'est ballot de prendre autre que ASM ou tout est gratuit.
A+
up/down counter BCD 0-99 sur 16f628 ?
- Claudius
Passionné- Messages : 261
- Âge : 69
- Enregistré en : septembre 2015
- Localisation : ELANCOURT (78 - YVELINES)
- Contact :
Bonjour,
Pour le pic16f628, c'est sans compter avec notamment SDCC - Small Device C Compiler créé en mars 2007 et qui est toujours mis à jour après 16 ans d'évolution
Ce compilateur C est gratuit pour moultes µC dont naturellement ceux de Microchip PIC14, PIC16 et PIC18 (vérifier les types de µC supportés après téléchargement du compilateur car malheureusement, les nouveaux types de ces familles n'ont pas été accueillis depuis longtemps). Qui plus est, tout le code source est disponible ;-)
Sur ce, je retourne en Assembleur, Langages C et C++ pour ATtiny et ATmega de Microchip où tout est également gratuit avec une communauté très dynamique (humour ;-))
elektrax a écrit :
vous auriez pu l'écrire avec MikroC (ou autres) , je n'ai pas de compilateur C pour PIC [pic16f628]
Temps-x a écrit (ou presque) :
Quant aux autres langages il ne faut pas m'en parler, je trouve personnellement que c'est ballot de prendre d'autres langages que l'ASM où tout est gratuit.
Pour le pic16f628, c'est sans compter avec notamment SDCC - Small Device C Compiler créé en mars 2007 et qui est toujours mis à jour après 16 ans d'évolution
Ce compilateur C est gratuit pour moultes µC dont naturellement ceux de Microchip PIC14, PIC16 et PIC18 (vérifier les types de µC supportés après téléchargement du compilateur car malheureusement, les nouveaux types de ces familles n'ont pas été accueillis depuis longtemps). Qui plus est, tout le code source est disponible ;-)
Sur ce, je retourne en Assembleur, Langages C et C++ pour ATtiny et ATmega de Microchip où tout est également gratuit avec une communauté très dynamique (humour ;-))
Enregistreur de traces GPS & Boussole GPS parlante (PIC & Arduino)
up/down counter BCD 0-99 sur 16f628 ?
bonjour,
SDCC doit etre tres intéressant, merci pour l'info
hardware et asm de TempsX : OK, juste un truc : j'appuie sur le bouton il avance de 1 je relache il avance de 1 aussi, donc il avançait de 2 en 2
soit il manque un delay dans control quelque part, soit ?
j'ai contourné le probleme en augmentant tres fort le delay 10ms, j'ai aussi changé le btfss par btfsc dans le up et down, en laissant le bouton appuyé plus longtemps que le delay il avance de 1 en 1 au rythme du delay, ce n'est pas ultrarapide puisque j'ai augmenté la duree delay, mais c'est parfait pour mon application
augmente duree delay
sans doute mes modifs ne sont pas académiques
encore un grand merci à TempsX
SDCC doit etre tres intéressant, merci pour l'info
hardware et asm de TempsX : OK, juste un truc : j'appuie sur le bouton il avance de 1 je relache il avance de 1 aussi, donc il avançait de 2 en 2
soit il manque un delay dans control quelque part, soit ?
j'ai contourné le probleme en augmentant tres fort le delay 10ms, j'ai aussi changé le btfss par btfsc dans le up et down, en laissant le bouton appuyé plus longtemps que le delay il avance de 1 en 1 au rythme du delay, ce n'est pas ultrarapide puisque j'ai augmenté la duree delay, mais c'est parfait pour mon application
Code : Tout sélectionner
control
btfss PORTA,2 ; tester si l'interrupteur est appuyé niveau logique 0
call up ; interrupteur vers le bas enfoncé
btfss PORTA,3 ; testez si l'interrupteur est appuyé
call down ; interrupteur vers le bas enfoncé
goto control
;************************************ "augmenter la valeur" ************************************
up
btfsc PORTA,2 ;
goto up ;
call _10ms ; anti-rebond
movf compteur,W ;
xorlw D'99'
btfsc STATUS,Z ; tester si la valeur et au maximum
goto repasse_0 ; la valeur maxi et au maximum
incf compteur,F
call trouve_abcd
return
augmente duree delay
Code : Tout sélectionner
10ms
movlw D'206'
movwf loop1
movlw D'200' ; pause
movwf loop2
decfsz loop1,F
goto $+D'2'
decfsz loop2,F
goto $-D'3'
return
sans doute mes modifs ne sont pas académiques
encore un grand merci à TempsX
up/down counter BCD 0-99 sur 16f628 ?
Bonjour elektrax, et tout le forum,
Je vois deux possibilité à ce problème, soit tu as des faux contacts, soit les résistances (10k) de tirage au + ni sont pas ou mal connecté
Regarde bien ton montage, fait nous une photo dessus dessous.
Histoire de voir, supprimes les btfsc, sur les deux boutons up, et down
A+
elektrax a écrit :Source du message j'appuie sur le bouton il avance de 1 je relache il avance de 1 aussi, donc il avançait de 2 en 2
soit il manque un delay dans control quelque part, soit ?
Je vois deux possibilité à ce problème, soit tu as des faux contacts, soit les résistances (10k) de tirage au + ni sont pas ou mal connecté
Regarde bien ton montage, fait nous une photo dessus dessous.
Histoire de voir, supprimes les btfsc, sur les deux boutons up, et down
Code : Tout sélectionner
up
call _10ms ; anti-rebond
movf compteur,W ;
xorlw D'99'
btfsc STATUS,Z ; tester si la valeur et au maximum
goto repasse_0 ; la valeur maxi et au maximum
incf compteur,F
call trouve_abcd
return
A+
up/down counter BCD 0-99 sur 16f628 ?
Bonjour,
ne vous inquiétez pas, avec mes modifs c'est parfait, une photo d'un cablage sur une plaques a pastilles avec des fils qui s'entrecroisent partout vous fera perdre du temps-X inutilement,
sans le btfss (et goto ) dans up et down il compte a la vitesse de 10ms
j'ai photo 308Ko mais je ne peux pas la joindre ?
j'ai fait une courte video du fonctionnement adéquat : sur youtube
tout fonctionne pour moi grand merci
ne vous inquiétez pas, avec mes modifs c'est parfait, une photo d'un cablage sur une plaques a pastilles avec des fils qui s'entrecroisent partout vous fera perdre du temps-X inutilement,
sans le btfss (et goto ) dans up et down il compte a la vitesse de 10ms
j'ai photo 308Ko mais je ne peux pas la joindre ?
j'ai fait une courte video du fonctionnement adéquat : sur youtube
tout fonctionne pour moi grand merci
up/down counter BCD 0-99 sur 16f628 ?
Bonsoir elektrax, et tout le forum,
la pasion de l'électronique c'est magique
A+
elektrax a écrit :Source du message j'ai fait une courte video du fonctionnement adéquat : sur youtube
la pasion de l'électronique c'est magique
A+
up/down counter BCD 0-99 sur 16f628 ?
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité