Amusez-vous avec PIC Assembly - épisode 23 (3 / 3 étapes)

Étape 3: logiciel

Le lien du logiciel est répertorié ci-dessous. Alors qu’il est visé pour le 12F683, il est facilement porté à plus grandes versions de l’image. Pour la plupart il nécessite un changement des noms comme TRISIO TRISA et GPIO à PORTA. Vous devrez également modifier la ligne qui identifie la version PIC (liste =) et le fichier INCLUDE, mais ceux sont les changements intuitives. La ligne __CONFIG devez également peaufiner tout simplement parce qu’un ou deux des étiquettes utilisées soient orthographiés différemment dans certains des fichiers INCLUDE. Comme nous l’avons vu précédemment, le 16F688 (PIC de 14 broches) peut être utilisé avec les mêmes branchements broches physiques comme le 12F683 si vous voulez plus de broches e/s.

Le logiciel commence par code I2C écrit pour l’interface LCD à l’épisode 22. Dans cet exemple, tous nous inquiète écrivait au serial bus I2C. Avec l’ajout de la RTC et EEPROM, nous disposons d’inclure des fonctionnalités pour la lecture du serial bus I2C. Un I2C lire opération commence par écrire l’adresse du périphérique I2C (nous avons maintenant trois périphériques sur le bus). Qui est suivi en écrivant la mémoire ou enregistrer l’emplacement pour le RTC ou l’EEPROM. À ce moment-là, le PIC passe la ligne SDA pour être une entrée et utilise la ligne SCL à l’horloge de bits de données hors de la RTC ou EEPROM. À la fin de chaque octet reçu, le PIC envoie un accusé de réception au périphérique esclave.

En plus de l’I2C nouvelles routines de lire, il y a beaucoup de routines d’interfacer avec le CCF et l’EEPROM. CCF capacités incluent écrire des données d’initialisation, la lecture des registres temps et lire les registres de température. La température semble être une fonctionnalité bonus mais il manque de précision par rapport aux capteurs de température dédiée. Même si nous avons accès à l’entière et partie fractionnaire de la température, que nous obtenons encore que la précision de +/-3 degrés. En outre, la température n’est pas de l’air ambiant. C’est la température interne de la puce qui sert à compenser l’oscillateur de l’horloge. Le CCF comprend quelques registres autres que les informations de date et l’heure utilisée ici. Ils comprennent quelques alarmes et aussi un registre pour contrôler la fréquence de la sortie de l’onde carrée (SQW) sur le module. Il y a aussi un registre de contrôle qui vous permet de changer de mode de l’heure 24 heures à 12 heures.

Les routines de contrôle just EEPROM lire et écrire des opérations. La taille de la mémoire est de 32 k octets et est organisée en 128 pages, chaque page contenant 256 octets. Cela signifie que l’adresse envoyée à l’EEPROM est deux octets, le premier octet étant la page et le second octet étant l’emplacement dans la page. Dans l’exemple de code, la valeur entière de la température est écrit à l’EEPROM une fois par minute. La température inclut un bit de signe, donc chaque stockage utilise deux emplacements de mémoire parce que, à ce moment-là, la température et le signe ont été convertis en caractères ASCII. Cela fait pour un maximum de points de 16384 données mais, par souci de simplicité, que le nombre est limité à 9999. La façon dont le logiciel est actuellement écrit l’adresse de l’écriture se réinitialise à chaque mise sous tension du PIC. Qui pourrait être modifiée afin que la dernière adresse connue d’écriture est également enregistrée dans la mémoire EEPROM et lire puis retour à l’allumage.

Tel que mentionné dans la section matériel, chacun des deux interrupteurs ne double devoir. Lorsqu’on appuie sur l’interrupteur 1 le logiciel passe en mode de temps d’initialisation. Une fois dans le mode d’initialisation, commutateur 2 échelons à travers les valeurs pour chaque partie de l’heure et la date. Par exemple, vous pouvez basculer à 0-23 pour les heures. Lorsque la valeur désirée est définie pour une option, appuyez sur l’interrupteur 1 se qualifieront pour l’option heure/date suivante. Lorsque toutes les options sont terminées (jour de la semaine est la dernière option) une autre pression sur l’interrupteur 1 provoquera une sortie du mode d’initialisation.

Pendant l’affichage de l’heure/la date normale, la pression de l’interrupteur 2 entraînera le logiciel entrer dans l’EEPROM, le mode lecture. L’écran affiche un compteur sur la ligne 1 qui indique quelle entrée est lu (1-9999) et le nombre total d’entrées ont été entreposées depuis marche. Ligne 2 de l’écran affichera la valeur de température pour cet emplacement de stockage. Chaque pression sur l’interrupteur 1 passeront à la prochaine valeur stockée dans l’EEPROM. Si toutes les valeurs enregistrées ont été lus, l’écran affichera « DONE ». Une pression sur le commutateur 2 sera provoquent la sortie de l’EEPROM, le mode à tout moment pendant le processus de lecture.

Eh bien, c’est tout pour l’épisode 23 « Fun avec PIC Assemblée ». Restez à l’écoute des autres épisodes.

Articles Liés

