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 : Jérémy
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Bonjour
Les pointeurs:
Les variables sont stockées dans des cases de la zone mémoire RAM voir (définition) la plus petite case fait 8 bits (même pour un 16 bits)chaque case est repérée par un NUMÉRO
0,1,2,3,4,5,etc.......
ainsi si on ecrit dans cette RAM 'FANTASPIC, le F est en 0 le A en 1 le N en 2 etc....
il y a 2 moyens pour accéder a la RAM, aussi bien en écriture ,qu'en lecture, prenons, l'exemple de fantaspic je peux lire comme cela:
Lecture case 0-> affiche le résultat sur le terminal ou LCD peut importe il va afficher F
Lecture case 1 ->affiche le résultat......
Lecture case 2 ->.........
etc c'est ce que l'on appel un accès a la RAM DIRECT ou tu n'as pas d'autre intervenant.
On voit que pour un accès ici c'est assez court est rapide mais imagine 200 cases a lire c'est DUR donc il faut trouver autre chose.
Autre chose c'est le mode indexé
Maintenant si dans la case 20 (au hasard) on écrit, l'adresse, LE NUMÉRO de la 1er case qui contient FANTASPIC, 20 va contenir 0
On peut faire évoluer le contenu de 20, on peut lui dire ton contenu est égale a contenu+1,donc 20 va contenir plus 0 mais 1 on peut continuer comme cela..... 20 est le pointeur sur FANTASPIC et 0 est son index
c'est la que ça se corse un peu toujours pour notre lecture
En mode direct cela nous donne:
-Lecture case 0-> affiche le résultat sur le terminal ou LCD peut importe il va afficher F
En mode indexé donc avec un pointeur 20(0):
-Lecture du CONTENU(1) ET lecture DU CONTENU(2) de la case 20 affiche le résultat sur le terminal ou LCD peut importe il va afficher F
si on décortique:
Lecture contenu de 20 -> on va avoir 0, puis
Lecture contenu de 0 -> c'est la case 0 donc bien F
Reste plus qu'a faire
20(1)->A
ETC.....
POUR résumer 1er temps lecture du pointeur son contenu. Puis dans un 2eme temps lecture de la case du contenu du pointeur on fait 2 lectures IDEM pour l'ecriture
Puis reste plus qu'a modifier l'index pour accéder au reste de FANTASPIC sachant qu'il faut s’arrêter a l'index 8
A+
c'est pas un tuto mais pas loin pourtant
BON.......
si pas compris redemande
Les pointeurs:
Les variables sont stockées dans des cases de la zone mémoire RAM voir (définition) la plus petite case fait 8 bits (même pour un 16 bits)chaque case est repérée par un NUMÉRO
0,1,2,3,4,5,etc.......
ainsi si on ecrit dans cette RAM 'FANTASPIC, le F est en 0 le A en 1 le N en 2 etc....
il y a 2 moyens pour accéder a la RAM, aussi bien en écriture ,qu'en lecture, prenons, l'exemple de fantaspic je peux lire comme cela:
Lecture case 0-> affiche le résultat sur le terminal ou LCD peut importe il va afficher F
Lecture case 1 ->affiche le résultat......
Lecture case 2 ->.........
etc c'est ce que l'on appel un accès a la RAM DIRECT ou tu n'as pas d'autre intervenant.
On voit que pour un accès ici c'est assez court est rapide mais imagine 200 cases a lire c'est DUR donc il faut trouver autre chose.
Autre chose c'est le mode indexé
Maintenant si dans la case 20 (au hasard) on écrit, l'adresse, LE NUMÉRO de la 1er case qui contient FANTASPIC, 20 va contenir 0
On peut faire évoluer le contenu de 20, on peut lui dire ton contenu est égale a contenu+1,donc 20 va contenir plus 0 mais 1 on peut continuer comme cela..... 20 est le pointeur sur FANTASPIC et 0 est son index
c'est la que ça se corse un peu toujours pour notre lecture
En mode direct cela nous donne:
-Lecture case 0-> affiche le résultat sur le terminal ou LCD peut importe il va afficher F
En mode indexé donc avec un pointeur 20(0):
-Lecture du CONTENU(1) ET lecture DU CONTENU(2) de la case 20 affiche le résultat sur le terminal ou LCD peut importe il va afficher F
si on décortique:
Lecture contenu de 20 -> on va avoir 0, puis
Lecture contenu de 0 -> c'est la case 0 donc bien F
Reste plus qu'a faire
20(1)->A
ETC.....
POUR résumer 1er temps lecture du pointeur son contenu. Puis dans un 2eme temps lecture de la case du contenu du pointeur on fait 2 lectures IDEM pour l'ecriture
Puis reste plus qu'a modifier l'index pour accéder au reste de FANTASPIC sachant qu'il faut s’arrêter a l'index 8
A+
c'est pas un tuto mais pas loin pourtant
si pas compris redemande
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Petit rajout me suis planter pour l’écriture
1er temps lecture du pointeur son contenu. Puis dans un 2eme temps ecriture dans la case du contenu du pointeur on fait 1 lecture puis 1 ecriture.
Il va de soi que c'est théorique juste pour que tu comprennes le déroulé.
Sinon nos µC et µP on des registres spéciaux qui font de l'indexe et cela tres rapidement
A+
1er temps lecture du pointeur son contenu. Puis dans un 2eme temps ecriture dans la case du contenu du pointeur on fait 1 lecture puis 1 ecriture.
Il va de soi que c'est théorique juste pour que tu comprennes le déroulé.
Sinon nos µC et µP on des registres spéciaux qui font de l'indexe et cela tres rapidement
A+
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Merci Mai pour ces explications. Je relirais ça a tête reposé. (je suis sur smartphone actuellement) ;).
En faite pour un peux expliquer ma façon de procéder à la base,
Exemple : 15:09:58s
Moi je penser pouvoir récupérer le 8 de 58s via le % et de la dire que si If DixaineSeconde = 8 alors on active le pin de tel led
Mais je pense que je voie les choses trop facilement :s :D
En tout cas merci de tes explications, je vais étudier Sade près. Merci.
@++
En faite pour un peux expliquer ma façon de procéder à la base,
Exemple : 15:09:58s
Moi je penser pouvoir récupérer le 8 de 58s via le % et de la dire que si If DixaineSeconde = 8 alors on active le pin de tel led
Mais je pense que je voie les choses trop facilement :s :D
En tout cas merci de tes explications, je vais étudier Sade près. Merci.
@++
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Oui excuse moi. C'est se que je compter faire, je me suis fait la réflexion :)
@++
@++
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
-
Jérémy

Administrateur du site- Messages : 2750
- Âge : 46
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Son problème en #1 est quel le logiciel de simulation ne fonctionne pas !
Il a réussis à le faire fonctionner en rajoutant le module I2C qui va bien . Son problème de simulation est donc résolu .
Maintenant on peut passer à la conversion et au pointeur.
Il a réussis à le faire fonctionner en rajoutant le module I2C qui va bien . Son problème de simulation est donc résolu .
Maintenant on peut passer à la conversion et au pointeur.
[resolu] DS1307 (RTC) + LCD + PIC 16F877 A
Oui oui, sous simulation j'arrive bien à afficher la date et l'heure sur un LCD. Donc ma question principal de ce post est résolu.
C'était pour essayé de comprendre le fonctionnement du ds1307.
Maintenant il me faut un nouveau topic pour modifier le résultat du ds1307 et le transformer pour le lire en binaire et l'afficher sur une horloge binaire.
@++
C'était pour essayé de comprendre le fonctionnement du ds1307.
Maintenant il me faut un nouveau topic pour modifier le résultat du ds1307 et le transformer pour le lire en binaire et l'afficher sur une horloge binaire.
@++
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités


