Amusez-vous avec PIC Assembly - Episode 22 (4 / 4 étapes)

Étape 4: logiciels

Les liens de logiciels sont répertoriées 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. Assurez-vous juste que la photo que vous utilisez a une broche qui permet une entrée d’interruption externe (habituellement appelée EXT). 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 est fondamentalement le même code qui a été écrit pour l’interface LCD de 4 bits à l’épisode 12. Les changements principaux sont dans Comment les octets de données sont de sortie pour l’interface série et dans la façon dont le PIC gère le protocole I2C. Les routines I2C trouvées facilement sur internet, mais, comme pour beaucoup de choses sur l’internet, ils devaient être inspecté pour s’assurer qu’ils ont suivi la spécification. L’une erreur que j’ai trouvé était à la fin de la routine « i2cwaitack » où la broche SDA était en retrait vers une sortie avant la ligne SCL a été abaissé pour achever le cycle d’horloge. Qui pourrait avoir aussi bien le PIC (maître) et le périphérique esclave tente de conduire la ligne SDA en même temps. La routine a évidemment travaillé pour les autres gens, mais qui ne rend pas correct.

Le module I2C a une série de 8-bit de Registre à décalage parallèle construit en pour le raccordement à l’écran LCD. Les définitions du bit sont indiquées dans le diagramme ci-dessus. Les quatre bits supérieurs se connecter pour les lignes de quatre données supérieures sur l’écran LCD, tout comme dans une interface LCD de 4 bits à l’adresse typique. Les quatre bits inférieurs sont reliés aux diverses broches de contrôle sur l’écran LCD. Sur un écran LCD normal interface ces goupilles de contrôle soit serait dur câblé (comme R/W) ou contrôlée par une ligne GPIO sur le PIC. Le contrôle du rétro-éclairage n’aura pas aucun effet pour les nombreux modules LCD parce que le rétro-éclairage est généralement dur câblé pour être sur.

Dans les interfaces LCD normales la ligne enable serait soit basculée en haut, puis de nouveau faible pour causer l’écran LCD pour verrouiller les données. Dans cette application, nous gérons cette transition en envoyant chaque octet deux fois. Le premier envoyé a le jeu activer peu élevé et le deuxième envoi a l’ensemble enable bit faible. Pour une interface normale de 4 bits que nous devons faire deux envoie pour chaque octet car nous envoyons le grignotement supérieur puis le grignotement inférieur. L’écran LCD puis morceaux la deux grignote ensemble en interne. Pour l’I2C application nous finissent par faire quatre envoie pour chaque octet. Type d’inefficace, mais c’est le prix que nous payons pour une interface bifilaire.

Comme j’ai mentionné plus tôt, j’ai fait un petit correctif à la routine « i2cwaitack » que j’ai trouvé en ligne. J’ai aussi ajouté un peu de code à la fin de la routine. Si l’esclave ne parvient pas à reconnaître un transfert du maître alors le logiciel sera réinitialisé en activant le Timer de Dog Watch (WDT). Les puces PIC plus récents ont une commande de réinitialisation logicielle qui peut être utilisée à la place. Une alternative pour certaines applications I2C consisterait à simplement faire un appel à « i2cstop » et puis continuer là où le code laissé.

Eh bien, c’est tout pour l’épisode 22 de « Fun avec PIC Assembly ». Restez à l’écoute des autres épisodes.

Articles Liés

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 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 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 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
Amusez-vous avec PIC Assembly - Episode 7

Amusez-vous avec PIC Assembly - Episode 7

Avez-vous jamais souhaité que vous aviez un réveil qui vous me réveillais toutes les quelques minutes alors que vous pourriez faire quelque chose de rapide et puis se pour rendormir ? Non, moi ou l'autre. Mais dans le monde du microcontrôleur, une te
Amusez-vous avec PIC Assembly - Episode 2

Amusez-vous avec PIC Assembly - Episode 2

Bien Episode 1 a été un succès retentissant parce que quelqu'un d'autre que moi en fait le regarda. Alors allons-y avec l'épisode 2. Dans ce Instructable nous recherchons quelques données réelles d'entrée pour envoyer à l'écran LCD de 1602 que nous a
Amusez-vous avec PIC Assembly - Episode 21

Amusez-vous avec PIC Assembly - Episode 21

Je ne suis pas un voyageur du monde, mais j'ai été à un certain nombre d'endroits qui diffèrent radicalement de température et d'humidité. Je n'aime pas qu'on en dise, « chaleur sèche » ne veut rien dire lorsque le thermomètre est supérieure à 110 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 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 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 15

Amusez-vous avec PIC Assembly - Episode 15

Une de mes récents projets consistait en la construction d'un petit amplificateur 2.1 à l'aide de quelques chips d'amplificateur de puissance TDA que j'ai grappillé d'après un moulage hors circuit électronique. Depuis que je suis en mesure de décider
Amusez-vous avec PIC Assembly - Episode 19

Amusez-vous avec PIC Assembly - Episode 19

Une de mes phrases favorites est « c'est facile si vous savez comment. » Je ne sais pas si j'ai ramassé que quelque part il y a longtemps ou il inventé moi-même, mais il y a beaucoup de vérité en lui. C'est le genre de ce qui s'est passé quand je sui