Amusez-vous avec PIC Assembly - épisode 10

Amusez-vous avec PIC Assembly - épisode 10

Avez-vous déjà pensé d'une excellente solution pour un problème qui n'existe pas ? D'une manière c'est ce que la plupart de ces Instructables PIC ont été tout. Comme je le disais dans le premier, la plupart d'entre eux est des blocs de construction j
Amusez-vous avec PIC Assembly - épisode 3

Amusez-vous avec PIC Assembly - épisode 3

Après que j'avais été jouer avec les photos pendant un certain temps j'ai remarqué que le web était plein de conseils de petite interface qui pourraient faire une variété de tâches intéressantes. Mieux encore, ils étaient moins cher que d'essayer de
Amusez-vous avec PIC Assembly - épisode 24

Amusez-vous avec PIC Assembly - épisode 24

Lorsque j'ai été stationnée à l'étranger au début des années 1970 s il y avait deux choses disponibles à un prix avantageux que vraiment aimé les gars plus militaire : équipement stéréo et des boissons alcoolisées. Non, ce Instructable n'est pas sur
Amusez-vous avec PIC Assembly - épisode 11

Amusez-vous avec PIC Assembly - épisode 11

OK, je ne suis pas vraiment TOC mais je dois avouer que parfois je suis coincé sur un thème. En outre, électronique et logiciel que j'aime faire des choses comme les boiseries et, dernièrement, de cuivre tuyaux yard art. Le problème avec les trucs du
Amusez-vous avec PIC Assembly - Episode 12

Amusez-vous avec PIC Assembly - Episode 12

OK, donc je suis un de ceux qui est heureux quand j'aurai Enfin quelque chose ne fonctionne mais il me ronge si je ne comprends pas les détails de pourquoi ça marche. Tel est le cas avec cet épisode. Le fond est que je travaille sur un petit projet p
Amusez-vous avec PIC Assembly - Episode 1

Amusez-vous avec PIC Assembly - Episode 1

Retour dans les jours anciens, quelle hommes étaient des hommes et disquettes étaient énormes, nous avons programmé les premiers microprocesseurs en langage d'assemblage - et nous l'avons aimé ça. Maintenant que je suis à la retraite, j'ai décidé de
Amusez-vous avec PIC Assembly - Episode 18

Amusez-vous avec PIC Assembly - Episode 18

Mots à la mode et les slogans sont toujours être générés, principalement dans les domaines de la technologie ou de la politique. Dilbert même reçu la tendance avec « Buzzword Bingo » en de la 90. Une des phrases actuellement chauds est « Internet des
Amusez-vous avec PIC Assembly - Episode 22

Amusez-vous avec PIC Assembly - Episode 22

Le dicton est que « la nécessité est la mère de l'invention ». En réalité, cependant, il y a beaucoup de « mères » de l'invention. Mon préféré est « paresse » mais parfois trucs obtient inventé juste parce que c'est un plaisir au défi de comprendre u
Amusez-vous avec PIC Assembly - Episode 20

Amusez-vous avec PIC Assembly - Episode 20

Dans l'Episode 19 que je l'ai mentionné en passant qu'il serait assez facile au port de la conception à la 16F1837 plus moderne que nous avons utilisé dans l'épisode 13 pour l'affichage de graphiques. Qui pourrait nous sortir de devoir copier les cha
Amusez-vous avec PIC Assembly - Episode 16

Amusez-vous avec PIC Assembly - Episode 16

Jusqu'à présent j'ai résisté à ajouter aux millions de projets de "Clignoter une LED" qui sont sur le web. Cela ne veut ne pas dire que je n'ai effectivement pas un projet « Clignoter une LED » quand j'ai commencé à déconner avec le PIC parce qu
Amusez-vous avec PIC Assembly - Episode 17

Amusez-vous avec PIC Assembly - Episode 17

Les mauvais vieux jours chaque compagnie de téléphone avait une interface propriétaire et souvent différentes interfaces pour téléphones différents dans leur gamme de produits. De nos jours, cependant, presque tous les téléphones utilise une interfac
Amusez-vous avec PIC Assembly - Episode 13

Amusez-vous avec PIC Assembly - Episode 13

Il y a quelques mois, j'envisageais de faire un capacimètre à l'aide de la photo. J'ai fait quelques recherches sur le web et vérifié diverses conceptions. Puis j'ai fait l'erreur de vérification d'eBay pour voir combien on coûterait. Les versions mo
Amusez-vous avec PIC Assembly - Episode 8

Amusez-vous avec PIC Assembly - Episode 8

J'ai connu quelques changements intéressants de la température dans ma vie dont un juste il y a quelques années où nous avons mis un record un jour et puis définissez un seuil record le lendemain. La plus intéressante que j'ai vécu était il y a longt
Amusez-vous avec PIC Assembly - Episode 14

Amusez-vous avec PIC Assembly - Episode 14

Comme je le disais dans un précédent épisode, je suis bénévole dans un centre de recyclage à but non lucratif. Pour la plupart, nous fixons les ordinateurs et les écrans LCD, mais dernièrement j'ai pris la tâche d'obtenir certains anciens systèmes de