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
GPIO sur PIC 12F675
GPIO sur PIC 12F675
JJE a écrit :ReBonjour à tous et particulièrement à JMarc
Je n'ai pas l'intention de polémiquer sur ce qu'est un beau programme. Pour moi, c'est un programme qui tient dans l'espace mémoire du PIC retenu, qui y a assez d'espace pour ses variables et qui fait ce que je souhaite .
Cependant, en l'occurrence, mon programme a quelque chose à faire toutes les 500ms. Il ne me parait pas scandaleux de lui faire attendre ce délai à ne rien faire, laissant à une autre partie le soin de compter le temps. Du moment que, dans la routine d'IT du Timer0 je ne risque pas d'en perdre, je ne vois pas le problème, surtout que ce programme ne traite aucune autre IT.
Cordialement
Alors la entièrement d'accord du moment que tu te fais plaisir et que tu t'y retrouves
Mais avec celle d'ecrite par adede500 est une bonne base si ton programme doit évoluer ou pour ma part sert de témoin dans tout mes programmes. Je peut varier la fréquence de clignotement facilement et finira sûrement dans le tuto de Temps-X sur tmr0
GPIO sur PIC 12F675
Bonjour à tous, en particulier à JMarc et adede500. mon projet a besoin d'une précision supérieure à ce que propose adede500. Avec sa méthode l'IT est appelée toutes les 128*256 = 32768 instructions ce qui n'est pas un nombre très "rond" mais certainement très suffisant pour la plupart des utilisations, encore mieux avec la suggestion apportée par JMarc.
J'ai codé beaucoup plus compliqué mais ce code assure un appel toutes les 1000 instructions soit, à 4MH toutes les 1ms dont j'avais besoin (cf commentaires du source).
J'ai codé beaucoup plus compliqué mais ce code assure un appel toutes les 1000 instructions soit, à 4MH toutes les 1ms dont j'avais besoin (cf commentaires du source).
GPIO sur PIC 12F675
-
adede5000
Débutant- Messages : 62
- Âge : 60
- Enregistré en : août 2017
- Localisation : Sart Saint Laurent (BE)
Bonjour,
Voici un bon moyen pour créer une tempo : http://www.piclist.com/techref/piclist/codegen/delay.htm
A moins que tu conaisses déjà
Voici un bon moyen pour créer une tempo : http://www.piclist.com/techref/piclist/codegen/delay.htm
A moins que tu conaisses déjà
GPIO sur PIC 12F675
Bonjour adede5000, JJE, JMarc, et tous le forum,
Voir plutôt celle que j'ai mis dans mon tutoriel, qui s'appelle PIC_Delay, compatible pour 16F, et 18F, personnellement je trouve
ce programme génial, trois langue son disponible Ruse, Anglais, Français qui à été traduit avec un collègue.
Disponible sur Fantas-Pic : viewtopic.php?p=6621#p6621
A+
Voir plutôt celle que j'ai mis dans mon tutoriel, qui s'appelle PIC_Delay, compatible pour 16F, et 18F, personnellement je trouve
ce programme génial, trois langue son disponible Ruse, Anglais, Français qui à été traduit avec un collègue.
Disponible sur Fantas-Pic : viewtopic.php?p=6621#p6621
A+
Modifié en dernier par Temps-x le sam. 25 nov. 2017 17:57, modifié 2 fois.
GPIO sur PIC 12F675
GPIO sur PIC 12F675
Bonsoir adede5000, JJE, JMarc, et tous le forum,
Voici un exemple que j'ai réalisé, avec des temps extrêmement précis, avec la source ASM.
J'ai utilisé un quartz 4Mhz, mais javais presque la même précision avec l'horloge interne.
viewtopic.php?p=4945#p4945
A+
Voici un exemple que j'ai réalisé, avec des temps extrêmement précis, avec la source ASM.
J'ai utilisé un quartz 4Mhz, mais javais presque la même précision avec l'horloge interne.
viewtopic.php?p=4945#p4945
A+
GPIO sur PIC 12F675
Bonjour à tous, en particulier à Temps-x
Au début de ce sujet, tu m'avais incité, à juste titre, à ne pas oublier
Sans en être totalement certain, je crois que j'avais subi un échec, plus rien ne marchait, ce qui m'avait incité à changer de Pic, pour un autre 12F675 que j'avais en stock ce qui avait résolu mon problème. J'avais conclu à un défaut du premier Pic mais ...
Ce matin, avec ce deuxième Pic, si je ne mets pas ces instructions en remarque, c'est l'échec.
Est-il possible de vérifier le contenu de l'@ 3FF, on devrait y trouver un retlw quelconque ? Comment aurait-il pu être effacé ?
Est-il possible de le réécrire et comment évaluer la valeur à retourner ?
Au début de ce sujet, tu m'avais incité, à juste titre, à ne pas oublier
Code : Tout sélectionner
call 3FFh
movwf OSCCAL
Sans en être totalement certain, je crois que j'avais subi un échec, plus rien ne marchait, ce qui m'avait incité à changer de Pic, pour un autre 12F675 que j'avais en stock ce qui avait résolu mon problème. J'avais conclu à un défaut du premier Pic mais ...
Ce matin, avec ce deuxième Pic, si je ne mets pas ces instructions en remarque, c'est l'échec.
Est-il possible de vérifier le contenu de l'@ 3FF, on devrait y trouver un retlw quelconque ? Comment aurait-il pu être effacé ?
Est-il possible de le réécrire et comment évaluer la valeur à retourner ?
GPIO sur PIC 12F675
Bonjour JJE,et tous le forum,
Je viens de voir ce post, excuser moi je répondre avec du retard,
Avant de programmer la série 12F pour une première fois, il est conseillé de le lire, pour récupérer la valeur OSCCAL, qui normalement
est stockée à H'3FFF', et de l’inscrire par exemple sous le dessous du pic.
Certain programmeur efface tous, mais parfois ça vient du code en lui même.
Les Pic de la série 12F possèdent un oscillateur interne de type RC régulé en tension et température, mais dont la valeur précise
ne peut être obtenue qu'en ajoutant quelques instructions pour lire un byte situé en fin de mémoire programme à l'adresse H'3FF'
Ce byte spécifique à chaque Pic à été écrit par le fabricant MICROCHIP lors des essais en production et permet d'affecter
la bonne valeur de 4MHz à l'oscillateur par ces quelques instructions.
Oui, il y a bien des techniques, mais beaucoup de manipulation à faire, votre Pic n'est pas abimé, mais il lui manque
cette valeur.
On pourrait écrire un petit programme, qui sauvegarderais la valeur OSCCAL dans l'éeprom, au retour du CALL car
cette valeur se trouve dans W(registre 8 bits), qui est copier ensuite dans OSCCAL
Mais le hic de l'histoire, c'est qu'il faut réusir à le programmer, est ça, c'est pas gagné.
A+
Est-il possible de vérifier le contenu de l'@ 3FF, on devrait y trouver un retlw
Je viens de voir ce post, excuser moi je répondre avec du retard,
Avant de programmer la série 12F pour une première fois, il est conseillé de le lire, pour récupérer la valeur OSCCAL, qui normalement
est stockée à H'3FFF', et de l’inscrire par exemple sous le dessous du pic.
Comment aurait-il pu être effacé ?
Certain programmeur efface tous, mais parfois ça vient du code en lui même.
Les Pic de la série 12F possèdent un oscillateur interne de type RC régulé en tension et température, mais dont la valeur précise
ne peut être obtenue qu'en ajoutant quelques instructions pour lire un byte situé en fin de mémoire programme à l'adresse H'3FF'
Ce byte spécifique à chaque Pic à été écrit par le fabricant MICROCHIP lors des essais en production et permet d'affecter
la bonne valeur de 4MHz à l'oscillateur par ces quelques instructions.
Est-il possible de le réécrire et comment évaluer la valeur à retourner ?
Oui, il y a bien des techniques, mais beaucoup de manipulation à faire, votre Pic n'est pas abimé, mais il lui manque
cette valeur.
On pourrait écrire un petit programme, qui sauvegarderais la valeur OSCCAL dans l'éeprom, au retour du CALL car
cette valeur se trouve dans W(registre 8 bits), qui est copier ensuite dans OSCCAL
Code : Tout sélectionner
BANKSEL OSCCAL ; passer en bank 1
call H'3FF' ; va chercher la valeur qui se trouve à H'3FF'
movwf OSCCAL ; Au retour la valeur se trouve dans W, puis copié dans OSCCAL
Mais le hic de l'histoire, c'est qu'il faut réusir à le programmer, est ça, c'est pas gagné.
A+
GPIO sur PIC 12F675
Bonjour Temps-x,
Je pensais bien tomber sur une difficulté sérieuse mais, vu le prix de 12F675, ça n'a pas une grande importance, je vais garder ce pic pour des projets qui ne nécessitent pas une grande précision dans le temps. Je vais recevoir quelques 12F675 neufs, je vais pouvoir confirmer.
Je pensais bien tomber sur une difficulté sérieuse mais, vu le prix de 12F675, ça n'a pas une grande importance, je vais garder ce pic pour des projets qui ne nécessitent pas une grande précision dans le temps. Je vais recevoir quelques 12F675 neufs, je vais pouvoir confirmer.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 48 invités